ZooBC ウィキ
Proof of Participation

逃した番、一時停止、除名

ノードレジストリの席は、仕事をすることで維持されます。ブロックを作るよう抽選されたのにそれを届けなかったノードは、チェーンに 15 秒の遅れをもたらし、逃した番が 1 回数えられます。また、番を飛ばすたびに時計が動き始めます。ノードは次に自分のブロックを作るまで欠席状態となり、何も稼げず、参加スコアを失います。4 回続けて番を逃すと抽選から外され(一時停止)、スコアがゼロになると席を失います(除名)。このページでは、バージョン 0.5.8 以降のこの道筋を説明します。

逃した番

ブロックが作られると、その高さのより早いラウンドに抽選されながらブロックを生成しなかったノードはすべて、飛ばされた生成者となり、逃した番が 1 回数えられます。ブロックを作ったノードは、自分の逃し回数のカウンターがリセットされます。

理由は問われません。オフラインだったノードも、遅すぎたノードも、オンラインなのにブロックを出し渋ったノードも、同じように扱われます。飛ばされた番は飛ばされた番です。(ブロックを出さずにおくことは、生成者がシードに影響を与えようとする唯一の方法でもあります。ブロックシード(VRF) を参照してください。)

欠席:収入なし、スコア低下

番を飛ばした時点から次に自分のブロックを作るまで、ノードは欠席状態です。欠席中は次のようになります。

  • 何も稼げません。コインベース抽選のチケットも、手数料の分け前も、ロンジェビティの分け前もありません。
  • 参加スコアがスコア単位ごとに(100 点中)5 点下がり、そのスコア単位のブロックに均等に分散されます。

スコア単位は max(n, 2,880 ブロック) で、n は抽選の対象になりうるノードの数です。ノード数が 2,880 未満ならスコア単位は 2,880 ブロック、つまり 12 時間です。それより大きなレジストリでは、スコア単位は n とともに大きくなります。各ノードの番はおよそ n ブロックに 1 回しか回ってこないからです。devnet ではスコア単位の下限が 120 ブロック(30 分)なので、この道筋全体が 24 倍速く進みます。

ノードが署名するレシートや ping(後述)では、欠席状態は終わりません。終わるのは自身の次のブロックだけです。したがって、1 回番を逃してすぐに次のブロックを作ったノードは、わずかな収入とほんの少しのスコアを失うだけです。離れたままのノードは失い続けます。

一時停止

4 回続けて番を逃すと、ノードは一時停止されます。

  • 生成者の抽選から外れるため、そのノードの番が全員に 1 ラウンド分の遅れをもたらすことはなくなります。
  • レジストリの席は保持しますが、欠席状態として扱われるため、何も稼げず、スコアは下がり続けます。
  • 加入ペース の席数と、スパインチェーンの署名者リストを除くすべての 3 分の 2 の集計から外れます(3 分の 2 ルール を参照)。

短い空白でノードが一時停止されることはありません。直近 20 ブロック以内に自分のブロックを作っていれば、4 回目の逃しがあっても一時停止にはなりません(逃した回数には数えられます)。

復帰するには、一時停止中のノードのソフトウェアが ping を送ります。これはノード自身の鍵から送られる生存のアテステーションで、手数料は 0、120 ブロックの時間枠ごとに最大 1 回、一時停止中のノードからのものだけが有効です。その実体は QueueAttendance トランザクション(タイプ 59)で、キューで待機中のノードがオンラインであることを示すために送るのと同じタイプです。ping によってノードは仮復帰の状態で抽選に戻ります。ping が逃した回数を消したり、スコアの低下を止めたりすることは決してありません。それが起こるのは、ノードが次の番のいずれかでブロックを作ったときだけです。

状態遷移図:アクティブなノードは 4 回続けて番を逃すと一時停止されます。ping で仮復帰として抽選に戻り、自分のブロックで再びアクティブになります。一時停止中または仮復帰中にスコアがゼロになると除名されます。
状態遷移図:アクティブなノードは 4 回続けて番を逃すと一時停止されます。ping で仮復帰として抽選に戻り、自分のブロックで再びアクティブになります。一時停止中または仮復帰中にスコアがゼロになると除名されます。

除名

ノードのスコアがゼロに達すると、そのノードは除名されます。席は閉じられ、ロックされたステークの 90 % がオーナーに戻り、10 % はロンジェビティプールに入ります(ZBC は決してバーンされません。ZBC は決してバーンされない を参照)。除名によってアクティブなノードが 3 つ未満になることはありません。この下限が適用される場合は、「最後に確認された時刻」によって、誰を先に残すかが決まります。ノードが署名したレシートがブロックに含まれると、そのノードは確認されたものとして記録されます。レシートが動かすのはこの「最後に確認された時刻」の記録だけです。

すべてのノードは 20 % から始まるため、沈黙したノードが持ちこたえる時間は、沈黙したときのスコアによって決まります。

沈黙したときのスコア2,880 ノード未満5,760 ノード10,000 ノード
20 %(開始時のスコア)2 日4 日6.9 日
60 %6 日12 日20.8 日
100 %10 日20 日34.7 日

回復は下落より 3 倍遅く進みます。ノード数が 2,880 未満の場合、すべてのブロックをレシート付きで作るノードは、0 から 100 % まで 30 日、20 % から 100 % まで 24 日かかります。信頼は得るのに時間がかかり、失うのは一瞬です。

2,880 ノード未満でのスコアと日数のグラフ:沈黙したノードは 100 %、60 %、20 % からそれぞれ 10 日、6 日、2 日でゼロに落ちます。働くノードは 0 から 100 % まで 30 日で上がります。
2,880 ノード未満でのスコアと日数のグラフ:沈黙したノードは 100 %、60 %、20 % からそれぞれ 10 日、6 日、2 日でゼロに落ちます。働くノードは 0 から 100 % まで 30 日で上がります。

関連するルール

  • 欠席中または一時停止中にノードを削除したオーナーは、ステークの 10 % を失います(レジストリからの離脱 を参照)。
  • 新しいノードは成熟するまで何も稼げません。成熟には加入から 4 スコア単位と、自分のブロック 1 つが必要です(成熟と収入 を参照)。
  • 証明された二重署名は逃した番として数えられ、生成者は次に自分のブロックを作るまで欠席状態になります(二重署名(equivocation) を参照)。
  • この道筋のすべての数値(5 点、スコア単位、開始時のスコア)は、チェーンのジェネシスパラメータです。

関連項目