ビットコインの仕組みを通してブロックチェーンを学ぶシリーズ第5弾(最終回)です。
前回までの記事でビットコインがどのような要素によって成り立っているか1つ1つ紹介してきました。最終回ではこれらをまとめてビットコインの処理がどのような流れを踏んでいるのかという全体像を掴んで終わりましょう。
ビットコインの処理
最初の前提としてビットコインのシステム利用者はP2Pネットワークに参加していて全員が共通のブロックチェーンを保管しているものとしてスタートします。

1.各ノードからの送金情報が全員に送付される

各ノード(コンピュータ)はビットコインの使用(送金)情報を出してP2Pネットワーク上の全員に送信します。
このとき送金情報は本人が発行したことを保証するため自分の秘密鍵を使って電子署名を付与します。
2.マイニング

取引情報を受け取ったノードは取引の情報が正しいことを確認するとブロックを生成するためにマイニングを開始します。(マイニングについては下記参照)
最初に条件を満たすナンスを見つけたノードは生成したブロックを全員に送信します。この時にブロック生成のインセンティブとして一定額のビットコインが支払われます。
(ナンスについては下記参照)
3.各ノードでブロックを検証して承認

ブロックを受け取った各ノードは前のブロック(図ではD)と受け取ったナンスからハッシュ値を計算して条件を満たすか検証します。
正しいブロックであると承認した場合は自分のブロックチェーンにブロックを追加し、不正なブロックである場合は破棄します。
4.最長のチェーンが正しい情報と承認される
以上の処理は実際には非常に多くのノードで行われているため同時にブロックを生成して参加者全員に送信してしまいブロックチェーンが分岐するということが起きます。
その場合はPoWというコンセンサスアルゴリズムに基づいて最も長いチェーンが正しい取引情報であると合意形成することによって情報の正しさを保証します。(PoWについては下記参照)
コメント