ビットコインの基礎知識(7) - ノード同士の通知と検証

ビットコインのノードは目的別に3種類あります。

1. SPV(Simplified Payment Verification)ノード

SPVノードは、ビットコイン利用者のインターフェースとなるノードです。

スマホやPCにウォレット・アプリを入れることでこのノードになります。

利用者の入力した取引データの正当性検証を行い、これをビットコインネットワークに送信します。

2. マイニング・ノード

マイニング・ノードはその名の通りマイニング報酬を得ることを目的としたノードです。

新規ブロックを効率よく生成するため、GPUやASICといった超高速並列計算が可能なハードウェア上で実行します。

3. フル・ノード

フル・ノードはビットコイン・ネットワークの維持運営で中心的な役割を持つノードです。

原始以来の全てのブロックチェーンを保存しています。

このノードの目的は、全ての取引データの正当性検証と二重払いデータの検証を行うことです。

ノード同士の通知と検証

利用者がウォレット(SPVノード)を使ってビットコインを誰かに送金すると、ビットコイン・ネットワークに取引データがブロードキャストされ、フルノードやマイニング・ノードがこれを受信し、正当性検証を実施します。

PoWが始まりブロックを書き込む権利を得たマイニング・ノードは、自身が生成したブロックをブロードキャストでネットワークに通知し、全ノードがこれを受信します。

ブロックを受信した各ノードは、正当性検証を実施後に自身の台帳にブロックを追記し、chainstate(取引データから生成されたデータベース)内のUTXOを更新します。