イーサリアム Dencun アップグレードと潜在的な機会
著者:Biteye コア貢献者 Fishery IsIa
イーサリアムネットワークのアップグレード Dencun テストネットバージョンが2024年1月17日にGoerliテストネットに上线し、1月30日にSepoliaテストネットに成功裏に上线しました。Dencunアップグレードが私たちに近づいています。
2月7日のHoleskyテストネットのアップグレードを経て、メインネットのアップグレードが行われます。現在、カンクンアップグレードのメインネット上线が3月13日に正式に決定しました。イーサリアムのアップグレードはほぼ毎回テーマに沿った相場を伴い、イーサリアムの前回のアップグレードは2023年4月12日の上海アップグレードであり、POS関連のプロジェクトは市場からの注目を集めました。
以前の経験に基づけば、今回のDencunアップグレードでも事前に配置する機会があるでしょう。
Dencunアップグレードの背後にある技術的内容は比較的難解であり、上海アップグレードのように「イーサリアムがPoWからPoSに移行する」と一言で説明することはできず、配置の重点を把握するのが難しいです。
したがって、この記事ではわかりやすい言葉でDencunアップグレードの技術的詳細を説明し、読者に今回のアップグレードとデータ可用性(DA)やLayer 2などのトラックとの関連性を整理します。
1.EIP 4484
EIP-4844は今回のDencunアップグレードにおいて最も重要な提案であり、イーサリアムが去中心化の方法で拡張する道を実質的かつ重要な一歩を踏み出したことを示しています。
簡単に言えば、現在イーサリアムのレイヤー2は、レイヤー2で発生した取引をイーサリアムのメインネットのcalldataに提出し、ノードがレイヤー2ネットワークのブロック生成の有効性を検証するために使用します。
これにより生じる問題は、取引データが可能な限り圧縮されているにもかかわらず、レイヤー2の膨大な取引量にイーサリアムメインネットの高いストレージコストが掛かるため、レイヤー2ノードとレイヤー2ユーザーにとって依然として大きな出費となることです。価格要因だけでも、レイヤー2は多くのユーザーを失い、サイドチェーンに流れることになります。
EIP 4484は、より安価な新しいストレージ領域BLOB(Binary Large Object、バイナリ大オブジェクト)を構築し、BLOBストレージスペースを指すことができる新しい取引タイプ「BLOB-Carrying Transaction」を使用して、アップグレード前にcalldataに保存する必要があった取引データを置き換え、イーサリアムエコシステムのレイヤー2がガスコストを節約できるようにします。 BLOBストレージが安価な理由
誰もが知っているように、安価であることは代償を伴います。BLOBデータが同じサイズの普通のイーサリアムCalldataよりもコストが低い理由は、イーサリアムの実行層(EL、EVM)が実際にBLOBデータ自体にアクセスできないからです。
逆に、ELはBLOBデータの参照にしかアクセスできず、BLOB自体のデータはイーサリアムのコンセンサス層(CL、別名ビーコルノード)によってダウンロードおよび保存され、保存にかかるメモリと計算量は通常のイーサリアムCalldataよりもはるかに少なくなります。
さらに、BLOBには特性があり、限られた期間(通常約18日)しか保存できず、イーサリアムの帳簿のサイズのように無限に膨張することはありません。 BLOBの保存有効期限
ブロックチェーンの永久的な帳簿とは対照的に、BLOBは一時的なストレージであり、その可用時間は4096エポック、つまり約18日です。
期限が切れると、ほとんどのコンセンサスクライアントはBLOB内の特定のデータを取得できなくなります。しかし、以前に存在した証拠はKZGコミットメントの形式でメインネットに保持され、イーサリアムメインネットに永久に保存されます。
なぜ18日を選んだのか?これはストレージコストと有効性の間の妥協案です。
まず、今回のアップグレードの最も直感的な利益を受ける対象であるOptimistic Rollups(例:ArbitrumやOptimism)を考慮する必要があります。なぜなら、Optimistic Rollupsの設定に基づいて、7日間の不正証明(Fraud Proof)の時間ウィンドウがあります。
BLOBに保存されている取引データは、まさにOptimistic Rollupsが挑戦を開始する際に必要な資料です。
したがって、BLOBの有効期限はOptimistic Rollupsの不正証明がアクセスできることを保証する必要があります。簡単に言えば、イーサリアムコミュニティは2の12乗(4096エポックは2^12から導かれ、1エポックは約6.4分)を選択しました。 BLOB-Carrying TransactionとBLOB
これら二者の関係を理解することは、BLOBがデータ可用性(DA)において果たす役割を理解する上で非常に重要です。
前者はEIP-4484提案の全体であり、新しい取引の一種であり、後者はレイヤー2の一時的なストレージ取引の位置として理解できます。
両者の関係は、前者の大部分のデータ(レイヤー2取引データ)が後者に保存されていると理解できます。そして残りのデータ、すなわちBLOBデータのコミットメントはメインネットのcalldataに存在します。つまり、コミットメントはEVMによって読み取ることができます。
コミットメントをBLOB内のすべての取引をMerkleツリーに構築することを想像できます。そして、Merkleルート、すなわちコミットメントのみがコントラクトにアクセスできるようになります。
このようにすることで、EVMはBLOBの具体的な内容を知ることはできませんが、EVMコントラクトはコミットメントを知ることで取引データの真実性を検証することができます。
2.BLOBとLayer2の関係
Rollup技術は、データ可用性(DA)を実現するためにデータをイーサリアムメインネットにアップロードしますが、これはL1のスマートコントラクトがこれらのアップロードされたデータを直接読み取ったり検証したりするためではありません。
L1に取引データをアップロードする目的は、単にすべての参加者がこれらのデータを確認できるようにするためです。
Dencunアップグレード以前は、前述のように、Op-rollupは取引データをCalldataとしてイーサリアムに公開していました。したがって、誰でもこれらの取引情報を使用して状態を再現し、レイヤー2ネットワークの正確性を検証できます。
Rollup取引データは安価であり、かつ公開透明である必要があることは明らかです。Calldataはレイヤー2の取引データを専用に保存するための良い場所ではなく、BLOB-Carrying TransactionこそがRollupに特化したものです。
ここまで読んで、皆さんの心の中に疑問があるかもしれません。この取引データは重要ではないように見えますが、何の役に立つのでしょうか?
実際、取引データは限られた状況でのみ使用されます:
Optimistic Rollupの場合、信頼仮定に基づいて不誠実な問題が発生する可能性があるため、その場合にRollupがアップロードした取引記録が役立ちます。ユーザーはこのデータを利用して取引の挑戦(Fraud proof)を開始できます。
ZK Rollupの場合、ゼロ知識証明は状態更新が正しいことを証明しており、アップロードデータはユーザーが完全な状態を計算できるようにするためのものであり、レイヤー2ノードが正しく機能しない場合にエスケープハッチメカニズム(Escape Hatch、完全なL2状態ツリーが必要)を起動します。
これは、取引データがコントラクトで実際に使用されるシーンが非常に限られていることを意味します。たとえOptimistic Rollupの取引挑戦においても、取引データが「存在した」証拠(状態)をその場で提出する必要があり、その取引の詳細が事前にメインネットに保存される必要はありません。
したがって、取引データをBLOB要素に置く場合、コントラクトはアクセスできませんが、メインネットのコントラクトはこのBLOBのコミットメントを保存できます。
将来的に挑戦メカニズムが特定の取引を必要とする場合、その取引のデータを提供するだけで済みます。対応することができれば、コントラクトを納得させ、取引データを挑戦メカニズムに提供することができます。
これにより、取引データの公開透明性を利用しつつ、すべてのデータを事前にコントラクトに入力する際の巨大なガスコストを回避できます。
コミットメントのみを記録することで、取引データの可検証性を達成しつつ、コストを大幅に最適化しました。これはRollup技術が取引データをアップロードするための巧妙かつ効率的な解決策です。
なお、Dencunの実際の操作においては、CelestiaのようなMerkleツリーの方式でコミットメントを生成するのではなく、巧妙なKZG(Kate-Zaverucha-Goldberg、多項式コミットメント)アルゴリズムを使用しています。
Merkleツリー証明と比較して、KZG証明の生成プロセスは相対的に複雑ですが、検証の体積は小さく、検証手順も簡単です。ただし、信頼できる設定(ceremony.ethereum.orgは現在終了しています)が必要であり、量子計算攻撃に対する防御能力はありません(DencunはVersion Hashの方法を使用しており、必要に応じて他の検証方法に変更できます)。
現在人気のDAプロジェクトCelestiaは、Merkleツリーの変種を採用しており、KZGに比べてノードの誠実性にある程度依存していますが、ノード間の計算リソースのハードルを下げ、ネットワークの去中心化特性を維持するのに役立ちます。
3.Dencunの機会
EIP4844はレイヤー2のコスト削減と効率化を実現する一方で、安全性のリスクも引き起こし、新たな機会をもたらします。
その理由を理解するためには、前述のエスケープハッチメカニズムまたは強制引き出しメカニズムについて話す必要があります。
レイヤー2ノードが無効になった場合、このメカニズムはユーザーの資金が安全にメインネットに戻ることを保証します。このメカニズムを起動する前提は、ユーザーがレイヤー2の完全な状態ツリーを取得する必要があることです。
通常、ユーザーはレイヤー2のフルノードにデータを要求し、Merkle Proofを生成し、それをメインネットのコントラクトに提出して自分の引き出しの正当性を証明します。
しかし、ユーザーがレイヤー2からエスケープハッチメカニズムを起動して退出しようとするのは、まさにレイヤー2ノードが悪事を働いているからであり、ノードが悪事を働いている場合、データを取得することはほぼ不可能です。
これがVitalikがよく言及するデータ保持攻撃です。
EIP-4844以前は、メインネットに永久的なレイヤー2の記録があり、レイヤー2ノードが完全なオフチェーン状態を提供できない場合、ユーザーは自分でフルノードをデプロイすることができました。
このフルノードは、イーサリアムメインネットからレイヤー2のオーダラーがメインネットに公開したすべての履歴データを取得することができ、ユーザーは必要なMerkle証明を構築し、その証明をメインネットのコントラクトに提出することで、L2資産の撤退を安全に完了できます。
しかし、EIP-4844以降、レイヤー2のデータはイーサリアムのフルノードのBLOBの中にしか存在せず、18日前の履歴データは自動的に削除されます。
したがって、前の段落で述べたように、メインネットを同期して完全な状態ツリーを取得する方法はもはや機能しません。レイヤー2の完全な状態ツリーを取得するには、第三者が愛のために保存したイーサリアムBLOBのすべてのデータ(本来は18日で自動削除されるべきもの)を持つメインネットノード、またはレイヤー2のネイティブノード(非常に少ない)を通じてのみ可能です。
このように、4844が上线された後、ユーザーが完全に信頼できる方法でレイヤー2の完全な状態ツリーを取得することは非常に困難になります。
ユーザーがレイヤー2の状態ツリーを安定して取得できない場合、極端な条件下で強制引き出し操作を行うことができません。したがって、4844はある程度、レイヤー2の安全性の短所/欠如を引き起こしました。
この安全性の欠如を補うためには、信頼を必要としないストレージソリューションを持つ必要があります。ここでのストレージは、イーサリアム内のデータを信頼を必要としない方法で保持することを指し、過去のストレージトラックとは異なり、「信頼を必要としない」というキーワードが存在します。
Ethstorageはこの信頼を必要としない問題を解決することができ、イーサリアム財団から2回の資金提供を受けました。
この概念は、Dencunアップグレードのトラックに本当に合致し、非常に注目に値します。
まず、Ethstorageの最も直感的な意味は、完全に去中心化された方法でDA BLOBの可用時間を延長し、4844以降のレイヤー2の安全性の最短所を補うことができることです。
さらに、既存のほとんどのL2ソリューションは、イーサリアムの計算能力を拡張すること、すなわちTPSを増加させることに主に焦点を当てています。しかし、イーサリアムメインネットに大量のデータを安全に保存する必要が急増しており、特にNFTやDeFiなどのdAppの普及によるものです。
たとえば、オンチェーンNFTの保存ニーズは非常に明白です。なぜなら、ユーザーはNFTコントラクトのトークンだけでなく、オンチェーンの画像も所有しているからです。Ethstorageは、これらの画像を第三者に保存することによって生じる追加の信頼問題を解決できます。
最後に、Ethstorageは去中心化dAppのフロントエンドのニーズも解決できます。現在の既存のソリューションは、主に中央集権的なサーバー(DNSを持つ)によってホスティングされており、この設定はウェブサイトが検閲やその他の問題の影響を受けやすくします。たとえば、DNSハイジャック、ウェブサイトのハッキング、サーバーのクラッシュ、トルネードキャッシュなどの事件がその証拠です。
現在、Ethstorageは初期のネットテスト段階にあり、このトラックの将来性を期待するユーザーは体験してみることができます。