2.1 パーミッションレス・ブロックチェーンのストレージ負荷
ストレージ要件は、普及度と取引量に比例する。台帳全体を保存することはセキュリティ(二重支払い防止)に不可欠であるが、高い参入障壁を生み出し、フルノードを実行できるユーザーが少なくなることで中央集権化のリスクにつながる。
主要統計
ビットコインフルノードストレージ: 370GB以上(本研究の時点)。これは、広範なノード運用に対する重大なハードウェアコストと阻害要因となる。
ビットコインやイーサリアムに代表されるパーミッションレス・ブロックチェーンは分散型システムに革命をもたらしたが、大きなスケーラビリティ課題に直面している。プルーフ・オブ・ワーク(PoW)コンセンサスのエネルギー消費は広く議論されてきた一方で、フルノードが必要とする膨大かつ増加し続けるストレージオーバーヘッドは、より広範な参加とネットワーク健全性に対する重大でありながら十分に対処されていない障壁として残っている。本論文は、フルノードが検証のためにブロックチェーンデータをどのように利用しているかを分析する初の包括的実証研究を提示し、基盤プロトコルを変更することなくローカルストレージ要件を劇的に削減する実用的な戦略へと導く。
ブロックチェーンの完全性は、取引の完全かつ検証可能な履歴に依存している。ビットコインの場合、この台帳は370GBを超え、取引を独立して検証するためにフルノードを実行する参加者に多大なリソースを要求する。
ストレージ要件は、普及度と取引量に比例する。台帳全体を保存することはセキュリティ(二重支払い防止)に不可欠であるが、高い参入障壁を生み出し、フルノードを実行できるユーザーが少なくなることで中央集権化のリスクにつながる。
ビットコインフルノードストレージ: 370GB以上(本研究の時点)。これは、広範なノード運用に対する重大なハードウェアコストと阻害要因となる。
従来のアプローチには以下がある:
本研究の核心的貢献は、最適化に役立つ実ノードの挙動に関するデータ駆動型分析である。
著者らは、標準的な運用(特に新しい取引とブロックの検証中)において、ローカルストレージからのすべてのデータアクセス(読み取り)を監視・記録するためにビットコインフルノードに計装を施した。これにより、ブロックチェーンのどの部分が継続的な検証に実際に必要とされているかのプロファイルが作成される。
分析により、重要な洞察が明らかになった:ブロックチェーンの履歴データのかなりの部分は、一定期間後にはほとんど、あるいは全くアクセスされない。現在の状態(未使用取引出力 - UTXO)と最近の履歴を検証するために必要なデータは、台帳全体よりもはるかに小さなサブセットを構成する。
フルノードは、新しいブロックと取引をリアルタイムで検証するために、数百ギガバイトに及ぶ履歴全体を必要としない。アクティブに必要なデータセットは桁違いに小さい。
実証的知見に基づき、本論文はクライアントサイド戦略を提案する。
主要戦略は、インテリジェントでデータを考慮したプルーニングアルゴリズムである。単純な経過時間やサイズによるプルーニングの代わりに、ノードはプロファイリングにより将来の検証に不要であることが示されたブロックチェーンデータ(例えば、古い使用済み取引出力)を安全に削除できる。これは純粋にクライアントサイドで実装される。
追加の最適化には、ほとんどアクセスされないが必要な履歴データの圧縮、および「ワーキングセット」(頻繁にアクセスされるUTXOと最近のブロック)を高速なストレージに優先的に保持するキャッシュ戦略が含まれる。
本研究の最も顕著な結果:インテリジェントなプルーニング戦略を適用することで、ビットコインフルノードは完全な検証能力を維持しながら、ローカルストレージフットプリントを約15GBに削減できる。これは、完全な370GB以上の台帳からの95%以上の削減を表す。
(想定される図表説明) 「完全台帳(370 GB)」と「プルーニング済みワーキングセット(15 GB)」を比較する棒グラフ。プルーニング済みセットは元のごく一部であり、達成された大幅な削減を視覚的に強調している。
プロファイリングとインテリジェントなプルーニングの計算オーバーヘッドは無視できると報告されている。トレードオフとして、ノードが非常に古い、プルーニングされたデータを参照する取引を検証する必要がある場合、ネットワークから暗号学的証明(マークルプルーフなど)を取得する必要があり、わずかな通信レイテンシが発生する。しかし、分析によればこれは稀な事象である。
プルーニングロジックは、取引のライフサイクルの理解に依存する。使用済みの取引出力(UTXO)は、将来の支払いを検証するために必要なくなる。核心ロジックはモデル化できる。$L$を完全台帳とする。$A(t)$を、時点$t$までの時間窓においてノードが$L$から行ったすべてのデータアクセス(読み取り)の集合とする。本質的ワーキングセット $W$ は以下のように定義される:
$W = \{ d \in L \mid P(\text{将来の検証で } d \text{ にアクセス}) > \tau \}$
ここで、$\tau$は実証的に導出される小さな確率閾値である。$W$に含まれないデータはプルーニング可能である。セキュリティは、プルーニングされたデータに対してマークルプルーフを取得する能力に依存し、その証明サイズはブロックチェーンサイズに対して対数的である:$O(\log n)$。
シナリオ: 新しい企業が、信頼性の高い独立した取引検証のためにビットコインフルノードを実行したいが、ストレージインフラの予算が限られている。
フレームワークの適用:
結果: 企業は、370GB以上ではなく約15GBのストレージで完全な検証セキュリティを達成し、コストと複雑さを劇的に削減する。
核心的洞察: 本論文は、ブロックチェーンの最も陰湿なスケーリングボトルネックである状態肥大に対して、外科的ストライキを加えている。世界がTPS(秒間取引数)とエネルギー消費に夢中になる一方で、Sforzinらは、永続的で無制限のストレージ増加が分散化のサイレントキラーであることを正しく特定している。彼らの研究は、フルノードが履歴全体を保存する必要があるというドグマが、暗号学的必然性ではなく自ら課した制約であることを証明している。真に必要なのは、現在の検証に必要な証明を伴うデータのサブセットを保存することであり、この区別は実用上非常に大きな意味を持つ。
論理的流れ: 議論は優雅に実証的である。トップダウンのプロトコル全面改訂を提案する代わりに、彼らはまずノードに計装を施して実際にどのデータが使用されているかを観察する。このデータ中心のアプローチは、最適化前にアプリケーションをプロファイリングするという、システム性能最適化のベストプラクティスを反映している。「ワーキングセット」が約15GBであるという発見が要である。これは問題を「ビットコインをどう変えるか?」から「未使用の95%をどう安全に捨てるか?」へと変える。解決策である「インテリジェントなプルーニング + ネットワークから取得するマークルプルーフへのフォールバック」は、コンピュータアーキテクチャにおけるキャッシュ退去ポリシーや、現代のオペレーティングシステムがメモリページを管理する方法の背後にある原則を彷彿とさせる、実用的なエンジニアリングの模範である。
強みと欠点: 強みはその導入可能性である。クライアントサイドの変更として、論争を呼ぶハードフォークを必要とせず、近い将来の採用を可能にする。フルノード実行の障壁を直接下げ、ノードの中央集権化の傾向を逆転させる可能性がある。しかし、分析には欠点もある。第一に、新たな微妙な依存関係を導入する:プルーニングされたノードは、古いデータに対する証明を提供するためにネットワーク(具体的には、プルーニングされていない「アーカイブ」ノード)に依存しなければならない。これは二層のノードシステムを生み出し、アーカイブノードが不足したり悪意を持ったりした場合、理論的に悪用される可能性がある。第二に、Bonneauらがビットコインセキュリティに関する「SoK」で指摘しているように、(このアプローチが類似する)ライトクライアントのセキュリティモデルは、データ可用性に関する信頼仮定を導入するため、完全なアーカイブノードのそれよりも厳密に弱い。本論文は、この変化によるロングテールのセキュリティへの影響をやや軽視している。
実用的な示唆: ブロックチェーンプロジェクト、特に確立されたPoWチェーンにとって、この研究は「レガシーチェーン・スケーラビリティ」パッケージの青写真である。直ちに取るべき行動は、このプロファイリングとインテリジェントなプルーニングを、Bitcoin Coreのような主流クライアントにデフォルトの最適化オプションとして統合することである。規制当局や企業にとって、この技術は、準拠した自己検証ノードの実行をはるかに実現可能にし、サードパーティAPIプロバイダへの依存を減らす。将来を見据えると、この方法論は、異なるが同様に重要なストレージ課題を提示するイーサリアムの状態ツリーに適用されるべきである。最終的な洞察は、ブロックチェーンのスケーラビリティは単により速く多くを行うことではなく、既に持っているものをより賢く使うことであるということだ。この研究はその方向への重要な一歩であり、ブロックチェーンの価値を構成するセキュリティ保証を犠牲にすることなく分散化を維持する道筋を提供する。