ネットワークの動作手順
ブロックチェーンの実現する「非中央集権」とは、特定の管理者が存在しない状態のことを意味します。
これは裏を返すと、「不特定多数の管理者は存在する」ということになります。
この不特定多数の管理者のことをノード(コンピュータのこと)といいます。
ここでは、ビットコインを実現するための仕組みの三つ目として、ブロックチェーンにおけるノードの動作内容を学習していきます。
ブロックチェーンネットワークにおいては、全てのノードが同じ動作を行なっています。
- 新しく発生したトランザクション(取引)は、全てのノードに共有される
- 各ノードは、受け取ったトランザクションを新規ブロックに取り込み始める
- 各ノードがPoWを開始する(ノンスを探し始める)
- PoWが完了次第ブロックが形成され、そのブロックを全てのノードに共有する
- 各ノードは、受け取ったブロック内の全てのトランザクションが正しいものであるかどうか検証する
- 各ノードは、承認したブロックのハッシュ値を次のブロックに取り込み始める
このとき、ノードによっては異なるブロックが複数共有される可能性が存在します。
そのため、各ノードは受け取ったブロックを一旦全て保持しておき、一定時間経過後に、最長のチェーンに連結しているブロックのみを引き続き保持することになります。
この現象は、不正なブロックが存在しない場合でも発生しうることです。
なぜなら、全てのノードが同時にPoWを行うため、わずかな時間差によって複数のブロックが形成されることになるからです。
要するに、結果的にブロックチェーンは最長のものが正しいものとして選ばれるものの、最新のブロックを生成している最中は、いくつものチェーンに分岐している状態になっているのです。
Check your achievement
Click the “Tick” button
if you understand the lesson so far.