ノードの登録
登録は、チェーンを追跡するだけのノードを席の候補に変える手順です。オーナーは 1 つのトランザクションを送り、ノード鍵を指定し、ステークをロックし、オーナーとノード鍵が対応していることを証明します。その後ノードは公開されたキューに入ります。ブロックを作るのは、加入が認められてからです。
登録トランザクション
NodeRegistration(タイプ 2)は、ノード鍵、オーナーアカウント、ステーク、所有証明を運びます。オーナーは他のトランザクションと同じようにこれに署名します。ステークと手数料はオーナーのアカウントから引き落とされます。最低手数料は、基本アクション手数料 0.025 ZBC(2,500,000 アトミック単位)にトランザクションのバイト数に対する料金を加えたものです(手数料)。
運用者を審査する者はおらず、ハードウェアのテストも承認手続きもありません。確認されるのは、すべてのノードが同じように適用するルールだけです。
所有証明
所有証明は、1 つのノード鍵を 1 人のオーナーに結び付けます。これはノード鍵で署名されたメッセージで、通常の ZBC_ オーナーの場合は次のような構成です。
| フィールド | バイト数 |
|---|---|
| オーナーのアカウントタイプ | 4 |
| オーナーの鍵 | 32 |
| 最近のブロックのハッシュ | 32 |
| そのブロックの高さ | 4 |
| ノード鍵による Ed25519 署名 | 64 |
最初の 72 バイトは事前にハッシュされることなく、そのまま署名されるため、証明全体は 136 バイトです。すべてのノードが 4 つのことを確認します。
- 署名がノード鍵で検証できること
- メッセージ内のアカウントが、トランザクションの送信者とバイト単位で完全に一致すること
- そのブロックが、確認するノード自身のチェーン上にそのハッシュで存在すること
- そのブロックが 720 ブロック(3 時間)以内の新しさであること
証明は最近のブロックを指定するため、ずっと前から準備しておくことも、後で使い回すこともできません。同じ証明は、ステークを引き上げるときとノードをクレームするときにも必要です。また、席を新しいノード鍵へ移すときには、新しいノード鍵がこれに署名します(ノードの鍵)。
ロックする額
ノードがキューに入れる最小のステークは、次の 2 つの値のうち大きい方です。
- キューの最低額:mainnet では 100 ZBC から始まります。これは席が投票で決める価格の 1 つです(価格投票)。1 アトミック単位から 250 ZBC までの範囲を取り、スナップショットサイクルごとに最大 1 回変動し、各票は 20 % の上昇か半分への引き下げまでに制限されます。
- すでにキューにいるノードのステークの中央値の半分:需要に応じて決まります。
この確認は参入時にのみ適用されます。すでに待機しているノードは、最低額が上がってもその位置を保ちます。誰でも最低額より多くロックして、ステークに待機時間を掛けた値で並ぶキューの上位へ移ることができます。また、待機中のノードは後からステークを引き上げることもでき、それまでに積み上げた待機時間は維持されます(キュー)。
登録の後
登録されたノードはキューで待機中になります。まだ参加スコアはなく、1 日に 1 回オンラインであることを示さなければなりません(キュー)。加入タイマーがそのノードに達すると、既定のスコア 20 % で登録済みになり(加入ペース)、成熟すると稼ぎ始めます(成熟と収入)。
加入が認められる前にノードを取り下げると、ステークの 10 % がかかります(レジストリからの離脱)。席が削除されたノード鍵は再び登録することができます。その場合は新しいキューの記録から始まり、過去の逃した番は引き継がれません。