Ethereumは、ガス代や取引速度のチャートには表れないものの、ネットワークの長期的な健全性を脅かす問題を静かに蓄積してきました。それはステートブロートと呼ばれています。Ethereum FoundationのStateless Consensusの研究者たちは現在、明確な警告を発しています:Ethereumの絶えず増大するステートは、保管がより困難に、提供がより困難に、そして非中央集権化がより困難になっているのです。
最近の提案で、チームはこの問題がなぜ重要なのか、スケーラビリティの向上がどのように意図せずそれを悪化させたのか、そしてノード運用が最大規模のインフラプロバイダーだけに限定されたエリート活動になることを防ぐ3つの具体的な道筋を示しました。
Ethereum State: Image Source: Ethereum Foundation
Ethereumのステートは、ネットワークが現在知っているすべての合計です。それにはアカウント残高、スマートコントラクトのストレージ、そして分散型アプリケーション(DApp)を実行するバイトコードが含まれます。それはチェーンのライブメモリです。
このステートは、数十億ドルの価値を決済し、DeFi、NFT、ゲーミング、そして企業のユースケースにわたる何千ものアプリケーションを調整するエコシステムを支えています。問題はシンプルですが深刻です:ステートは増加するのみです。何も削除されることはありません。
より多くのアプリケーションがコントラクトをデプロイし、より多くのユーザーがそれらと対話するにつれて、ステートは永続的に拡大します。すべてのフルノードは、たとえその大部分が二度と触れられることがなくても、このデータを保管し提供しなければなりません。
Ethereumのフルノードを実行することは既に高額です。ストレージ要件は上昇し続け、同期時間は増加し、チェーンが古くなるにつれてデータの提供はより脆弱になります。Foundationによると、ステートが大きくなりすぎたり複雑になりすぎて提供できなくなると、スタック全体がより中央集権化され、より脆くなります。
最近のスケーラビリティのアップグレードは、意図せずこの傾向を加速させてきました。Layer 2の拡張、EIP-4844のProto-Danksharding、そしてより高いガスリミットはすべて、Ethereum上でより多くの活動を可能にします。より多くの活動は、より多くのコントラクト、より多くのストレージ書き込み、そしてより速いステートの成長を意味します。
懸念は理論的なものではありません。研究者たちは、ステートサイズがボトルネックになる時期、ノードがチェーンの先頭と同期するのに苦労する時期、そしてクライアントの実装が極端なストレージ圧力下で失敗し始める時期を理解するために、積極的にストレステストシナリオを実施しています。
資金力のある少数のオペレーターグループのみがフルノードを実行できる場合、Ethereumの検閲耐性と中立性が弱まり始めます。
Ethereumの長期的なロードマップには、バリデーターがフルステートを保管せずにブロックを認証できるステートレスが含まれています。これはバリデーターの負担を大幅に軽減し、より高いスループットへの扉を開きます。
しかし、それは新たな疑問を提起します:バリデーターがステートを保管しない場合、誰が保管するのでしょうか?
ステートレス設計では、ほとんどの履歴および アクティブなステートは、ブロックビルダー、RPCプロバイダー、MEVサーチャー、そしてブロックエクスプローラーなどの専門的なオペレーターによって保持される可能性が高いです。その集中は、検閲、停止時の利用可能性、そして規制または外部圧力下での耐性に関する新たなリスクを導入します。
Stateless Consensusチームは、このトレードオフについて明確にしています。ステートレス検証はスケーラビリティを向上させますが、慎重な設計なしには、Ethereumをインフラの中央集権化へと押し進める可能性があります。
この問題に対処するため、Ethereum Foundationの研究者たちは、それぞれ異なる角度からステート成長に取り組む3つの補完的なアプローチを概説しました。
ステート期限切れは、アクティブなステートから非アクティブなデータを削除することに焦点を当てています。チームは、Ethereumステートの約80パーセントが1年以上触れられていないと推定していますが、それでもすべてのノードはそれを保管する必要があります。
このモデルでは、非アクティブなデータはアクティブセットから期限切れになりますが、後で暗号証明を使用して復活させることができます。2つのバリエーションが検討されています。1つは、ほとんど使用されないエントリをマークして期限切れにし、後で復活させるオプションを付けます。もう1つは、ステートを時代にグループ化し、古い時代を凍結しながら最近のデータをアクティブに保ちます。
目標はシンプルです:誰も使用していないデータをすべてのノードに運ばせることを止めることです。
ステートアーカイブは、ホットステートとコールドステートを分離します。頻繁にアクセスされるデータは高速で制限されたままですが、古いデータは履歴認証のためにアーカイブストレージに保存されます。
このアプローチにより、チェーンが古くなるにつれて劣化するのではなく、ノードのパフォーマンスは時間の経過とともに比較的安定したままになります。総ステートが成長し続けても、ほとんどのノードの運用負担は管理可能なままです。
また、パフォーマンスに最適化されたノードと履歴および研究に最適化されたノードの間で、より明確な役割を作成します。
部分的ステートレスにより、ノードはすべてではなく、ステートのサブセットのみを保管できます。ウォレットとライトクライアントは、依存するデータをキャッシュし、中央集権化されたRPCプロバイダーへの依存を減らします。
このモデルはストレージコストを削減し、参加を拡大し、個人や小規模なオペレーターが大規模なハードウェア投資なしでノードを実行することを容易にします。
3つのアプローチすべてにわたって、統一された目標は、パフォーマンスのボトルネックとしてステートを減らし、それを保持するコストを下げ、そして提供を容易にすることです。
Foundationは、将来のより野心的なプロトコル変更との互換性を維持しながら、今日実際のメリットを提供できるソリューションを優先しています。現在の焦点領域には、アーカイブノードツールの改善、RPCインフラの強化、そして部分的ステートレスノードの実行を容易にすることが含まれます。
これらの取り組みは意図的に実用的です。チームは、それらがすぐに役立ち、Ethereumの長期的なロードマップと互換性があるために選ばれたことを強調しました。
開発者、ノードオペレーター、そしてインフラチームは、テストと議論に参加するよう招待されています。研究者たちは、これはFoundationだけで解決できるものではないことを明確にしました。
Foundationは、この作業が提案を表しており、統一された組織的立場ではないことを強調するよう注意深く述べました。Ethereumのプロトコル開発には幅広い意見が含まれており、単一の道筋が確定されているわけではありません。
その開放性は、長期的なプロトコルの方向性についてより明確にコミュニケーションするというFoundationの最近の取り組みと一致しています。ステート管理の研究と並行して、Ethereumは、Layer 2ネットワークを単一のチェーンのように感じさせるためのInterop Layerにも取り組んでおり、リーダーシップとR&Dの変更を展開し、財務戦略を調整し、Fusakaで年2回のハードフォークスケジュールに移行しています。
Ethereumのステートブロートは見出しを飾る問題ではありませんが、Ethereumの非中央集権化の約束の中心に位置しています。ノードの実行があまりにも高額または複雑になると、スループットと使いやすさが向上してもなお、ネットワークはインフラの集中に向かってドリフトするリスクがあります。
Ethereum Foundationのメッセージは単刀直入です。データを安全に保管し提供する能力をスケーリングせずにチェーンをスケーリングするだけでは不十分です。今後数年間でEthereumがそのステートをどのように管理するかが、誰が参加でき、誰がインフラを制御し、そしてプレッシャー下でネットワークがどれだけ耐性を持つかを形作ることになります。
議論は始まったばかりであり、ここで行われる選択は次のアップグレードサイクルをはるかに超えて響くでしょう。


