コインベース抽選
コインベース抽選は、ZooBC がノードに報酬を支払う仕組みです。新たに放出されたコイン、ブロックの手数料、ロンジェビティプールの一部から成る各ブロックの報酬プールは等しい取り分に分割され、各取り分は登録済みノードの間で、参加スコアに比例する確率で抽選されます。ブロックを作ったノードに特別な権利はありません。ノードは、スコアが測る仕事をすることで稼ぎます。
報酬プール
各ブロックの報酬プールは次のものの合計です。
- そのブロックのコインベース。発行スケジュールがそのブロックに対して放出する新しい ZBC です(供給量と発行)。
- そのブロックのトランザクションの手数料から、送信者に返金された超過分を差し引いたもの(手数料)。
- レントとペナルティを集め、すべてのブロックで少しずつ支払うロンジェビティプールの一部(プール)。
チケットを持つノード
チケット保有者とは、成熟していて、欠席中でも一時停止中でもない登録済みノードです。
- 成熟している。 新しいノードは、加入から 4 スコア単位が経過し、自分のブロックを 1 つ作るまで何も稼げません。チェーンのノード数が 2,880 未満の間は 2 日です(成熟と収入)。
- 欠席中でない。 番を飛ばしたノードは次に自分のブロックを作るまで欠席状態とみなされ、その間は何も稼げません(逃した番、一時停止、除名)。
- 一時停止中でない。 4 回連続で番を逃して一時停止されたノードはチケットを持ちません。
まだキューで待機中のノードもスコアがなく、チケットを持ちません。
抽選
プールは何回かの抽選で分配されます。
- ブロック時間 1 秒につき 1 回の抽選です。ブロック時間は直前の 2 つのブロックの間隔で測られ、そのブロックの生成者はそれを選べません。
- 抽選は最大 600 回で、チケット保有者の数を超えることはありません。
- プールが抽選 1 回あたり 1 ZBC を超える額を持つ場合、回数は同じ 2 つの上限の範囲内で、プール内の 1 ZBC ごとに 1 回まで増えます。
したがって、チケット保有者が 11 のチェーンでは、抽選はブロックごとに 15 回ではなく 11 回です。チケット保有者が 1,000、間隔が 15 秒、プールが 30 ZBC の場合、回数は 15 回から始まり、それでは抽選 1 回あたり 2 ZBC になるため、30 回に増えます。
各回の抽選は等しい取り分を獲得します。取り分はプールを抽選回数で割り、アトミック単位に切り捨てたもので、端数は最後の取り分に加えられます。当選分はノード鍵ではなく、ノードのオーナーアカウントに支払われます(ノードの鍵)。
確率はスコアに従う
各回の抽選は、参加スコアに比例する確率でノードを選びます。チケット保有者が 2 つで、スコアが 80 % と 40 % なら、前者はどの抽選でも後者の 2 倍当たりやすく、後者もどの抽選にも当たりえます。各抽選は独立した復元抽出なので、1 つのノードが同じブロックで複数の取り分を獲得することもあります。
乱数は、ラベル zbc-coinbase と直前のブロックのシードで初期化された生成器から得られるため(ブロックシード(VRF))、すべてのノードが同じ当選者を計算し、すべての支払いを確認できます。
長期的には、ノードの期待収入は、すべてのチケット保有者のスコア合計に対するそのノードのスコアの割合になります。ステークは関係しません。ステークはノードをキューに入れるだけで、それ自体は何も稼ぎません。
特別な場合
- 重み付けできるスコアを持つチケット保有者がいない場合、プールはチケット保有者の間で均等に分割されます。
- チケットを持つノードがない場合、プールは次のブロックに繰り越されます。
- マーケットのテイカー手数料はプールに含まれません。それはブロックの生成者に渡り、抽選ではなく生成者に支払われる唯一の料金です。その生成者がまだ成熟していない場合、テイカー手数料は代わりに抽選に回ります(マーケットと注文)。
報われるもの
スコアは、割り当てられたピアに中継したデータのレシートをノード自身のブロックが運ぶと上がり、ノードが欠席している間は下がります(参加スコア)。抽選はスコアに従い、欠席中や一時停止中のノードはチケットをまったく持たないため、収入はブロックを作り続け、データを中継し続けるノードに渡ります。ステークを持っているだけのノードは何も稼ぎません。