バビロンでのブロック報酬の計算
2 回答
- 投票
-
- 2019-10-28
バビロンで使用されている正確な式はここにあります:
https://gitlab.com/tezos/tezos/blob/mainnet/src/proto_005_PsBabyM1/lib_protocol/baking.ml#L190
これは次のようになります:
((16 000 000 *(8 + 2 *e/32))/10)/(1 +p)
ただし、これらは整数の区分であるため、例では次のようになります.
8 + 2 * 26/32=8 + 52/32=8 + 1 =9
160000000μꜩ* 9=144000000μꜩ
1440000000μꜩ/10=14400000μꜩ=14.4ꜩ
編集:このフィードバックは、Tezos開発者TGグループからのものです.このスプレッドシートを表示して、ブロック報酬の計算をよりよく理解できます. 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
-
正しい式はCorrect 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
-
ありがとう!説明と実装にソース/参照を追加していただけますか?Thanks! Could you please add sources/reference to some description and implementation ?
- 0
- 2019-10-28
- Ezy
-
- 2019-10-28
これは、間違った場所で整数除算を使用することによって引き起こされるバビロンのバグであり、次の提案で修正される予定です.
今のところ、次の式を使用して報酬を計算できます:
式は次のとおりです.((16 000 000 * (8 + floor(2 * e / 32))) / 10) / (1 + p)
詳細: 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-
ありがとう!ソースを教えていただけますか?環境?実装など?Thanks! Could you please provide sources ? Context ? Implementation etc ?
- 0
- 2019-10-28
- Ezy
-
これは実際にはバビロンのバグです.床関数があるべきではありませんが、この動作を引き起こした整数除算を使用していました. これは次の提案で修正される予定です.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
-
はい、そうです.答えを文脈化して、誰もが理解できるように、より多くの情報やリンクなどを提供できれば素晴らしいと思います.Yes 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
-
私はより多くの情報を提供しました:)I provided more info :)
- 0
- 2019-10-28
- FiFtHeLeMeNt
-
こんにちはこれは公式情報ではありません.公式のドキュメントや実装を参照することは可能でしょうか?Hi this is not official info. Would it be possible you refer to official doc or implementation maybe ?
- 0
- 2019-10-28
- Ezy
バビロンのブロック報酬計算にバグがあるようです.
たとえば、ブロック664451には26の承認がありました.したがって、報酬は
16 * (0.8 + 0.2 * 26 / 32) = 15.4 XTZ
(ソース).しかし、パン屋は14.4XTZを得ました.報酬が実際にどのように計算されるのか、そしてなぜ期待額と実際の報酬の間に不一致があるのかを誰かが説明できますか?