ZooBC ウィキ
Proof of Participation

参加スコア

参加スコアは、登録済みノードがどれだけよく仕事をしているかを測る ZooBC の尺度です。0 から 100 % までの範囲を取り、すべてのノードは 20 % から始まります。データの中継で獲得したレシートをノード自身のブロックが運ぶと上がり、番を飛ばした後の欠席中には下がります。スコアは新しい ZBC を分配するコインベース抽選におけるノードの確率を決め、スコアがゼロになったノードは席を失います。ブロックを作るのが誰かは変えません。

スケール

内部的には、スコアは 0 から 10^13 までの整数で、0 から 100 % として表示されます。すべてのノードはジェネシス席も含めて既定値の 2 × 10^12、つまり 20 % から始まります。キューで待機中のノードにはスコアがなく、加入時に既定値が書き込まれます。スコアはすべてのノードがチェーン自体から計算します。ユーザーによる評価ではなく、ステークでもありません。

上がり方:ノード自身のブロックに含まれるレシート

中継で得られるのはレシートであって、スコアではありません。スコアが動くのはノードの番が来たときです。ノードは自分が作るブロックに、獲得したレシートのサンプルを公開し、すべてのバリデーターがそれを確認します。提示されたレシートの数はピボットと比較されます。

pivot = floor(min(|S| − 1, P) / 2)

ここで S は抽選集合(一時停止中でないアクティブなノード)、P は優先ピアの数で、mainnet では 12 です。抽選対象のノードが 11 ならピボットは 5、13 以上なら 6 です。つまりピボットは、生成者が提示できたはずの数のおよそ半分です。

ピボットより多くのレシートを提示すれば生成者のスコアは上がり、少なければ下がります。変動の大きさはアクティブなノードの数によってもスケーリングされます。結果は常に 0 から 100 % の範囲に保たれます。したがって、ブロックに含まれるレシートが少ないノードは、番を一度も逃さなくても徐々に下がっていきます。

上昇は意図的にゆっくりです。ノード数が 2,880 未満の場合、すべてのブロックをレシート付きで作るノードでも、0 から 100 % まで上がるには 30 日かかります。12 時間のスコア単位あたり平均約 1.67 点です。

中継によってレシートがトレイに戻ってきますが、トレイはまだスコアを持ちません。ノード自身のブロックがそのサンプルを運び、メーターがその数をピボットと比較します。少なければスコアは下がり、多ければ上がります。
中継によってレシートがトレイに戻ってきますが、トレイはまだスコアを持ちません。ノード自身のブロックがそのサンプルを運び、メーターがその数をピボットと比較します。少なければスコアは下がり、多ければ上がります。

下がり方:欠席

番を飛ばした時点から次に自分のブロックを作るまで、ノードは欠席状態となり、スコア単位(ノード数 2,880 未満では 12 時間)ごとに 5 点を失います。これは完璧なノードが上がる速さの 3 倍です。ノード数 2,880 未満では、沈黙したノードは 20 % から 2 日で、100 % から 10 日でゼロになります。逃した番、一時停止、除名 を参照してください。

スコアをまったく動かさないものもあります。ストレージ証明に失敗してもスコアは失われません。投票で負けたストレージ保持者は、そのエポックのストレージ報酬を失うだけです(分散ストレージプール を参照)。チェーンの立ち上がり期間である高さ 40 より前には、スコアは変化しません。そして 1 時間ごとのチェックインも投票もありません。スコアは、ブロックが運ぶものと、ノードが飛ばした番からのみ決まります。

スコアが決めるもの

収入。 各ブロックの新しいコインと手数料は コインベース抽選 によって分配されます。ブロックの報酬プール(コインベース、手数料、ロンジェビティプールの一部)は、抽選 1 回につき 1 つの等しい取り分に分割されます。各回の抽選は、直前のブロックのシードとタグ zbc-coinbase で初期化された生成器から、スコアに比例する確率でノードを選ぶため、すべてのノードが同じ当選者を計算します。1 つのノードが 1 ブロックで複数回当選することもあり、スコアの低いノードも当選しえます。抽選は、直前の 2 つのブロックの間隔 1 秒につき 1 回、最大 600 回で、チケット保有者の数を超えることはありません(プールが大きい場合は、同じ上限の範囲内で回数が増えることがあります)。チケット保有者とは、成熟していて、欠席中でも一時停止中でもない登録済みノードです。そのいずれもスコアをまったく持たない場合、プールは均等に分割されます。

席。 スコアがゼロに達したノードは除名されます。ただし、アクティブなノードが 3 つ未満になってしまう場合は除名されません。

決めるのはそれだけです。スコアは生成者の抽選の入力ではなく、フォーク選択と累積難易度 におけるブロックの重みにも入りません。

2 つのパネル:生成者の抽選では 90 % と 30 % のノードの取り分は等しく(1 : 1)、コインベース抽選では 3 : 1 です。スコアが動かすのは報酬であって、ブロック生成ではありません。
2 つのパネル:生成者の抽選では 90 % と 30 % のノードの取り分は等しく(1 : 1)、コインベース抽選では 3 : 1 です。スコアが動かすのは報酬であって、ブロック生成ではありません。

力と収入を切り離す理由

スコアを抽選から切り離しているのは意図的です。スコアの高いノードは、チェーンに対する追加の力を得ません。より多くのブロックを作ることも、より多くのシードを選ぶことも、トランザクションを除外する機会を増やすこともありません。ブロック生成に対する力は席ごとに均一のままで、収入は計測された仕事に従います。ステークはそのどちらにも関係しません。ステークはノードをキューに入れるだけです。

開始時の 20 % や上昇・下落の速さなど、スコアに関するすべての数値はチェーンのジェネシスパラメータです。

関連項目