フルノードを自分で運営すべき理由
ビットコインを真に所有するとはどういうことか。フルノードがなければ、あなたは他の誰かのビットコインを使っているに過ぎません。
信頼という古い問題
人類が通貨を使い始めて以来、最も根本的な問題は常に同じでした。私が受け取るこのお金は本物なのか。私の財産は本当に私のものなのか。誰かが私の知らないうちにそれを変えたり奪ったりできるのか。
金本位制の時代でも、この問題は完全には解決されませんでした。金貨は削られる可能性があり、金塊は政府に没収される可能性がありました。1933年、ルーズベルト大統領は行政命令6102号により、米国市民の金保有を違法化しました。市民たちは金を安値で政府に引き渡さなければなりませんでした。法律が変わると、財産は消えたのです。
法定通貨の時代はこの問題をさらに悪化させました。少なくとも金は物理的に存在しました。今日のお金はデータベースの数字に過ぎません。そのデータベースを管理する銀行があなたの口座を凍結すると決めれば、あなたは一夜にしてアクセス権を失います。資本規制、制裁、口座差押え——これらすべてが可能な理由は、通貨の記録が第三者の手にあるからです。
サトシ・ナカモトが2008年のホワイトペーパーで提案したのは、単なるデジタル通貨ではありませんでした。それは信頼なしで動作する通貨システムでした。中央サーバーも、管理者も、信頼すべき第三者もなく、数学的証明と分散されたコンセンサスだけで取引を検証するシステムでした。
しかし、パラドックスがあります。今日のほとんどのビットコイン利用者は、依然として信頼に依存しています。
あなたの知らないうちに起こっていること
ビットコインウォレットアプリを開くと残高が表示されます。取引を送ると「送信完了」というメッセージが出ます。エクスプローラーでアドレスを照会すると取引履歴が表示されます。これらすべてのプロセスがスムーズに動くため、ほとんどの人はバックグラウンドで何が起こっているか考えません。
実際に起こっていることはこうです。あなたのウォレットアプリはどこかのサーバーに接続されます。そのサーバーがあなたのアドレスを照会し、残高と取引履歴を返します。あなたのアプリはそのサーバーが返した情報をそのまま表示します。あなたはその情報が正確かどうかを検証しません。検証する手段がないからです。
これがどれほど危険か考えてみましょう。
そのサーバーを運営する会社があなたの残高を誤って表示したら?意図的であれミスであれ、あなたには知る方法がありません。ハッカーがそのサーバーを乗っ取って取引情報を改ざんしたら?あなたの取引が実際にはネットワークで拒否されたのに、アプリが「完了」と表示したら?そのサーバーを運営する会社が政府の圧力で特定のアドレスの取引を検閲したら?
これらのシナリオが荒唐無稽に見えるなら、歴史をもう一度振り返ってください。中央集権化されたシステムは常にこのような形で失敗したり悪用されてきました。ビットコインが存在する理由そのものが、中央集権化された金融システムが繰り返し失敗してきたからです。
フルノードが行うこと
フルノード(Full Node)はビットコインネットワークに直接参加するソフトウェアです。Bitcoin Coreが最も代表的です。フルノードを実行すると、あなたのコンピューターはビットコインのジェネシスブロック(2009年1月3日)から今日までのすべての取引をダウンロードし検証します。約650GB以上(増加中)のデータです。
この検証過程でフルノードはビットコインプロトコルのすべてのルールを直接確認します。この取引の署名は正しいか。すでに消費されたUTXOを再び使おうとする二重支払いの試みはないか。ブロックの作業証明(Proof of Work)は有効か。供給量上限である2,100万個を超えるコイン生成はないか。
どの採掘者がルール違反のブロックを生成しても、フルノードはそれを拒否します。どの取引所が「このアドレスの残高はこうです」と主張しても、あなたのノードは自分で確認した結果だけを信頼します。途中にどんなサーバーがあっても、あなたのノードはそのサーバーを信頼しません。
これが「信頼なし検証(trustless verification)」の意味です。誰も信じないということではなく、信じる必要がないということです。数学的証明が信頼に取って代わるのです。
Sparrowウォレットとフルノードの接続
ビットコイン自己管理の最高の組み合わせは、ハードウェアウォレットとSparrow、そして自前のフルノードです。
ハードウェアウォレットは秘密鍵をオフラインで保管します。Sparrowはハードウェアウォレットと通信しトランザクションを構成するデスクトップソフトウェアです。そしてフルノードは、そのトランザクションが実際のビットコインネットワークで有効かどうかを検証し、伝播させます。
Sparrowは基本的に公開サーバー(Electrum Server)に接続されます。便利ですが、先に説明した信頼の問題がそのまま残ります。公開サーバーにあなたのアドレスを照会すると、そのサーバー運営者はあなたのウォレット構造と残高を見ることができます。
自前のElectrumサーバー(例:Electrs)をフルノードと共に運営すれば、この問題は解決されます。Sparrowはあなたのサーバーにのみ接続され、あなたのサーバーはあなたのノードとのみ通信します。外部サーバーはあなたのアドレスを見ることができません。
もちろんここまで進むにはいくつかの技術的な設定が必要です。しかし2020年代の観点からすれば、これは決して不可能なことではありません。余ったノートパソコン1台と外付けハードドライブ1台で十分です。インターネット検索で数日以内に設定できます。
プライバシー、主権、そしてネットワーク
フルノードを運営する理由は3つにまとめることができます。
第一に、検証。 あなたが受け取ったビットコインが実際に有効かどうかを自分で確認できます。どのサービスも、どの会社も、途中で情報を歪めることはできません。あなたのノードが言うことが真実です。
第二に、プライバシー。 あなたのアドレスと取引履歴を外部サーバーに公開しません。ビットコインは基本的にpseudonymous——仮名のシステムです。しかし外部サーバーにアドレスを繰り返し照会すると、そのサーバーはどのアドレスが同一人物のものか把握できるようになります。自前のノードはこのようなプライバシー漏洩を遮断します。
第三に、ネットワークへの貢献。 ビットコインネットワークの分散性はノードの数にかかっています。ノードが少数のサーバーに集中するほどネットワークは中央集権化され、攻撃に脆弱になります。あなたのノードはそれ自体がビットコインの検閲耐性を強化する貢献です。これは抽象的な話ではありません。2017年のブロックサイズ戦争でユーザーのノードが核心的な役割を果たしました。採掘者と一部の企業がビットコインプロトコルを変更しようとした時、ユーザーが運営するノードがその変更されたルールを拒否することで、ビットコインの元のルールを守り抜きました。民主主義で投票権が重要であるように、ビットコインではノードが無効なブロックを拒否できる実質的な拒否権(veto)です。
Not your node, not your rules
ビットコインコミュニティには古い格言があります。
Not your keys, not your coins.
秘密鍵を自分で保有していなければ、そのコインはあなたのものではないという意味です。取引所に預けたビットコインは取引所のものです。歴史上数多くの取引所が破産し、そのたびにユーザーはコインを失いました。
しかし秘密鍵だけでは十分ではありません。ここにもう一つ加える必要があります。
Not your node, not your rules.
秘密鍵があっても、その鍵で署名した取引の有効性を他のサーバーに依存して確認するなら、あなたは依然としてそのサーバーの世界観の中で生きているのです。そのサーバーがあなたの取引を検閲したり、誤った情報を提供したり、単に電源を切ってしまったら——あなたの秘密鍵は無用の長物になります。
真のビットコイン主権は2段階で成り立っています。秘密鍵の自己管理が第一段階であれば、フルノードの直接運営が第二段階です。両方を備えてはじめて、誰の許可も、誰の善意も必要としない真の金融主権が完成します。
始めることは思ったより簡単だ
多くの人がフルノードを難しく考えています。以前はそうだったかもしれません。しかし今は違います。
Bitcoin Coreをダウンロードしてインストールするのに10分もかかりません。初期ブロックダウンロード(Initial Block Download, IBD)はコンピューターの性能とインターネット速度によって数日かかることがあります。その間コンピューターをつけておくだけで大丈夫です。その後は自動的に最新ブロックを維持します。
必要なもの:ストレージ約650GB以上(増加中)、4GB以上のRAM、安定したインターネット接続。中古ノートパソコンやミニPCで十分です。電力消費も大きくありません。全ブロックチェーンを保存するスペースが足りない場合は、プルーニングモード(pruned mode)を使用できます。この場合10GB未満のスペースでもフルノードを運営でき、自己検証機能は同様に維持されます。
初期同期が完了した後、Electrsをインストールしてのスパロウォレットと接続すれば、完全な自己管理環境が出来上がります。プライバシーを強化するにはTorネットワークを通じてノードを運営できます。こうすればISP(インターネットサービスプロバイダー)にビットコインノード運営の事実が露出しません。このプロセスに慣れたら、ライトニングネットワークノード(LND、CLN)を追加して即時の少額決済まで拡張できます。
結論:ビットコインを理解するということ
ビットコインを「次に上がる資産」と見ている人にとって、フルノードは不要です。取引所で売買するだけの人には、実は秘密鍵も必要ありません。
しかし、ビットコインを通貨主権のツールとして、国家と金融機関の独占から逃れるための脱出口として理解する人にとっては話が違います。その脱出口は、自分で検証できるシステムの上でのみ、本当の脱出口になるのです。
他人の言葉を信じることは簡単です。自分で検証することは手間がかかります。しかし、ビットコインが既存の金融システムより優れている理由は「より信頼できる人が運営しているから」ではありません。「信じる必要がないから」です。
その哲学を最後まで貫くことがフルノードです。