きたるEthereumのDencunアップグレードの理解とナビゲート
2013年のホワイトペーパーリリース以来、Ethereumは誕生から9年を迎えました。この長く輝かしい期間にEthereumは11のメジャーアップグレードを成功裏に通過し、それぞれがそのエコシステムに新たな物語と機会を注入してきました。現在のセレニティフェーズ(Ethereum 2.0)では、創設者のVitalik Buterin氏はスケーラビリティ、セキュリティ強化、コンセンサスメカニズム、経済モデルの最適化に焦点を当てた6段階のアップグレードロードマップを概説しています。Vitalik Buterin氏のEthereumのロードマップによるとDencunのアップグレードは「The Surge」の一部です。
The Surge
「The Surge」フェーズでは主に持続的なスケーラビリティの問題に対処することを目的としており、最終的にはEthereumで毎秒10万トランザクション(TPS)のパフォーマンスレベルを達成し従来の電子決済の速度に近づけることを目標としています。このアップグレードはシャーディングとしても知られるDanksharding(以下「DS」)によって実現されますが、本記事では今年予定されているDencunのアップグレードに焦点を当てます。
:quality(80)/2024-02-22/F7CB013C022FEBD97DE625219C30BD54.jpg)
Dencunアップグレードとは?
Dencunアップグレードはデータストレージを増やしコストを削減するために設計された重要なEthereumの改善です。Dencunアップグレードには5つのEthereum改善提案(EIP)が含まれており、特にEIP-4844が注目されています。EIP-4844はEthereumのスケーラビリティの問題に対処することを目的としており、EthereumのLayer2ソリューションのトランザクションコストを削減しより広範なL2エコシステムに直接利益をもたらします。コアとなるEIP-4844に加え他の改善提案にはEIP-1153、EIP-4788、EIP-5656、EIP-6780があります。
1月17日と30日、EthereumはGoerliとSepoliaのテストネットワークでDencunアップグレードのテストを開始しました。現在のテストネットワークは順調に稼働しており、Blob量も正常に提出されています。その後のHoleskyテストネットでのテストは2月7日に予定されておりメインネットの実装日はまだ発表されていません。
:quality(80)/2024-02-22/08C81CBD15CEAEF69EE870BFAEB76898.png)
EIP-4844(proto-Danksharding):
現在、EthereumのLayer2の取引データはすべてLayer1のCalldataに保存されています。しかしCalldataの容量は限られているため増大するストレージ需要を満たすことができず、データ使用コストが高くなりEthereumノードの計算負荷が増加します。DencunのアップグレードではEIP-4844の新しいデータストレージ構造であるBlobが導入され、特にLayer2からLayer1に送信されたトランザクションデータを保存するように設計されています。BlobはCalldataとは別にコンセンサスレイヤーに保存され、Ethereum仮想マシン(EVM)からアクセスできないようになっています。Blobの役割はLayer1に完全な実行を要求することなく一定期間内(約1ヶ月)に保存されたデータの需要側アクセス検証を満たすことでありノードの作業負荷を大幅に軽減します。
:quality(80)/2024-02-22/DC0EDBE2D8507A5BE31DEB44FC03D9AE.png)
(出典:https://hackmd.io/@luozhu/SyleCcpti)
現在Blobのサイズは128KBに固定されており、1つのRollupが購入できるのはBlob全体のみでデータの個々の部分は購入できません。全体として、1つのブロックに6つの完全なBlobをアタッチするとブロックサイズが約40%増加します。現在のブロックサイズが約1.875MBであることを考えると、完全なBlobセットは約0.75MBを追加する可能性があります。この増加は18日間のローリング期間で発生するため、ネットワークノードのストレージ容量が長期的に増加することはありません。
:quality(80)/2024-02-22/4B7282C05E265173B8F8BBBEC21B228F.png)
新Precompile(Point Evaluation Precompile):
さらにEIP-4844ではPoint Evaluation Precompileという新しいPrecompileが導入され、Optimistic RollupおよびZK RollupソリューションのBlob関連データの検証が容易になりました。Optimistic RollupではPoint Evaluation Precompileは主に不正証明提出時に提供される基礎データの検証に使用されます。ZK Rollupでは2つの重要なコミットメントの検証に使用されます。つまり BlobコミットメントとZK Rollup独自のコミットメントです。Point Evaluation Precompileを活用することでZK Rollupはこれらのコミットメントが同じデータを指していることを効果的に証明することができ、データの一貫性を確保しZK Rollupシステム全体の信頼性とセキュリティを提供します。
EIP-1153 (Instant Storage Operations):
現在、Ethereum上のすべてのデータストレージは一時的なデータの保存を含む永続的なストレージモデルに従っており、その結果として浪費と高いガス料金が発生しています。EIP-1153はスマートコントラクトの実行中に一時的またはインスタントストレージを処理するための新しいメカニズムを導入することを目的としています。インスタントストレージ操作の導入によりスマートコントラクトは完全なトランザクション実行サイクル中に一時ストレージデータを読み込んだり呼び出したりすることができ、トランザクション実行サイクル終了後に一時データを消去します。
EIP-4788 (Beacon Block Root Submission):
Ethereum仮想マシン(EVM)とBeacon Chain(Ethereumのコンセンサス層)の間の現在の独立性はいくつかの課題を提起しています。EVMはBeacon Chainに直接アクセスできず、Beacon Chainからデータとステータスを取得するために外部の信頼できるオラクルに依存しています。EIP-4788は各実行ブロックヘッダにBeacon Chainブロックルートを配置し、EVMがEthereumのコンセンサス層のステータスとデータに直接アクセスできるようにします。これによりプロトコルレベルのオラクルが導入され運用効率と精度が向上し、外部オラクルに関連するリスクが排除されます。
EIP-5656 (MCOPY Opcode):
EIP-5656はスマートコントラクトの実行中にメモリ内のデータをコピーするプロセスを最適化するMCOPYオペコードを導入します。メモリコピーとはメモリ内のある場所から別の場所にデータを移動するプロセスを指し、データ構造の構築やオブジェクトのコピーに使用されるコンピューティングの基本操作です。MCOPYオペコードの採用により関連操作に関連するガス料金が削減されると同時にコントラクト実行のパフォーマンスが向上します。
EIP-6780(SELFDESTRUCTの制限):
既存のSELFDESTRUCTオペコードは、その名が示すように開発者がスマートコントラクトをブロックチェーンから完全に削除することを可能にします。実行するとコントラクトのコードとストレージがEthereumから削除され、コントラクト内の残りのETHが指定されたアドレスに送信されます。この操作はデプロイされたコントラクトコードとストレージデータをチェーンから削除することを含むため、アカウントの状態に大きな変更を伴います。
EIP-6780はSELFDESTRUCTオペコードの使用を制限することを目的としています。これは、スマートコントラクトの作成とSELFDESTRUCTオペコードの実行が同じトランザクション内で行われる場合にのみ適用されます。その他のケースではコードの削除やストレージの削除は行われません。
まとめ:
ブロックチェーン技術のパイオニアとして、Ethereumは一貫してアップデートやアップグレードを通じてその技術的能力を進化させビジネスやユーザーの期待の高まりに応えてきました。Dencunのアップグレードはスケーラビリティとパフォーマンス向上のためのロードマップにおいて、Ethereumにとって重要なステップとなります。
Dencunアップグレードの実装により、Ethereumはセキュリティ、スケーラビリティ、持続可能性の面で大幅な進歩を遂げブロックチェーンの将来におけるより広範なアプリケーションのための強固な基盤を築くでしょう。