イーサネット・ネットワークのアップグレード 2024年1月17日にGoerliテストネットでDencunテストネット版が稼動し、1月30日にはSepoliaテストネットが正常に稼動し、Dencunのアップグレードがますます近づいています。
2月7日のHoleskyテストネットアップグレードの後、メインネットアップグレードとなり、3月13日にCancunアップグレードメインネットがライブになることが正式に発表されました。
イーサリアムのアップグレードは、ほとんどの場合、テーマに沿った相場の波を伴います。前回のイーサリアムのアップグレードや2023年4月12日の上海のアップグレードをなぞると、POS関連のプロジェクトはすべて市場で求められていました。
以前の経験が何であれ、今回のDencunのアップグレードも早い段階でチャンスが訪れるでしょう。
また、Dencunのアップグレードの背景にある技術的な内容は比較的曖昧であるため、上海のアップグレードのように「イーサはPoWからPoSに移行する」という一文でまとめることができず、Dencunのアップグレードのポイントを捉えるのは難しい。
そこでこの記事では、Dencunのアップグレードの技術的な詳細を平易な言葉で説明し、データ可用性DAやレイヤー2といったトラックとアップグレードの関係を読者に説明します。
EIP 4484
EIP-4844は、今回のDencunアップグレードで最も重要な提案です。アップグレードは、分散化された方法でイーサネットをスケーリングする道において、具体的かつ重要な一歩を示すものです。
平たく言えば、イーサネットの第2層は現在、ノードが第2層ネットワーク上のブロックの有効性を検証するために、第2層で発生したトランザクションをメインイーサネットネットワーク上のcalldataに提出する必要があります。
これの問題点は、トランザクションデータは可能な限り圧縮されているとはいえ、第2層のトランザクションの膨大な量とメインイーサネットワークの高いストレージコストのベースが掛け合わされ、第2層ノードと第2層ユーザーにとって依然として大きな出費となっていることです。価格要因だけで、レイヤー2は多くのユーザーをサイドチェーンに奪われることになるでしょう。
一方、EIP 4484は、新しい、より安価なストレージ領域であるBLOB(Binary Large Object)と、「BLOB-Carrying Transaction」と呼ばれるBLOBストレージに向けることができる新しいタイプのトランザクションを作成します。トランザクション」は、BLOBストレージ・スペースを指すことができる新しいトランザクション・タイプで、アップグレード前にcalldataに保存されていたトランザクション・データに取って代わり、イーサネット・エコシステムの第2層におけるガス・コストの削減を達成するのに役立ちます。
BLOBストレージが安い理由
安さには代償が伴うことはよく知られていますが、BLOBデータは、同じようなサイズの通常のEtherCalldataよりもはるかに安いです。BLOBデータが同じようなサイズの通常のEtherCalldataよりも安価な理由は、Ether実行レイヤ(EL、EVM)が実際にはBLOBデータ自体にアクセスできないからです。
その代わりに、ELはBLOBデータへの参照にのみアクセスでき、BLOBデータ自体はイーサネットのコンセンサスレイヤー(CL、別名ビーコンノード)によってのみダウンロードおよび保存できます。
また、BLOBには、有限の期間(通常は約18日間)しか保存できないという特徴があり、イーサネット台帳のサイズのように無限に拡大することはありません。
BLOBのストレージ有効期間
ブロックチェーンの永久的な元帳とは対照的に、BLOBは4096エポック、つまり約18日間利用可能な一時的なストレージです。
期限切れ後は、ほとんどのコンセンサス・クライアントはBLOBから特定のデータを取り出すことができなくなる。しかし、以前の存在の証拠はKZG約束の形で保持され、メインEtherNetに永久に保存されます。
なぜ18日間なのでしょうか?保存のコストとその有効性の妥協点です。
まず、このアップグレードの恩恵を最も直感的に受けられるOptimistic Rollups(ArbitrumやOptimismなど)について考えてみましょう。Optimistic Rollupsは、Fruad Proofのウィンドウが7日間に設定されているからです。
ブロブに保存されているトランザクションデータは、まさにOptimistic Rollupsがチャレンジを開始するために必要なものです。
そのため、ブロブの寿命はOptimistic Rollupsのプルーフ・オブ・フェイルにアクセス可能であることが保証されなければならず、単純化のためにイーサリアムコミュニティは2の12乗(2^12から派生した4096エポック、1エポックはおよそ6.4分)を選択した。
BLOB-Carrying Transaction vs. BLOB
この関係を理解することは、BLOBの役割を理解する上で重要です。この関係を理解することは、データ可用性(DA)におけるBLOBの役割を理解する上で重要です。
前者は全体としてEIP-4484提案の一部である新しいタイプのトランザクションであり、後者はレイヤー2の一時保存トランザクションの場所として理解できます。
この2つの関係は、前者のデータ(レイヤー2のトランザクションデータ)のほとんどが後者に保存されることを意味すると理解できます。残りのデータ、つまりBLOBデータのコミットメントは、メインネットワークのcalldataに格納される。言い換えれば、コミットメントはEVMによって読み取り可能である。
コミットメントは、BLOB内のすべてのトランザクションのメルクルツリーを構築していると考えることができ、コミットメントであるメルクルのルートだけがコントラクトによってアクセスできます。
これは、EVMがBLOBの内容を知ることはできないが、EVMコントラクトはコミットメントを知ることでトランザクションデータの真正性を検証できるという目標を達成するための賢い方法です。
BLOBとレイヤー2の関係
ロールアップ技術は、データをメインイーサネットネットワークにアップロードすることで、データの可用性(たとえば、メインイーサネットネットワーク上のデータの可用性)を実現します。メインネットにデータをアップロードすることで、データの可用性(DA)を実現しますが、これはL1のスマートコントラクトがこのアップロードされたデータを直接読んだり検証したりできるようにすることを意図したものではありません。
L1に取引データをアップロードする目的は、単にすべての参加者が閲覧できるようにすることです。
Dencunのアップグレード以前は、前述の通り、Op-rollupは取引データをCalldataとしてイーサに公開していました。そのため、誰でもこのトランザクション情報を使って状態を複製し、レイヤー2ネットワークの正しさを検証することができます。
ロールアップのトランザクションデータは安価で透過的である必要があり、Calldataはレイヤー2専用のトランザクションデータを保存するのに適した場所ではないのに対して、BLOB-Carrying Transactionsはロールアップのために作られたものであることは容易に理解できる。
これを読んで、重要でないように見えるこの種のトランザクションデータの用途は何だろうと思ったかもしれません。
実は、トランザクションデータが使用されるのは、以下のようないくつかのケースに限られます:
楽観的ロールアップの場合。
ZKロールアップの場合、ゼロ知識証明は状態の更新がゼロ知識証明と同じであることを証明しました。li>
ZKロールアップでは、状態の更新が正しいことが証明されており、データをアップロードすることは、ユーザー自身が完全な状態を計算できるようにするための手段にすぎず、L2ノードが正しく機能しない場合に備えて、エスケープハッチメカニズム(最後のセクションで説明したように、完全なL2状態ツリーを必要とする)を有効にするための手段です。
これは、トランザクションデータがコントラクトによって実際に使用されるシナリオは限られていることを意味します。Optimistic Rollupのトランザクションチャレンジでも、必要なのはトランザクションの詳細が事前にメインネットに保存されていたことではなく、トランザクションデータがその場(ステータス)に「存在していた」ことの証明を提出することだけである。
そのため、トランザクションデータをBLOB要素に置くと、コントラクトがそれにアクセスできなくても、メインネットコントラクトはBLOBに対するコミットメントを保存することができます。
将来、チャレンジメカニズムが特定のトランザクションを必要とする場合、単にそのトランザクションをコントラクトに提供すればよいのです。
将来、チャレンジ・メカニズムが特定のトランザクションを要求する場合、そのトランザクションをコントラクトに提供すればよい。これでコントラクトは納得し、チャレンジメカニズムがトランザクションデータを利用できるようになる。
これにより、トランザクションデータのオープン性と透明性を活用し、また、すべてのデータを前もってコントラクトに入力することによる膨大なガスコストを回避することができる。
コミットメントのみを記録することで、コストを大幅に最適化しながら、取引データを検証することができます。これは、ロールアップ技術で取引データをアップロードするための、賢く効率的なソリューションです。
Dencunは実際には、CelestiaのようにCommitmentsを生成するためにメルクルツリーアプローチを使用せず、代わりに巧妙なKZG(Kate-Zaverucha-Goldberg)アルゴリズムを使用していることに注意することが重要です。コミットメント)アルゴリズムを使用します。
KZGプルーフの生成プロセスは、メルクルツリープルーフに比べて比較的複雑ですが、より小さく、検証も簡単です。ただし、信頼できるセットアップが必要で(ceremony.ethereum.orgは現在閉鎖されています)、量子コンピューティング攻撃(Denck)には耐性がないというデメリットがあります。量子コンピューティング攻撃(Dencunはバージョン・ハッシュ・アプローチを使用しており、必要に応じて他の認証方法に置き換えることができる)。
現在人気のあるDAプロジェクトであるCelestiaでは、KZGと比較してノードの完全性にある程度依存していますが、ノード間の計算リソースの閾値を下げ、ネットワークの分散化された性質を維持するのに役立つ、メルクルツリーの変種を使用しています。
Dencunにとってのチャンス
Eip4844はコストを削減し、レイヤー2の効率を高めますが、新たなセキュリティリスクももたらします。
Eip4844はコストを削減し、レイヤー2の効率を向上させます。
その理由を理解するためには、前述の脱出ハッチメカニズムや強制撤退メカニズムに話を戻す必要があります。
レイヤー2ノードに障害が発生した場合、このメカニズムによってユーザーの資金は安全にメインネットワークに戻されます。このメカニズムを有効にするには、ユーザーはレイヤー2のステートツリーにアクセスする必要があります。
通常の状況では、ユーザーは単にレイヤー2のフルノードに行き、データを要求し、メルクルの証明を生成し、それをメインネットのコントラクトに提出して引き出しを正当化します。
しかし、ユーザーがL2から抜けるためにエスケープハッチメカニズムを始めたいのは、まさにL2ノードが邪悪だからであり、ノードが邪悪であれば、ノードから欲しいデータを得られない可能性が高いことを忘れてはなりません。
これは、ヴィタリックがしばしば言及する、データを差し止める攻撃の一種です。
EIP-4844以前は、恒久的なLayer2レコードがマスターネットワーク上に記録されていたため、完全なオフチェーン状態を提供できるLayer2ノードがない場合、ユーザーは独自にフルノードを展開することができました。
このフルノードは、イーサネットのメインネットに接続することで、メインネット上のレイヤー2シーケンサーによってポストされたすべての履歴データにアクセスすることができ、ユーザーは必要なメルクル証明を構築し、メインネット上のコントラクトに証明を提出し、安全に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などのdAppsの人気のために、メインのイーサネットネットワーク上に大量のデータを安全に保存する必要性が急増しています。
たとえば、ユーザーがNFT契約トークンだけでなく、オンチェーンイメージも持っていることから、オンチェーンNFTストレージの必要性は明らかであり、Ethstorageはこれらのイメージをサードパーティに保存することで生じる追加の信頼問題を解決します。
最後に、Ethstorageは分散型dAppsのフロントエンドの必要性にも対応しています。現在利用可能なソリューションは、主に中央集中型のサーバー(DNS付き)でホストされています。このセットアップでは、検閲や、DNSハイジャック、ウェブサイトのハッキング、サーバーのクラッシュなどの他の問題に対してウェブサイトが脆弱になります。
現在、Ethstorageは初期のネットベータ版となっており、このトラックの見込みに強気なユーザーはそれを体験することができます。