ブロックチェーン/レベル III · ネットワーク/3.1 ノード/レッスン 1
フルノードの役割
独立した台帳:1台のマシンがお金の全履歴を検証できる理由
用意するもの少なくとも1TBのSSDストレージを搭載したコンピューターBitcoin Coreソフトウェア(最新の安定版)十分な帯域幅を持つ、信頼性の高いインターネット接続
問い
- 他の誰も信頼せずに、1台のコンピューターが2009年以降のすべての取引をどうやって検証するのでしょうか?
- マイナーが多大なエネルギーを費やして生成したブロックを、ノードが拒否するのはどのような具体的なルールによるのでしょうか?
- 自分の鍵を保有することに加えて、ノードを運用すると何が得られるのでしょうか?
探究
- フルノードは、2009年1月3日にマイニングされたジェネシスブロック以降のすべてのブロックをダウンロードします。そして各ブロックを、コンセンサスルールに照らして独立して検証します。具体的には、署名とスクリプトが有効であること、同じ入力が二重に使われていないこと、出力が入力を超えていないこと、ブロックウェイトが4,000,000ウェイトユニット以内であること、コインベースが定められた新規発行額と手数料の合計を超えて請求していないこと、プルーフ・オブ・ワークがターゲットを満たしていること、タイムスタンプが許容範囲内であることです。このプロセスにより、台帳の有効性を単一の主体が支配することはできなくなっています。
- 独立性こそが決定的な特徴です。ノードは、マイナーや取引所、開発者がそう言ったからといってブロックを受け入れることはなく、暗号学的検証を通過したものだけを受け入れます。これは「信頼せず、検証せよ」という原則を体現しています。ノードは、システム内で利用可能なすべてのコインを表す現在の未使用トランザクションアウトプット(UTXO)セットを保持します。また、有効なトランザクションやブロックをピアに中継すると同時に、他のノードからのデータ要求にも応えます。
- ブロックチェーン全体のデータ量は2024年に600GBを超え、2026年半ばには約760GBに達しており、年間およそ70~80GBずつ増加しています。Tor上で稼働していたり外部から到達できなかったりするノードが多いため正確なノード数は情報源によって異なりますが、世界中で数千を超えるフルノードが稼働しています。各ノードは、所有者のウォレットにとって自分専用の信頼できる情報源として機能します。ウォレットを自分のノードに直接接続することで、ユーザーは、侵害されていたり検閲を行っていたりするおそれのあるサードパーティのサーバーに頼るのではなく、手元にあるルールのコピーに照らして取引を検証できます。
- 検証は厳格です。ウェイト上限を超えている、無効な署名を含んでいるなど、いずれかのコンセンサスルールに違反したブロックは、どれだけのハッシュパワーを投じて生成されたかに関係なく、すべての誠実なノードによって拒否されます。ブロックを提案するのはマイナーですが、それを有効と認めるかどうかを決めるのはノードです。この分離により、ネットワーク全体での協調的な採用がない限り、経済力によって技術的なルールを覆すことはできません。
- UTXOセットとは、未使用のアウトプットがすべて記録されたデータベースです。取引によってあるアウトプットが使用されると、そのエントリーはセットから削除され、新しいアウトプットが追加されます。フルノードはこの状態を継続的に追跡します。完全な履歴を保持しているため、いつでも過去のあらゆる取引の有効性を検証でき、中央集権的なサーバーでは改変や削除が不可能な永続的な監査記録を提供します。
- フルノードを運用するには、ストレージと帯域幅、そしてある程度のメンテナンスが必要です。その代わり、所有者は、どの支払いが本物か、どのルールが適用されるかについて他者に頼る必要がなくなります。ウォレットは受け取るすべての支払いを自分が持つチェーンのコピーと照合し、所有者のノードは、無効なブロックや望まないルール変更を拒否するノードの一つとして数えられます。
重要な事実
- フルノードは、ジェネシスブロック以降のすべてのブロックをダウンロードし、コンセンサスルールに照らしてそれらを独立して検証します。
- 2026年半ば時点でブロックチェーン全体の容量は約760GBだったため、プルーニングを行わないノードには大容量のストレージが必要です。
- ノードは、4,000,000ウェイトユニットの上限や無効な署名といったルールに違反するブロックを拒否します。
- UTXOセットは、未使用のアウトプットをすべて記録し、利用可能なコインの現在の状態を表しています。
- フルノードはウォレットに自分専用の信頼できる情報源を提供し、独立した検証を可能にします。
- 独立とは、マイナーや取引所、開発者の権威を根拠にブロックを受け入れることは一切ないという意味です。
演習 九・六・三・一
9集めるフルノードが新しいブロックを検証する際にチェックする9つの技術的制約(例:ウェイト制限、署名の有効性など)をリストアップしてください。
6まとめる9つの制約を、暗号学的完全性、経済的制限、構造的規則、歴史的一貫性、時間的制約、リソース上限の6つのカテゴリーに分類してください。
3絞り込む6つのカテゴリーを、中央の権力なしにネットワークのセキュリティを確保する3つの基本原則にまとめてください。
1結晶化するフルノードによって、ウォレットだけではできないどのようなことが所有者にできるようになるのかを1文で書いてください。
事実確認
日付、数字、主張は、下記に記載された公表資料と照合して確認しました。