Ethereumの創始者ヴィタリック・ブテリン氏は、ネットワークの次のステップとして、余分な負荷を削減することを発表しました。彼はこれを「パージ」と呼んでいます。
ヴィタリック氏はシリーズの第5回ブログ投稿で、ブロックチェーンの肥大化を解消し、冗長な機能を排除し、プロトコルを合理化するという容赦ない計画を提示しました。 Ethereumのネットワークは、時代遅れのトランザクションと複雑なレガシー機能で詰まっています。.
解決策は?ヴィタリックは、履歴データと状態データの削減、プロトコル機能の簡素化、ノードの運用容易化を望んでいます。この大胆な決定は、 Ethereumの急速なデータ増加への対応です。.
現在、完全な Ethereum ノードには、実行クライアントのみで 1.1 テラバイトを超えるストレージが必要であり、コンセンサス データにはさらに多くのストレージが必要です。.
取引とアカウントが蓄積されるにつれて、ストレージ容量の増大が必要となり、ボトルネックが発生します。このままでは、 Ethereum 動作が遅くなり、新規クライアントがチェーンを最新の状態に更新するだけで、非常に長い同期時間が必要になるリスクがあります。.
履歴の有効期限: Ethereumのメモリ負荷の削減
Vitalikは、各ノードが記録されたすべてのトランザクションを保持するのではなく、ノードは最新のデータのみを保持することを提案しています。履歴ブロック、古いトランザクション、領収書は、ノード間で小分けされて分散されます。.
ヴィタリック氏にとって、履歴データはトレントネットワークのように機能するべきだ。つまり、ノードがビット単位のデータを保存することで、1つのノードが全てを保持するのではなく、データの可用性を確保するのだ。「毎年、数百ギガバイトもの古いブロックが蓄積されていくのです」と彼は述べた。.
ノードがすべてのデータを保持する現在のモデルは既に調整されています。プルーフ・オブ・ステークに不可欠なコンセンサスブロックは6ヶ月間保存されますが、ブロブ(より大きなトランザクションデータブロック)は18日後に消滅します。.
ヴィタリック氏の新たな提案であるEIP-4444は、過去のブロックとレシートの保存期間を1年間に制限することを提唱している。彼の最終目標は? 各ノードが履歴の一部のみを保存し、マークル証明と消失訂正符号を用いて正確性を保証する分散型ネットワークだ。.
この分散型履歴ストレージは、 Ethereumのデータの信頼性を低下させることはありません。ヴィタリック氏は、ノード数を増やすことでネットワーク全体でデータのコピーが増加し、履歴の各断片が十分に裏付けられるようになると主張しています。.
消失訂正符号は、ブロブをデータサンプリングのために利用可能に保つ技術と同様に、レジリエンス(回復力)を高める。ヴィタリック氏はまた、ポータルネットワークとピアツーピア方式も解決策として挙げており、これにより Ethereum 中央集権型ストレージに依存せずにデータ分散を管理できるようになる。.
状態の有効期限: データの永続性を制限する
ヴィタリックのパージには、履歴に加えて、より複雑な「状態の有効期限」という問題も含まれています。履歴とは異なり、状態データ(アカウント残高、ノンス、スマートtracのストレージなど)は有効期限切れになりにくいです。一度作成された状態オブジェクト(ETHを持つアカウントやtracのストレージスロットなど)は、どのトランザクションからもアクセス可能です。.
そして、オブジェクトが増えるごとに、 Ethereumのデータは増大していきます。これを抑えるため、ヴィタリックは自動matic 期限の導入を提案し、最近アクセスされていないデータを削除します。重要なのは、状態の有効期限と Ethereumの永続性のバランスを取ることです。.
彼は、ユーザーが「5年間姿を消しても、戻ってきても資金にアクセスできる」べきだと考えています。このシステムには効率性が求められ、開発者にとって余分な計算や複雑なモデルは必要ありません。.
Ethereum 、ユーザーにデータ維持費を請求する「ブロックチェーンレント」や、ブロックチェーンをリセットしてデータ量を削減する「リジェネシス」など、様々なアイデアを試してきた。しかし、どちらも成功しなかった。.
状態の肥大化に対処するための2つの新たな提案があります。1つ目は「部分的な状態の有効期限」です。ネットワークはデータをチャンクに分割し、最新のチャンクのみを保存しながら、存在を証明するための「スタブ」(非アクティブなデータの小さな断片)を保存します。.
チャンクが削除された場合、ユーザーは過去のデータの証拠を用いてそれを復元できます。Vitalikの設計提案であるEIP-7736は、Verkleツリーと「幹葉」モデルを用いてデータをグループ化します。6ヶ月間アクセスされていないデータは削除され、必要に応じて復元できるスタブのみが残ります。.
2つ目のアイデアは、アドレス期間ベースの有効期限です。これは、状態オブジェクトを時間で分割するものです。各アカウントには「アドレス期間」があり、直近2期間のデータのみが保存されます。.
古いデータが必要な場合は、Merkle証明を提出することで復元できます。この期間ベースの設定では、アドレス形式の変更が必要となり、現在の20バイト形式を拡張してバージョン番号と期間を含める必要があります。.
ヴィタリック氏は、互換性を維持するためにアドレス空間のtracも提案している。そうなると、 Ethereumの核となる可用性という約束を犠牲にすることなく、ユーザーがこのシステムを理解し、信頼できるようにすることが課題となるだろう。.
機能のクリーンアップ: Ethereumのコードの複雑さを削減
パージの最終段階はプロトコルの複雑さに影響を及ぼす。ヴィタリック氏は「新しい機能が追加されるたびに Ethereum 使いにくくなるが、何かを削除するのは悪夢だ」と述べている。最も悪名高い例は、ユーザーがtracストレージを削除できるオペコードであるSELFDESTRUCTだ。.
当初は自発的なステートクリアを可能にしていましたが、ほとんど使われておらず、サービス拒否攻撃のリスクがあります。 EthereumのDencunハードフォークによりこのオペコードは弱体化しており、Vitalik氏は近々完全に削除する予定です。.
その他の肥大化した機能としては、古いトランザクションタイプ、冗長なデータ形式、エンディアン混合プロトコル設定などが挙げられます。これらの不具合は開発を複雑にし、 Ethereum アップグレードを困難にしています。.
Vitalik氏のクリーンアップリストには、データ形式をRLPからSSZに移行し、ブロックリソースをより適切に管理するためのガスルールを簡素化し、RIPEMD160、MODEXP、BLAKEといった未使用のプリコンパイルを削除することも含まれます。また、彼は Ethereum ステートレスクライアントモデルに移行し、ほとんどのノードのストレージ負荷を軽減することも支持しています。.
これらの変更の一部にはアカウントのtracが必要となり、ユーザーは「デフォルトのアカウントEVMコード」を通じて従来のトランザクションタイプを処理できるようになります。Vitalik氏によると、これにより Ethereum 仮想マシン(EVM)が簡素化され、コードサイズも削減されます。長期的には、EVM自体がアップグレードされる可能性もあります。.
彼は、 Ethereum 開発者はRISC-VやCairoのような新しい実行モデルを検討しているか、あるいはEVMオブジェクトフォーマット(EOF)を使用してコードルールを標準化する可能性もあると説明しています。.
EOFはガスルールを変更し、特定の命令を禁止することでモジュールアップグレードを可能にし、 Ethereumのスケーラビリティを向上させます。このフォーマットにより、開発者は段階的な改善を行うことが可能になり、最終的には Ethereum の軽量化に貢献するとされています。.
しかし、ヴィタリックは別の選択肢を提示しました。 「より根本的なEthereum簡素化戦略は、プロトコルは現状のまま維持しつつ、その大部分をプロトコル機能からコントラクトコードに移行することですtrac 」

