
注:この記事は、イーサリアムの創設者であるVitalikが最近公開した一連の記事の第2部「The Future of the Ethereum契約」です。イーサリアムプロトコルの可能性のある先物、パート2:サージ「、最初の部分は、Bitchain Visionの以前のレポートに示されています」Ethereum Posで他に何を改善できるかDeng Tongによって編集された。
当初、イーサリアムのロードマップには2つのスケーリング戦略がありました。
それらの1つは「シャード」です:各ノードは、チェーン内のすべてのトランザクションではなく、トランザクションのごく一部を検証および保存する必要があります。これは、他のピアツーピアネットワーク(BitTorrentなど)がどのように機能するかでもあるため、ブロックチェーンを同じように機能させることができます。
もう1つは2層プロトコルです。ネットワークはイーサリアムの上にあり、ほとんどのデータとコンピューティングをメインチェーンから遠ざけながら、セキュリティから完全に利益を得ることができます。「レイヤー2プロトコル」とは、2015年のステータスチャネル、2017年のプラズマ、2019年のロールアップを指します。ロールアップは、状態チャネルやプラズマよりも強力ですが、多くのオンチェーンデータ帯域幅が必要です。
幸いなことに、2019年までに、Sharding Researchは「データの可用性」の大規模な検証の問題に取り組んでいます。その結果、2つのパスがマージされ、ロールアップ中心のロードマップがありました。これは、今日でもイーサリアムのスケーリング戦略です。
サージ、2023ロードマップ版。
ロールアップ中心のロードマップは、単純な分業を提案しています。イーサリアムL1は、強力で分散化された基礎層になることに焦点を当てていますが、L2は生態系スケールを支援するタスクを引き受けます。これは社会全体の繰り返しのパターンです:裁判所システム(L1)は非常に高速かつ効率的ではなく、契約と財産権を保護するためですが、起業家(L2)はこれに基づいて固体基礎層を構築し、人間を連れて行く必要があります。 (比phor的および文字通り)火星。
今年、ロールアップ中心のロードマップは大成功を収めました。EthereumL1データ帯域幅はEIP-4844 BLOBSを通じて大幅に増加し、複数のEVMロールアップがフェーズ1にあります。各L2が独自の内部ルールを備えた「フラグメント」として機能する非常に不均一で多様化した破片の実装が現実になりました。しかし、私たちが見たように、この道に行くことには独自の課題があります。したがって、現在、私たちの使命は、イーサリアムL1を際立たせる堅牢性と分散化を保持しながら、ロールアップ中心のロードマップを完成させ、これらの問題を解決することです。
サージ:重要な目的
100,000+ TPSのL1+ L2
L1の分散化と堅牢性を維持します
少なくとも一部のL2は、イーサリアムのコア属性を完全に継承します(信頼せず、オープン、検閲耐性)
L2間の最大相互運用性。イーサリアムは、34種類のブロックチェーンではなく、エコシステムのように感じるはずです。
スケーラビリティのトライアド
スケーラビリティ不可能な三角形は、2017年にブロックチェーンの3つのプロパティの間に緊張があると考えているアイデアです:分散化(より具体的にはノードの低コスト)、スケーラビリティ(より具体的には、多数のトランザクションを処理)、セキュリティ(より具体的には、攻撃者は、単一のトランザクションを失敗させるために、ネットワーク全体のほとんどのノードを破壊する必要があります)。
トライアドジレンマは定理ではなく、トライアドジレンマを導入する投稿には数学的証拠が付いていないことは注目に値します。それはヒューリスティックな数学的議論を与えます:分散型フレンドリーなノード(消費者ラップトップなど)が1秒あたりのnトランザクションを検証できる場合、k*nトランザクションを1秒間に処理するチェーンがあり、(i)各トランザクションは確認できます。 1/kのノードによって、攻撃者はいくつかのノードを破壊して悪いトランザクションを駆動できることを意味します。この記事の目的は、トライアドを壊すことが不可能であることを示すことではありません。トライアドを壊すことは難しいことを示すことです。
長年にわたり、一部の高性能チェーンは、多くの場合、ソフトウェアエンジニアリングスキルを使用してノードを最適化することにより、インフラストラクチャレベルで巧妙な対策を講じずにトライアドを解決したとしばしば主張してきました。これは常に誤解を招くものであり、そのようなチェーンでノードを実行することは、イーサリアムよりも常にはるかに困難です。この投稿では、なぜこれが起こるのか(なぜL1クライアントソフトウェアエンジニアリングがイーサリアム自体を拡大できないのか)の多くの微妙さを調査します。
しかし、データ可用性サンプリング(DAS)とスナークの組み合わせは、トライアドを解決します:これにより、クライアントは一定のデータが利用可能であること、および一定の数の計算手順が正しく実行されるかどうかを確認できますが、そのデータのごく一部のみがダウンロードされ、計算量がはるかに少ないことを確認できます。スナークは信頼できません。データの可用性サンプリングには微妙な少数派の信頼モデルがありますが、非スケーラブルなチェーンが持っている基本的なプロパティを保持しており、攻撃の51%でさえ、ネットワークに悪いブロックを受け入れるように強制することはできません。
トライアドを解決する別の方法は、プラズマアーキテクチャです。これは、巧妙なテクニックを使用して、インセンティブ化された互換性のある方法でユーザーにデータの可用性を監視する責任を推進しています。2017年から2019年にかけて、コンピューティングを拡大するために必要なのは詐欺の証拠だけで、Plasmaのセキュリティ機能は非常に限られていましたが、Snarkの主流化により、プラズマアーキテクチャは以前よりも幅広いユースケースに適しています。
DASのさらなる進歩
どんな問題を解決したいですか?
2024年3月13日の時点で、Dencunのアップグレードがライブになったとき、Ethereumブロックチェーンには12秒ごとに約125 kbの「ブロブ」があり、期間ごとに約375 kbのデータが利用可能な帯域幅でした。トランザクションデータがチェーンに直接投稿されると仮定すると、ERC20の伝送は約180バイトであるため、イーサリアムのロールアップの最大TPSは次のとおりです。
375000 / 12/180 = 173.6 TPS
EthereumのCallData(理論的最大値:スロットあたり3,000万ガス /バイトあたり16ガス=スロットあたり1,875,000バイト)を追加すると、これは607 TPSになります。Peerdasの場合、BLOBカウントターゲットを8-16に増やすことが計画されています。これにより、463-926 TPSのコールダタが得られます。
これは、Ethereum L1よりも大幅に改善されていますが、それで十分ではありません。よりスケーラビリティが必要です。私たちの中期目標はスロットあたり16 MBで、シンクデータ圧縮の改善と組み合わせると、約58,000 TPSが得られます。
Peerdasとは何ですか?それはどのように機能しますか?
Peerdasは、「1次元サンプリング」の比較的単純な実装です。Ethereumの各BLOBは、253ビットプライムドメインの4096次多項式です。多項式の「株式」を放送します。各シェアは、8192座標の合計セットから取られた隣接する16の座標で16の評価で構成されています。BLOBは、8192の評価の4096によって復元できます(現在推奨されているパラメーターを使用して:128のサンプルのうち64件)。
Peerdasは、各クライアントに小さな量子ネットワークを聴くことで動作します。そこでは、Ith SubnetがBLOBのIthサンプルをブロードキャストし、グローバルP2Pネットワークのピアを尋ねることで他のサブネットに必要なものを要求しますさまざまなサブネットを聞いてください)。SubnetDasのより保守的なバージョンは、サブネットメカニズムのみを使用しており、追加のリクエストピア層がありません。現在の推奨事項は、ステークの証明に参加しているノードがSubnetDasを使用し、他のノード(つまり、「クライアント」)がPeerdasを使用することです。
理論的には、1Dサンプリングをかなり拡張できます。ブロブカウントの最大値を256に増やすと(ターゲットは128)、16 MBのターゲットに到達しますが、データの可用性サンプリングはノードサンプルごとに16のみです* 128ブロブ*サンプルあたりBLOBあたり512バイト=スロットあたり1 MBのデータ帯域幅。これは私たちの許容範囲内にあります:それは実現可能ですが、帯域幅が制限されたクライアントがサンプリングできないことを意味します。これを最適化することができます。これは、塊の数を減らして塊のサイズを増やすことで最適化できますが、これにより再構築がより高価になります。
そのため、最終的にはさらに一歩進んで2Dサンプリングを行いたいと考えています。これは、BLOB内でランダムにサンプルするだけでなく、BLOB間もサンプリングします。KZGで約束された線形プロパティは、冗長にエンコードされた新しい「仮想ブロブ」リストによってブロック内のブロブセットを「拡張」するために使用されます。
2Dサンプリング:A16Z
重要なことに、計算上約束されたスケーリングには塊が必要ないため、スキームは分散ブロックビルディングに基づいています。実際にブロックを構築するノードは、BLOB KZGの約束が必要であり、BLOBの可用性を確認するためにDASに依存する必要があります。1D DASは、分散ブロック構造に本質的に友好的です。
既存の研究とのつながりは何ですか?
データの可用性を紹介する元の記事(2018):https://github.com/ethereum/research/wiki/a-note-on-data-abailability-and-erasure-coding
フォローアップペーパー:https://arxiv.org/abs/1809.09044
DAS、パラダイムのための通訳ポスト:https://www.paradigm.xyz/2022/08/das
KZGは2Dの可用性を約束しました:https://ethresear.ch/t/2d-data-abailability-with-cate-commitments/8081
peerdas on ethresear.ch:https://ethresear.ch/t/peerdas-a-simpler-das-approach-usingバトルテスト-p2p-components/16541と論文:https://eprint.iacr.org/2024/1362
EIP-7594:https://eips.ethereum.org/eips/eip-7594
ethresear.chのsubnetdas:https://ethresear.ch/t/subnetdas-an-intermediate-das-approach/17169
2Dサンプリングにおける回復可能性の微妙な違い:https://ethresear.ch/t/nuances-of-data-recoverability-in-data-abailability-sampling/16256
他に何をする必要があり、どのようなトレードオフを比較検討する必要がありますか?
次のステップは、Peerdasの実装と展開を完了することです。それ以来、PeerdasのBLOBカウントを増やすことは徐々に努力し、ネットワークを慎重に観察し、セキュリティのためのソフトウェアを改善します。同時に、DASおよびDASの他のバージョンの形式化と、フォーク選択ルールのセキュリティなどの問題との相互作用について、より多くの学術作業を行うことを望んでいます。
今後、2D DASの理想的なバージョンを見つけ、そのセキュリティ機能を証明するために、さらに多くのことをする必要があります。また、最終的にKZGから、信頼できるセットアップなしで量子に耐性のある代替品に移行したいと考えています。現時点では、どの候補者が分散ブロックビルディングに友好的であるかはわかりません。技術的にはスタークのハッシュサイズはo(log(n) * log(log(n)))であるため、行と列を再構築するための有効性の証明を生成するために再帰的なスタークを使用する高価な「強力な」手法でさえも十分ではありません(攪拌付き) )、スタークは実際にはスポット全体とほぼ同じ大きさです。
長期的には、現実の道は次のとおりです。
-
理想的な2D DASツール。
-
1D DASに固執し、シンプルさと堅牢性のためにサンプリング帯域幅の効率を犠牲にし、低いデータキャップを受け入れます。
-
(ハードピボット)DAをあきらめ、私たちが焦点を当てるメインティア2アーキテクチャとしてプラズマを完全に受け入れます。
スコープを比較検討することで、これらを見ることができます。
L1で実行を直接拡張することを決定したとしても、この選択は残っていることに注意してください。これは、L1が多数のTPSを処理する場合、L1ブロックが非常に大きくなり、顧客が正しいことを確認するための効率的な方法が必要になるため、ロールアップをサポートする同じ手法を使用する必要があります。 -EVMおよびDAS)およびL1。
ロードマップの残りの部分とどのように相互作用しますか?
データ圧縮が実装されている場合(以下を参照)、2D DASの需要が減少するか、少なくとも遅延し、プラズマが広く使用されている場合、2D DASの需要はさらに減少します。DASは、分散ブロック構築プロトコルとメカニズムに対する課題も提示します。DASは、分散再建に理論的に友好的ですが、リスト提案とその周辺を含むフォーク選択メカニズムと実際に組み合わせる必要があります。
データ圧縮
どんな問題を解決したいですか?
ロールアップの各トランザクションは、多くのオンチェーンデータスペースを占有します。ERC20送信には約180バイトが必要です。これにより、理想的なデータ可用性サンプリングを使用する場合でも、レイヤー2プロトコルのスケーラビリティが制限されます。スロットあたり16 MB、取得します:
16000000 / 12/180 = 7407 TPS
分子を解くことに加えて分母を解決し、ロールアップ内の各トランザクションにチェーンのバイトが少なくなるようにするとどうなりますか?
それは何であり、どのように機能しますか?
最良の説明は、2年前のこの写真だと思います。
最も単純なゲインは、ゼロバイト圧縮です。各長いゼロバイトシーケンスをゼロバイトの数を表す2バイトに置き換えます。さらに進むと、トランザクションの特定のプロパティを活用してください。
-
署名集約-ECDSA署名からBLS署名に切り替えます。これには、多くの署名を組み合わせてすべての元の署名の有効性を証明する単一の署名を形成できるプロパティがあります。L1は、検証の計算コスト(集約を使用しても)が高くなっているため、これを考慮しませんが、L2のようなデータ不足環境では、間違いなく意味のあるものにします。ERC-4337の集約関数は、これを達成する方法を提供します。
-
アドレスをポインターに置き換えます– 以前にアドレスを使用したことがある場合は、20バイトのアドレスを歴史的な場所への4バイトのポインターに置き換えることができます。これは、最大のゲインを達成するために必要ですが、ブロックチェーンの歴史を事実上国の一部にする必要があるため、達成するために努力が必要です。
-
トランザクション値のカスタムシリアル化– ほとんどのトランザクション値には、たとえば数字が非常に少ないです。0.25 ETHは、250,000,000,000,000,000,000,000 Weiとして表されます。Gas Max-Basefeesは、優先料金と同様に機能します。したがって、ほとんどの通貨値を非常にコンパクトに表す、カスタム小数点以下のフローティングポイント形式、または特に一般的な値の辞書さえも使用できます。
既存の研究とのつながりは何ですか?
sequence.xyzからの探索:https://sequence.xyz/blog/compressing-calldata
ScopeliftからのL2のCallData最適化契約:https://github.com/scopelift/l2-optimizoooors
別の戦略 – トランザクションの代わりにリリースステータスの違いの有効性の証明に基づくロールアップ(別名Zkrollup):https://ethresear.ch/t/rollup-diff-compression-application-level-compression-strategies-to-leduce-the-l2-data-footprint-on-l1/9975-l2-dataフットプリント
BLSウォレット-ERC -4337を介したBLS集約:https://github.com/getwax/bls-wallet
他に何をする必要があり、どのようなトレードオフを比較検討する必要がありますか?
残される主なタスクは、上記の計画を実装することです。主なトレードオフは次のとおりです。
-
BLS署名に切り替えるには、大きな努力が必要であり、セキュリティを改善する信頼できるハードウェアチップとの互換性を低下させます。他の署名スキームのZK-SNARKラッパーに置き換えることができます。
-
動的圧縮(アドレスをポインターに置き換えるなど)は、クライアントコードを複雑にします。
-
トランザクションではなくチェーンに状態の違いを投稿すると、監査可能性が低下し、多くのソフトウェア(ブロックブラウザーなど)が機能しません。
ロードマップの残りの部分とどのように相互作用しますか?
ERC-4337の採用、およびそのコンテンツの一部をL2 EVMに究極的に組み込むことで、集約技術の展開を大幅に加速できます。ERC-4337の一部をL1に組み込むと、L2での展開が加速できます。
一般化されたプラズマ
どんな問題を解決したいですか?
16 MBのブロブとデータ圧縮があっても、58,000 TPSでは、消費者の支払い、分散型のソーシャルまたはその他の高帯域幅領域を完全に引き継ぐのに必ずしも十分ではありません。大容量、低価値のアプリケーションの場合、今日の1つのオプションはVALIGIUMです。これはデータをオフチェーンで配置し、オペレーターがユーザーの資金を盗むことができないが、すべてのユーザーファンドを消滅させて一時的または永続的にフリーズすることができる興味深いセキュリティモデルを備えています。 。しかし、私たちはより良くすることができます。
それは何であり、どのように機能しますか?
Plasmaは、オペレーターをオフチェーンで公開し、チェーン上にこれらのブロックのマークルルートを配置することを含む拡張ソリューションです(ロールアップとは異なり、ロールアップはブロック全体をチェーンに配置しています)。各ブロックについて、オペレーターは各ユーザーにマークルブランチを送信し、そのユーザーの資産に何が起こったか、何も起こらなかったことを証明します。ユーザーは、Merkleブランチを提供することで資産を抽出できます。重要なことに、ブランチは最新の状態に根付いている必要はありません。したがって、データの可用性が失敗したとしても、ユーザーは利用可能な最新の状態を取り消すことで資産を回収できます。ユーザーが無効なブランチを提出した場合(たとえば、他の誰かに送信した資産を終了するか、オペレーターが薄い空気から資産を作成する場合)、鎖でのチャレンジメカニズムは、資産が正しく属する人を決定できます。
プラズマキャッシュチェーン図。コストコインIのトランザクションは、ツリー内のi番目の位置に配置されます。この例では、以前のすべての木が有効であると仮定すると、Eveは現在Coin 1、DavidにはCoin 4、GeorgeがCoin 6を所有していることを知っています。
プラズマの初期バージョンは、支払いのユースケースのみを処理することができ、さらに効果的に促進することはできません。ただし、各根をスナークで検証する必要がある場合、プラズマはより強力になります。各チャレンジゲームは、オペレーターの不正行為のためのほとんどの可能なパスを排除するため、大幅に簡素化できます。新しいパスも開かれており、プラズマテクノロジーがより広範な資産クラスに拡大できるようになりました。最後に、ユーザーは、チャレンジ期間を待つことなく、1週間のチャレンジを待つことなくすぐに資金を引き出すことができます。
EVMプラズマチェーンを作成する1つの方法(唯一の方法ではありません):ZK-SNARKを使用して並列UTXOツリーを構築し、EVMによって行われたバランスの変更を反映し、歴史の「同じコイン」のユニークなマッピングとは何かを定義します。次に、これに基づいてプラズマ構造を構築できます。
重要な洞察は、プラズマシステムを完璧にする必要はないということです。資産の一部しか保護できない場合でも(たとえば、過去1週間に移動していないトークンだけであっても)、検証であるHyperScalable EVMSの現状を大幅に改善しました。
別のタイプの構造は、IntMaxなどのハイブリッドプラズマ/ロールアップ構造です。これらの構造は、チェーン(5バイトなど)に非常に少量のデータを配置し、そうすることでプラズマとロールアップの間のプロパティを取得できます。INTMAXの場合、非常に高いレベルのスケーラビリティとプライバシーを得ることができます。 16 MBの世界では、理論的能力は約16,000,000 / 12 /5 = 266,667 TPSです。
既存の研究とのつながりは何ですか?
オリジナルのプラズマペーパー:https://plasma.io/plasma-deprecated.pdf
プラズマキャッシュ:https://ethresear.ch/t/plasma-cash-plasma-with-much-less-per-user-data-checking/1298
プラズマキャッシュフロー:https://hackmd.io/dgzmjirjszcyvl4lujzxnq?view#-exit
intmax(2023):https://eprint.iacr.org/2023/1082
他に何をする必要があり、どのようなトレードオフを比較検討する必要がありますか?
残りの主なタスクは、プラズマシステムを生産にすることです。上記のように、「プラズマとバリウム」はバイナリの反対ではありません。valiumは、プラズマ機能を出口メカニズムに追加することにより、少なくとも少しのセキュリティパフォーマンスを改善できます。この研究は、EVMの最良の属性(信頼要件、最悪のL1ガスコスト、DOSの脆弱性の観点から)および代替のアプリケーション固有の構造を取得することを部分的に目的としています。さらに、プラズマはロールアップと比較して概念的な複雑さが大きく、より良い一般的なフレームワークを研究して構築することで直接解決する必要があります。
プラズマ設計を使用することの主な欠点は、ハイブリッドプラズマ/ロールアップデザインがこの弱さを回避することが多いものの、オペレーターに依存し、「に基づいて」より困難であることです。
ロードマップの残りの部分とどのように相互作用しますか?
プラズマソリューションがより効果的であるほど、L1が高性能データの可用性機能を持たなければならないストレスは少なくなります。アクティビティをL2に移動すると、L1に対するMEV圧力も低下します。
成熟したL2プルーフシステム
どんな問題を解決したいですか?
今日、ほとんどのロールアップは実際には信頼できません。場合によっては、プルーフシステムはまったく存在しません。または、存在する場合でも、「相談」機能のみがあります。主要なものは、(i)信頼のない燃料など、いくつかのアプリケーション固有のロールアップであり、(ii)この執筆、楽観主義、および2つの完全なEVM Rolupsは、マイルストーンが「最初」と呼ばれています段階”。ロールアップがさらに発展しなかった理由は、コードのバグについて心配することです。ロールアップを信頼する必要があるため、この問題を正面から解決する必要があります。
それは何であり、どのように機能しますか?
まず、この記事で最初に導入された「ステージ」システムを確認しましょう。より詳細な要件がありますが、要約は次のとおりです。
-
ステージ0:ユーザーはノードを実行し、チェーンを同期できる必要があります。検証が完全に信頼/集中化されている場合。
-
フェーズ1:有効なトランザクションのみが受け入れられるようにするために、(信頼のない)証明システムが必要です。証明システムを覆す可能性のあるセキュリティ委員会がありますが、投票のしきい値は75%しかありません。さらに、評議会のクォーラムブロッキング部分(つまり、26%以上)は、ロールアップを構築した主要企業の外に配置する必要があります。弱い機能のアップグレードメカニズム(DAOなど)は許可されていますが、悪意のあるアップグレードが承認された場合、ユーザーはアップグレードが公開される前に資金を撤回できるように、十分な遅延が必要です。
-
フェーズ2:有効なトランザクションのみが受け入れられるようにするために、(信頼されていない)証明システムが必要です。たとえば、コードに証明されたエラーがある場合にのみ、評議会は介入することが許可されます。2つの冗長な証明システムが互いに矛盾している場合、または1つの証明システムが同じブロックの2つの異なる状態後根を受け入れる場合(または、1週間など、長い時間は何も受け入れません)。アップグレードメカニズムは許可されていますが、長い遅延が必要です。
私たちの目標は、第2段階に到達することです。第2フェーズに到達するための主な課題は、システムが実際に十分に信頼できることを証明するのに十分な自信を得ることです。これを行うには2つの主な方法があります。
-
正式な検証:最新の数学的および計算手法を使用して、システムがEVM仕様に合格するブロックのみを受け入れることを(楽観的または妥当性)証明できます。これらの技術は何十年も前から存在してきましたが、最近の進歩(Lean 4など)がより実用的になり、AIアシストされた証拠の進歩はこの傾向をさらに加速する可能性があります。
-
複数の校正者:複数の証明システムを作成し、これらの証明システムと安全保障理事会(および/またはTEEなどの信頼の仮定を持つ他のウィジェット)との間に、2つの(または大規模な)マルチ署名への資金を投資します。システムが同意することが証明された場合、評議会には権力がありません。彼らが同意しない場合、評議会はそのうちの1つだけを選択することができ、一方的に独自の答えを課すことはできません。
楽観的な証明システム、有効性の証明システム、およびセキュリティ委員会を組み合わせたマルチプローブの様式化された図。
既存の研究とのつながりは何ですか?
EVM Kセマンティクス(2017年以降の正式な検証作業):https://github.com/runtimeverification/evm-semantics
マルチプーブンのアイデアに関するデモ(2022):https://www.youtube.com/watch?v=6hfvzcwt6yi
太陽は複数の証明を使用する予定です。https://docs.taiko.xyz/coreconcepts/multi-proofs/
他に何をする必要があり、どのようなトレードオフを比較検討する必要がありますか?
正式な検証にはたくさんあります。EVMのSnark Proofer全体の正式な検証済みバージョンを作成する必要があります。これは非常に複雑なプロジェクトですが、すでに開始しています。タスクを大幅に簡素化できるトリックがあります。たとえば、最小の仮想マシン用に正式に検証されたスナークプーバーを作成できます。RISC-Vまたはカイロは、その最小限のVMでEVMの実装を書きます(そして、他のEVM仕様に相当することを正式に証明します)。
複数のプロバーには、残りの部分が2つあります。まず、少なくとも2つの異なるプルーフシステムに十分な自信を持つ必要があります。それぞれがかなり安全であり、クラッシュすると、異なる無関係な理由でクラッシュします(したがって、同時にクラッシュしません)。第二に、マージされた証明システムの基礎となる論理で非常に高いレベルの保証を取得する必要があります。これは小さなコードです。それを非常に小さくする方法はいくつかあります。署名が個人的な証明システムを表す契約である安全なマルチ署名契約に資金を貯蔵するだけですが、これは鎖のガスのコストが高くなります。効率と安全性のバランスを見つける必要があります。
ロードマップの残りの部分とどのように相互作用しますか?
L2にアクティビティを移動すると、L1に対するMEV圧力が低下します。
Cross-L2の相互運用性の改善
どんな問題を解決したいですか?
今日のL2エコシステムの最大の課題の1つは、ユーザーが操作するのが難しいことです。さらに、最も簡単なアプローチは、しばしば信頼の仮定を再導入します:集中橋、RPCクライアントなど。L2がEthereumの一部であるという考えを考えると、L2エコシステムを使用して統一されたイーサリアムエコシステムを使用するように感じる必要があります。
病理学的に悪いこと(危険でさえ:ここでの間違ったチェーンの選択で個人的に100ドルを失いました)の例は、L2 UXにわたって、これはポリメートのせいではありませんが、L2の相互運用性全体では、財布とイーサリアム標準責任(ERC)コミュニティのためのものでなければなりません。よく運営されているイーサリアムエコシステムでは、L1からL2またはあるL2にトークンを送信すると、同じL1でトークンを送信するようなものでなければなりません。
それは何であり、どのように機能しますか?
Cross-L2の相互運用性の改善には、多くのカテゴリがあります。一般的に言えば、これらの質問をする方法は、理論的には、ロールアップ中心のイーサリアムがL1を実行するシャードと同じであることに注意することです。そして、理想間のギャップの観点から、現在のEthereum L2バージョンのどの側面が実際にあるかを尋ねることです。現在のEthereum L2バージョン。ここにいくつかあります:
-
リンク特定のアドレス:チェーン(L1、楽観主義、arbitrum …)は住所の一部である必要があります。実装されたら、アドレスを「送信」フィールドに配置するだけでCross-L2送信プロセスを実装でき、ウォレットはバックグラウンドで送信する方法を把握できます(ブリッジプロトコルの使用を含む)。
-
チェーン固有の支払いリクエスト:「ZチェーンでYタイプXトークンを送信してください」という形でメッセージを作成することは、シンプルで標準化する必要があります。これには2つの主なユースケースがあります。(i)個人の個人であろうと商人サービスの個人であろうと、(ii)たとえば、資金を要求するDAPPなど。上記の多層の例。
-
クロスチェーン交換とガスの支払い:「Arbitrumに0.9999 ETHを送信する人に楽観的に1つのETHを送信する」などのクロスチェーン操作を表現する標準化されたオープンプロトコルがあり、「Arbitrumトランザクションにこれを含む」 7683は前者への試みですが、RIP-7755は後者への試みですが、どちらもこれらの特定のユースケースよりも一般的です。
-
ライトクライアント:ユーザーは、RPCプロバイダーを信頼するだけでなく、相互作用しているチェーンを実際に検証できる必要があります。A16zのCryptocurrencyのHeliosは、Ethereum自体のためにこれを行いましたが、この信頼性をL2に拡張する必要があります。ERC-3668(CCIP-Read)は、これを達成するための戦略です。
軽いクライアントがイーサリアムヘッダーチェーンの見解を更新する方法。ヘッダーチェーンを取得したら、Merkle Proofを使用して状態オブジェクトを確認できます。正しいL1状態オブジェクトを取得したら、Merkle Proofを使用してL2の状態オブジェクトを確認できます(または、事前確認を確認する場合は署名かもしれません)。ヘリオス前者をやった。後者に拡張することは、標準化の課題です。
-
キーストアウォレット:今日、スマートコントラクトウォレットを制御するキーを更新する場合は、そのウォレットがあるすべてのNチェーンでこれを行う必要があります。キーストアウォレットは、キーを場所に存在することを可能にするテクニック(L1であるかL2にかかわらず)で、ウォレットのコピーがあるL2から読み取ります。これは、アップデートを1回だけ行う必要があることを意味します。効率を向上させるには、キーストアウォレットでは、L1を無料で読み取るための標準化された方法が必要です。
キーストアウォレットの仕組みの様式化された図。
-
より根本的な「共有トークンブリッジ」のアイデア:すべてのL2が実績のあるロールアップであり、各スロットがイーサリアム専用の世界を想像してください。この世界でさえ、あるL2から別のL2に資産を「ローカル」移転するには、撤退と預金が必要であり、大量のL1ガスが必要です。この問題を解決する1つの方法は、L2がいくつの種類のトークンを持っているバランスを維持し、一連のクロスオーバーを通じてそれらのバランスを集合的に更新できるようにする、その唯一の機能がその唯一の機能を維持することである共有最小ロールアップを作成することです。L2 L2によって開始された操作を送信します。これにより、L1トランスミッションごとにL1ガスを支払うことなく、また流動性プロバイダーベースのテクノロジー(ERC-7683など)を必要とせずにL2全体で送信できます。
-
同期的なコンポゼル性:特定のL2とL1の間、または複数のL2の間で同期呼び出しを許可します。これは、Defiプロトコルの財務効率を改善するのに役立つ可能性があります。前者は、Cross-L2の調整なしで行うことができます。ロールアップは、これらすべてのテクノロジーに自動的にフレンドリーです。
既存の研究とのつながりは何ですか?
チェーン固有のアドレス:ERC-3770:https://eips.ethereum.org/eips/eip-3770
ERC-7683:https://eips.ethereum.org/eips/eip-7683
RIP-7755:https://github.com/wilsoncusack/rips/blob/cross-call-standard/rips/rip-7755.md
キーストアのウォレットデザインのスクロール:https://hackmd.io/@haichen/keystore
ヘリオス:https://github.com/a16z/helios
ERC-3668(ccip-readと呼ばれることもあります):https://eips.ethereum.org/eips/eip-3668
ジャスティンドレイクの「(共有)の事前確認に基づく」という提案:https://ethresear.ch/t/baded-preconfirmations/17353
L1Sload(RIP-7728):https://ethereum-magicians.org/t/rip-7728-l1sload-precompile/20388
楽観的なリモートコール:https://github.com/ethereum-optimism/ecosystem-contibutions/issues/76
トークンブリッジを共有するというアイデアが含まれています。https://github.com/agglayer
他に何をする必要があり、どのようなトレードオフを比較検討する必要がありますか?
上記の例の多くは、標準化する時期と標準化の層の標準的なジレンマに直面しています。標準化が早すぎる場合、質の低いソリューションのリスクがある可能性があります。標準化が遅すぎる場合、不必要な断片化を引き起こす可能性があります。場合によっては、より弱いが実装しやすい短期ソリューションや、「最終的に正しい」が、達成するのにかなりの時間がかかる長期的なソリューションがあります。
このセクションのユニークな点は、これらのタスクが単なる技術的な問題ではないということです。それらは(おそらく主に!)社会的問題です。彼らは一緒に動作するためにL2と財布とL1が必要です。この問題にうまく対処する能力は、コミュニティとして団結する能力のテストです。
ロードマップの残りの部分とどのように相互作用しますか?
これらの提案のほとんどは「より高い」構造であるため、L1の考慮事項にあまり影響を与えません。1つの例外は共有されたソートです。これはMEVに大きな影響を与えます。
L1での拡張実行
どんな問題を解決したいですか?
L2が非常にスケーラブルで成功したが、L1が非常に小さなトランザクションしか処理できない場合、イーサリアムには多くのリスクがあります。
-
ETH資産の経済状況はより危険になり、それがネットワークの長期的なセキュリティに影響を与えます。
-
多くのL2は、L1の高度に発達した金融エコシステムとの密接な接続から恩恵を受けており、この生態系が大幅に弱体化した場合、L2になる動機(別のL1ではなく)が弱まります。
-
L2がL1とまったく同じセキュリティを持つには、長い時間がかかります。
-
L2が失敗した場合(たとえば、悪意のある操作やキャリアの消失により)、ユーザーは資産を回収するためにL1を通過する必要があります。したがって、L1は、少なくとも時折、非常に複雑で混oticとしたL2の終わりに実際に対処できるほど強力である必要があります。
これらの理由から、L1自体を拡大し続け、ますます多くの用途に適応し続けることができることを保証することが価値があります。
それは何であり、どのように機能しますか?
拡張する最も簡単な方法は、単にガス制限を追加することです。ただし、これにはL1を集中化するリスクがあるため、Ethereum L1を非常に強力にする別の重要な属性を弱めます。その基礎となる強力な層としての信頼性です。単純なガス制限がどのように持続可能であるかについて議論があり、これは他の技術の実装によっても変化し、より大きなブロックを検証しやすくします(たとえば、歴史的満了、ステートレス、L1 EVMの妥当性の証明)。継続的な改善が必要なもう1つの重要なことは、5年前よりも今日ではより最適化されているEthereumクライアントソフトウェアの効率です。効果的なL1ガス制限増加戦略には、これらの検証手法の加速が含まれます。
別のスケーリング戦略には、ネットワークの分散やそのセキュリティプロパティを損なうことなく、より安価になる可能性のある特定の機能とコンピューティングタイプを特定することが含まれます。これの例は次のとおりです。
-
EOF– より静的な分析に優しく、より速い実装を可能にする新しいEVMバイトコード形式。これらの効率を考えると、EOFバイトコードにガスコストが低くなる可能性があります。
-
多次元ガス価格設定– コンピューティング、データ、ストレージに個別の基本的な費用と制限を確立すると、最大容量を増やすことなく(したがって、新しいセキュリティリスクを作成する)、Ethereum L1の平均容量を増やすことができます。
-
特定のオペコードのガスコストを削減し、事前コンパイルします– 歴史的に、私たちは、サービスの拒否攻撃を避けるために、特定の低価格の操作で数回のガスコストの増加を実施してきました。私たちはより少ないことをしましたが、より多くのことができます。それは、高価な操作のためのガスのコストを削減することです。たとえば、追加は乗算よりもはるかに安価ですが、AddとMulのオプコードのコストは現在同じです。より安く、さらにシンプルなオペコード(プッシュなど)を安くすることができます。全体として多くのEOFがあります。
-
EVM-MaxおよびSimd:EVM-Max( “Modular Arithmetic Extensions”)は、EVMの個別のモジュールとして、より効率的なネイティブ数値モジュラー数学を可能にする提案です。EVM-MAX計算によって計算される値は、意図的にエクスポートしない限り、他のEVM-Maxオペコードによってのみアクセスできます。SIMD( “単一命令マルチデータ”)は、値の配列に関する同じ命令を効率的に実行できる提案です。一緒に、この2つは、暗号化操作をより効率的に実装するために使用できるEVMを備えた強力なコプロセッサを作成できます。これは、プライバシープロトコルとL2プルーフシステムに特に役立つため、L1およびL2の拡張に役立ちます。
これらの改善については、Splurgeに関する今後の記事で詳細に説明します。
最後に、3番目の戦略はネイティブロールアップ(または「組み込みのロールアップ、enshrinedロールアップ」)です。本質的に、並行して実行されているEVMの多くのコピーは、ロールアップに相当するモデルを形成することができますが、よりネイティブにプロトコルに統合されます。
既存の研究とのつながりは何ですか?
PolynyaのEthereum L1拡張ロードマップ:https://polynya.mirror.xyz/epju72rsyncfb-jk52_uyi7huhj-w_zm735ndp7alkaq
多次元ガス価格設定:https://vitalik.eth.limo/general/2024/05/09/multidim.html
EIP-7706:https://eips.ethereum.org/eips/eip-7706
EOF:https://evmobjectformat.org/
evm-max:https://ethereum-magicians.org/t/eip-6601-evm-modular-arithmetic-extions-evmmax/13168
シムド:https://eips.ethereum.org/eips/eip-616
ネイティブロールアップ:https://mirror.xyz/ohotties.eth/p1qsccwj2fz9cqo3_6kyi4s2chw5k5tmegogk6io1ge
L1を拡張する価値についてのMax Resnickとのインタビュー:https://x.com/banklesshq/status/1831319419739361321
スナークとネイティブロールアップで拡張することについてのジャスティンドレイク:https://www.reddit.com/r/ethereum/comments/1f81ntr/comment/llmfi28/
他に何をする必要があり、どのようなトレードオフを比較検討する必要がありますか?
L1拡張機能には、個別にまたは並行して実行できる3つの戦略があります。
-
改善されたテクノロジー(クライアントコード、ステートレスクライアント、歴史的有効化など)により、L1の検証が容易になり、ガス制限が増加します。
-
特定の操作のコストを削減し、最悪のリスクを高めることなく平均容量を増やす
-
ネイティブロールアップ(つまり、「EVMの並列レプリカを作成する」ですが、レプリカのパラメーターを展開する開発者に多くの柔軟性を提供する可能性があります)
これらは、さまざまなトレードオフを持つさまざまなテクノロジーであることを理解する価値があります。たとえば、ネイティブロールアップには、構成可能性の観点から通常のロールアップと同じ弱点の多くがあります。同じL1(またはL2)で契約を処理できるのと同じように、複数のトランザクション間で操作を同期させる単一のトランザクションを送信することはできません。ガス制限の増加は、検証ノードを実行しているユーザーの割合を増やしたり、個々の利害関係者を増やすなど、L1を検証しやすくすることで達成できる他の利点を奪います。EVMで特定の操作をより安く(動作方法に応じて)EVMの全体的な複雑さを高める可能性があります。
L1拡張ロードマップに答える必要がある大きな質問の1つは、L1とL2の究極のビジョンは何ですか?明らかに、L1ですべてを行うことはばかげています。潜在的なユースケースには、毎秒数十万のトランザクションがあり、L1が完全に解除されません(ネイティブロールアップルートを服用しない限り)。しかし、ガス制限を10回上げる状況を引き起こし、イーサリアムL1の地方分権化を深刻に傷つけ、99%ではなく世界に入ったばかりであることに気付くように、いくつかの指針となる原則が必要です。活動のうち、L2および活動の90%はL2であるため、結果はほとんど同じように見えますが、イーサリアムL1の特異性の不可逆的な損失のほとんどを除きます。
L1とL2の間の「分業」に関する提案された見解
ロードマップの残りの部分とどのように相互作用しますか?
より多くのユーザーをL1に入れるということは、スケールだけでなくL1の他の側面を改善することを意味します。これは、より多くのMEVがL1にとどまることを意味します(L2の問題だけでなく)ため、明示的に対処する方が緊急です。L1の高速スロット時間の値を大幅に増加させます。また、L1( “The Verge”)の検証がスムーズに進んだかどうかにも大きく依存しています。
ジャスティン・ドレイク、フランチェスコ、フシアオ・ウェイ・ワン、@antonttc、Georgios Konstantopoulosに感謝します