Bloquear el cálculo de recompensas en Babylon
2 respuestas
- votos
-
- 2019-10-28
Lafórmulaexacta utilizadaen Babylon sepuedeencontrar aquí:
https://gitlab.com/tezos/tezos/blob/mainnet/src/proto_005_PsBabyM1/lib_protocol/baking.ml#L190
Esto llega a:
((16 000 000 * (8 + 2 *e/32))/10)/(1 +p)
Perotengaen cuenta queestas son divisiones enteras ,por lotanto,en suejemplo:
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 ꜩ
Editar:este comentarioes delgrupo TG de desarrolladores de Tezos.Puede veresta hoja de cálculopara comprendermejorel cálculo de las recompensasen bloque: 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
-
Lafórmula correcta debería serCorrect 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
-
¡Gracias!¿Podría agregarfuentes/referencias a alguna descripcióne implementación?Thanks! Could you please add sources/reference to some description and implementation ?
- 0
- 2019-10-28
- Ezy
-
- 2019-10-28
Estees unerroren Babilonia causadoporel uso de una división deenterosen un lugarincorrecto y se solucionaráen lapróximapropuesta.
Por ahora,puede utilizar la siguientefórmulapara calcular las recompensas:
Lafórmulaes:((16 000 000 * (8 + floor(2 * e / 32))) / 10) / (1 + p)
Másinformación: 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-
¡Gracias!¿Podríaproporcionarfuentes?Contexto?Implementación,etc.Thanks! Could you please provide sources ? Context ? Implementation etc ?
- 0
- 2019-10-28
- Ezy
-
En realidad,estoes unerroren Babilonia.no deberíaexistir lafunción depiso,pero usaron una divisiónentera que ha causadoeste comportamiento. Esto se solucionaráen lapróximapropuesta.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í,así que seríagenial sipudiera contextualizar la respuesta yproporcionarmásinformación,enlaces,etc.para quetodospuedanentenderYes 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
-
Proporcionémásinformación :)I provided more info :)
- 0
- 2019-10-28
- FiFtHeLeMeNt
-
Hola,estanoesinformación oficial.¿Seríaposible que se refiera al documento oficial o laimplementacióntal vez?Hi this is not official info. Would it be possible you refer to official doc or implementation maybe ?
- 0
- 2019-10-28
- Ezy
Parece que hay unerroren el cálculo de la recompensaporbloqueen Babylon.
Porejemplo,en elbloque 664451 hubo 26endosos.Por lotanto,la recompensa debe ser
16 * (0.8 + 0.2 * 26 / 32) = 15.4 XTZ
(fuente ).Peroelpanadero obtuvo 14,4 XTZ.¿Alguienpuedeexplicar cómo se calcula realmente la recompensa ypor qué hay una discrepanciaentre la cantidadesperada y la recompensa real?