Blocca il calcolo della ricompensa in Babylon
2 risposta
- voti
-
- 2019-10-28
Laformulaesatta utilizzatain Babylonpuòesseretrovata qui:
https://gitlab.com/tezos/tezos/blob/mainnet/src/proto_005_PsBabyM1/lib_protocol/baking.ml#L190
Sitratta di:
((16.000.000 * (8 + 2 *e/32))/10)/(1 +p)
Manota che queste sono divisioni intere ,quindi,neltuoesempio:
8 + 2 * 26/32=8 + 52/32=8 + 1 =9
16.000.000 μꜩ * 9=144.000.000 μꜩ
144000000 μꜩ/10=14400000 μꜩ=14,4 ꜩ
Modifica: questofeedbackproviene dalgruppo TG degli sviluppatori Tezos.Puoi visualizzare questofoglio di calcoloper comprenderemeglioil calcolo deipremi diblocco: https://files.fm/u/hb5eazkk
The exact formula used in Babylon can be found here:
https://gitlab.com/tezos/tezos/blob/mainnet/src/proto_005_PsBabyM1/lib_protocol/baking.ml#L190
This comes to:
((16 000 000 * (8 + 2 * e / 32)) / 10) / (1 + p)
But note that these are integer divisions, hence, in your example:
8 + 2 * 26 / 32 = 8 + 52 / 32 = 8 + 1 = 9
16 000 000 μꜩ * 9 = 144 000 000 μꜩ
144 000 000 μꜩ / 10 = 14 400 000 μꜩ = 14.4 ꜩ
Edit: This feedback is from the Tezos developers TG group. You can view this spreadsheet to better understand the calculation of block rewards: https://files.fm/u/hb5eazkk
-
Laformula corretta dovrebbeessereCorrect formula ought to be
- 0
- 2019-10-28
- Arthur B
-
(16.000.000 * (256 + 2 *e))/(320 * (1 +p))(16 000 000 * (256 + 2 * e)) / (320 * (1 + p))
- 1
- 2019-10-28
- Arthur B
-
Grazie!Potresti aggiungerefonti/riferimenti a una descrizionee implementazione?Thanks! Could you please add sources/reference to some description and implementation ?
- 0
- 2019-10-28
- Ezy
-
- 2019-10-28
Questo è unbugin babylon causato dall'utilizzo di una divisioneinterain unaposizione sbagliatae verrà correttonellaprossimaproposta.
Per orapuoi utilizzare la seguenteformulaper calcolarei premi:
Laformula è:((16 000 000 * (8 + floor(2 * e / 32))) / 10) / (1 + p)
Ulterioriinformazioni: https://twitter.com/iguerDUNE/status/1184095825296871425This is a bug in babylon caused by using an integer division in a wrong place and will be fixed in the next proposal.
For now you can use the following formula to calculate the rewards :
The formula is :((16 000 000 * (8 + floor(2 * e / 32))) / 10) / (1 + p)
More info : https://twitter.com/iguerDUNE/status/1184095825296871425-
Grazie!Potrestefornire dellefonti?Contesto?Implementazioneecc?Thanks! Could you please provide sources ? Context ? Implementation etc ?
- 0
- 2019-10-28
- Ezy
-
Questo èin realtà unbugin Babylon.non dovrebbeesserci lafunzionefloor,ma hanno usato una divisioneintera che ha causato questo comportamento. Questo verrà risoltonellaprossimaproposta.This is actually a bug in babylon. there should not be the floor function, but they used an integer division which has caused this behavior. This will be fixed in the next proposal.
- 0
- 2019-10-28
- FiFtHeLeMeNt
-
Sì,quindi sarebbefantastico sepotessi contestualizzare la rispostae fornirepiùinformazioni,collegamentiecc. Inmodo chetuttipossano capireYes so it would be great if you could contextualize the answer, and provide more infos, links etc so that everyone can understand
- 0
- 2019-10-28
- Ezy
-
Hofornitomaggioriinformazioni :)I provided more info :)
- 0
- 2019-10-28
- FiFtHeLeMeNt
-
Ciao questanon è un'informazione ufficiale.Sarebbepossibilefare riferimento a un documento ufficiale omagari all'implementazione?Hi this is not official info. Would it be possible you refer to official doc or implementation maybe ?
- 0
- 2019-10-28
- Ezy
Sembra che ci sia unbugnel calcolo della ricompensa delbloccoin Babylon.
Adesempio,nelblocco 664451 c'erano 26 approvazioni.Quindi la ricompensa dovrebbeessere
16 * (0.8 + 0.2 * 26 / 32) = 15.4 XTZ
( source ).Mailpanettiere ha ottenuto 14,4 XTZ.Qualcunopuò spiegare come vieneeffettivamente calcolatoilpremioe perchéesiste una discrepanzatra l'importoprevistoe ilpremioeffettivo?