ホーム
用語集
候補ブロック

候補ブロック

中級者
端的に言えば、候補ブロックとは、マイニングノード(マイナー)がブロック報酬を受け取るためにマイニングしようとしているブロックのことです。つまり、候補ブロックは、ネットワークによって検証されるか破棄されるかのどちらかの結果につながる一時的なブロックと言えます。マイナーは、ブロックチェーンの次に加えるブロックを検証し互いに競争しますが、その際、最初にマイニング競争に参加するのに必要な候補ブロックを作成します。
マイナーはメモリープールから複数の未承認トランザクションを収集し、それを構成して候補ブロックを作成します。その後、トランザクションをハッシュ化してマークルツリー構造を形成し、最終的にマークルート(またはルートハッシュ)を生成します。マークルツリールートは、そのツリーの過去すべてのハッシュを表す単一のハッシュであり、その特定のブロックに含まれていた全トランザクションを表します。
ルートハッシュは、前のブロックのハッシュとノンスと呼ばれる乱数とともに、ブロックのヘッダーに加えられます。その後、マイナーによってブロックヘッダーがハッシュされ、これらの要素(ルートハッシュ、前のブロックのハッシュ、ノンス)と他のいくつかの要素に基づいて出力が生成されます。結果として得られる出力がブロックハッシュであり、新しく生成されたブロック(候補ブロック)の固有IDとして機能します。
生成されたブロック(候補ブロック)が有効であると判断されるためには、ゼロが一定数連続する(プロトコルによって定義される目標値より小さい)出力(ブロックハッシュ)が生成される必要があります。有効なブロックハッシュが最終的に生成されるまで、マイニングノードは異なるノンス値で無数のハッシュ関数を実行し、試行錯誤を繰り返しながらマイニングプロセスが進んでいきます。生成されたブロックハッシュは、マイナーによる作業を証明することになります。(つまり、Proof of Work)。
マイナーが有効なブロックハッシュを見つけると、その候補ブロックがネットワークの他のノードにブロードキャストされ、ハッシュの真正性を認証します。問題がなければ、候補ブロックはブロックチェーンに記録されます。この時点で、検証を行う各ノードはブロックチェーンデータのコピーを更新し、最近マイニングされたブロックを反映され、マイナーはブロック報酬を獲得します。