Vitalik ButerinがEIP-7864の変更で80%の証明コスト削減を目指す

2時間前
7分読む
1 ビュー

Ethereumの証明効率向上に向けた提案

Ethereum(ETH)の共同創設者であるVitalik Buterinは、ブロックチェーンネットワークにおける証明効率の課題に対処するための2つの技術的変更を提案しました。これらはEIP-7864および関連文書に概説されています。

EIP-7864の概要

短期的な提案であるEIP-7864は、Ethereumの現在の六進数Keccak Merkle Patricia Treeを、より効率的なハッシュ関数を利用したバイナリツリー構造に置き換えることを目的としています。提案によると、既存の六進数構造は、Ethereumの開発者が現在追求している証明重視のアーキテクチャとは異なる優先順位のために設計されました。

バイナリツリー構造は、現在のシステムよりも4倍短いMerkleブランチを生成します。

これは、バイナリ操作が32倍のlog(n)を必要とするのに対し、六進数は512倍のlog(n)を4で割ったものだからです。この削減により、クライアント側のブランチ検証コストが低下し、Heliosやプライベート情報取得システムなどのツールのデータ帯域幅要件も同様に減少します。

証明効率の向上は、ブランチの長さの改善を超えて広がります。提案によれば、短いブランチはハッシュ関数の最適化とは別に、3倍から4倍の改善をもたらします。Keccakの代わりにBlake3を実装することで、さらに3倍の改善が得られる可能性があり、Poseidonのバリエーションは100倍の改善をもたらす可能性がありますが、Poseidonの導入前には追加のセキュリティ分析が必要です。

バイナリツリー設計の利点

バイナリツリー設計には、隣接するストレージスロットを64から256スロットのページにグループ化するページベースのストレージシステムが含まれています。ブロックヘッダーと最初の1から4キロバイトのコードおよびストレージは同じページを共有し、初期ストレージスロットから読み取る契約は、個別のアクセスコストではなくバッチ効率の恩恵を受けることができます。

提案は、初期ストレージスロットからデータを読み込む分散型アプリケーションに対して、1トランザクションあたり1万ガス以上の節約ができると見積もっています。

これは、アクティブに展開されている契約のかなりの部分を占めます。提案によると、バイナリツリーは実装と監査プロセスを簡素化します。この構造は、さまざまなサイズの契約に対してより予測可能なアクセス深度を提供し、実行コストのばらつきを減少させ、将来の状態期限開発に必要なメタデータを埋め込むためのスペースを作ります。

長期的な提案:EVMの置き換え

長期的な提案は、Ethereum Virtual Machine(EVM)をRISC-Vのようなより効率的な仮想マシンに置き換えることを含みます。提案は、EVMのアーキテクチャが証明重視のブロックチェーンに最適化されておらず、これを置き換えることで根本的な非効率性に対処できると主張しています。

Buterinの提案は、RISC-VがEVMに対して4つの利点を持つとしています。

  • 生の実行効率:RISC-VはEVMを上回り、多くのプレコンパイルの必要性を排除します。
  • 証明者の効率:ゼロ知識証明者は現在RISC-Vで書かれており、既存の証明インフラストラクチャとの自然な整合性を生み出します。
  • クライアント側の証明:RISC-V VMは、ユーザーが特定のデータとのアカウント相互作用についてゼロ知識証明をローカルに生成できるようにし、EVMが外部ツールなしで現在サポートしていないプライバシーと検証アプリケーションを可能にします。
  • シンプルさ:RISC-Vインタープリターは数百行のコードで実装可能です。

展開ロードマップと今後の展望

提案に示された展開ロードマップには3つの段階が含まれています。

  1. 第一段階では、新しい仮想マシン(おそらくRISC-V)がプレコンパイルのみを処理し、現在のプレコンパイルと新しいプレコンパイルが新しいVMのコードブロブになります。
  2. 第二段階では、ユーザーが新しいVMに直接契約を展開できるようになります。
  3. 第三段階では、EVMが引退し、新しいVMで書かれたスマートコントラクトとして再実装され、既存の契約との後方互換性を保持します。

主な変更はガスコストの調整であり、これは同時に進行するスケーリング開発によって影を潜めると予想されています。Buterinは、両方の変更が異なる角度から同じ根本的な課題に対処していると特徴づけています。

提案によると、ステートツリーとVMは、効率的な証明におけるボトルネックの80%以上を占めています。一方のコンポーネントに対処するだけでは、より大きな問題が部分的に未解決のままとなり、両方に対処することで、Ethereumが開発しているゼロ知識証明重視のアーキテクチャに構造的に整合したプロトコルが生まれます。

提案は、VMの置き換えが現在Ethereum開発コミュニティ内での合意を示していないことを認めており、ステートツリーの変更が完了するとこの変更がより明確になると述べています。提案は、変更を順次行うものとして提示しています:最初にバイナリツリー、次に新しいステート構造の周りで証明インフラストラクチャが成熟した後にVMの置き換えが行われます。EVMは数年にわたる段階的な追加を通じて複雑さを蓄積しており、提案はEthereumの機能要件を満たすためにはVMに対処する必要があると述べています。