意見: イーサリアムのロードマップは変更されるべきですか?
編集者注: この記事は以下から引用しましたイーサリアム愛好家 (ID: ethfans)、著者: A Jian、Odaily の許可を得て転載。
イーサリアム愛好家 (ID: ethfans)中国語翻訳イーサリアム愛好家 (ID: ethfans)
、著者: A Jian、Odaily の許可を得て転載。「ロールアップ中心のイーサリアムロードマップ」より (中国語翻訳
) この記事の公開以来、コミュニティ全体がイーサリアム (特にイーサリアム 2.0) のロードマップについて疑問を提起しています。
抜粋の中国語訳
)、Vitalik 氏は、ロードマップが変更されたことを明らかにしました: (1) 当面はフェーズ 2 の重要性は強調されなくなり、フェーズ 1 はロールアップ用のデータ シャーディング (シャード データ) の実装に専念します; (2) ビーコンチェーンは実行機能を持ちます、つまり、Eth1-Eth2 の合併後、ビーコン チェーン ブロックにはトランザクションが直接含まれます; (3) フェーズ 0 の実装後の 3 つの主要なタスク: ライト クライアント サポート、データの断片化、および合併は並行して進められ、いずれかのモジュールは準備が整い次第展開されます。
Eth2.0の3段階ロードマップ
フェーズ 0: コンセンサス メカニズムとして PoS を使用したビーコン チェーン
フェーズ 1: 複数のシャード チェーン
フェーズ 2: すべてのシャードに実行機能を追加する
過去 2 年間にわたり、広く流通した Eth2.0 ロードマップでは、次の 3 つの連続したコンポーネントが計画されています。
フェーズ 0: コンセンサス メカニズムとして PoS を使用したビーコン チェーン
フェーズ 1: 複数のシャード チェーン
フェーズ 2: すべてのシャードに実行機能を追加する
このロードマップから、イーサリアム 2.0 の本来の目標は「シャード実行」システムを作成することであることが明確にわかります。これは、各シャードが独自の状態を持ち、これらの状態が次のように分割されることを意味します。各シャードの状態遷移ルールは次のとおりです。変更された状態はビーコンチェーンによって確定されるため、イーサリアム 2.0 は複数のシャードがトランザクションを並行して処理できるシステムになります。これは、イーサリアム 2.0 が「コンセンサス」と「トランザクション処理 (検証)」の分離されたシステムであることも意味します。各シャードに割り当てられた検証者は、トランザクションと状態の正当性を検証する責任があります。しかし、これらの状態の最終化は、依存関係に依存します。ビーコン チェーンのエポック終了メカニズムにより、2 つのプロセスは完全には同期されていません。
この「PoS ビーコンチェーン + マルチシャード」アーキテクチャも、No-thing-at-stake 問題を解決するために、PoS アルゴリズム自体の特性をうまく利用しているようです (PoS ブロックは計算を支払う必要がないため、ブロックを生成したアカウントは、同時に異なるフォーク上でブロックを生成しようとするため、システムが崩壊します)、イーサリアム 2.0 で使用される Casper アルゴリズムでは、資格を得るには、ユーザーが最初にデポジットの一部をデポジットする必要があります。ブロック生成の場合、検証者がブロック生成資格を悪用した場合 (同時に 2 つのフォークをサポートするなど)、デポジットに罰金が科せられます。したがって、Casper のようなアルゴリズムは、実際にはブロックチェーン上に相互に通信できる 2 つの状態を作成しますが、互いに独立して変化します: 1 つは通常の状態、もう 1 つはユーザーの状態、もう 1 つは検証者のブロックの重みの状態です。コンセンサスプロセスはブロックの重みの状態に基づいており、コンセンサスに達するとブロックも変更されます重み付け状態; したがって、コンセンサス プロセスは本質的にユーザー トランザクションの検証から独立しており、カップリングを解決できます。任意のトランザクション バッチと結果状態については、コンセンサス プロセスを「ファイナリティ ファイナライゼーション メカニズム」に抽象化でき、論理的には複数のシャード並列実行が可能になります。
そのスケーラビリティに関しては、イーサリアムのシャーディング技術「Quadratic sharding (Quadratic sharding)」の名前がそのヒントを示しています。シャード上でのトランザクションの実行の複雑さを、ブロックヘッダーの検証と同じ難易度まで軽減できると仮定すると、次に、断片化された実行アーキテクチャにより、参加ノードの処理能力の線形増加に応じてシステム全体の処理能力が二次関数的に増加します。平たく言えば、ネットワークに参加しているノードが (平均して) 一定期間内に 4 つのブロック ヘッダーを検証できる場合、シャードに参加しているノードは同時に 4 つのトランザクションを検証できることを意味します。システムは4シャード×4トランザクション/シャード=16トランザクションとなり、ノードの処理能力が8(2倍)になると、処理能力は64トランザクション(4倍)となります。
いいように聞こえますが、「平方レベル展開」の議論には次の前提が含まれています。
(1) シャード トランザクションの検証を、ブロック ヘッダーの検証と同じ難易度まで簡略化するテクノロジーがあります。
(2) シャード間のトランザクションはありません。つまり、各シャード内のトランザクションは互いにまったく依存しません。クロスシャードトランザクションは、複数のシャードの処理能力を占有する必要があり、ビーコンチェーンの処理能力も占有するため、スケーラビリティが大幅に低下します。
(1) については、この仮定は満たされる可能性が高いが、ステートレスとはそのような技術であり、トランザクションを配布する(あるいはブロックを配布する)際に、取引所のアクセス状態の証明(証人)が存在するので、トランザクションの検証者は、トランザクション実行時の状態データを保持することなく、トランザクションの正当性を検証できます。これは非常に重要です。ステートレスがない場合、シャード検証に参加する検証者はシャードの状態を保存する必要があります。これは、検証者が継続的に異なるシャード チェーンに割り当てられるためです。つまり、すべてのシャードを保存する必要があります。実際には、これは、すべてのシャードのブロックを継続的にダウンロードしてトランザクションを処理する必要があることを意味し、その結果、システム全体が大規模なブロック システムに崩壊します (たとえば、16 個のトランザクションを処理できるリソースを投資し、16 個のトランザクションを処理する)。残念ながら、これまでのところ、イーサリアム 1.0 は十分に軽量なステートレス メソッドを開発していません。
スケーラビリティに疑問があることに加えて、シャード実行は経済的に興味深い問題を数多く引き起こします。たとえば、シャード間トランザクションの処理時間がシャード内トランザクションの処理時間を超える場合 (これは避けられません)、これは、異なるシャード上の ETH の価値が同じにならないことを意味します。まるで米国内のドルが米国外のドルと実際には同じではないかのようです。シャードの数に関係なく、少なくとも 2 つの ETH 価格が存在します。1 つは、最も豊富な金融アプリケーションを備えたシャード (つまり、Eth1 シャード) の ETH の価格であり、もう 1 つは、他のシャードの ETH の価格です。シャードはシャードと交換する前に一定の手数料と一定の時間を支払う必要があるため、前者にはある程度の割引が必要です。同様に、たとえ各シャードにユニスワップがあったとしても、異なるシャード上の市場のトランザクション スリッページは異なるはずです。全員が一緒にいるとき、流動性が最も豊富になるため、最終的には全員が 1 つのシャードに集まります。資本効率も最高です。ある程度、シャード間トランザクションの必要性はほとんどないと考えることもできますが、これは、他のシャード上のアイドル状態のトランザクション処理能力がまったく無意味であることも意味します。
断片化された実行システムの技術的な困難についてはここでは繰り返しませんが、興味のある方は、断片化された実行システムが手数料をどのように支払うかについて考えてください。しかし、私がここで言いたいのは、断片化された実行システムの設計コンセプトは、すべての人の実際のニーズに反しており、物事の発展の法則にも反しているということです。グローバルな状態(組み合わせ可能性)は問題ではなく、まさに誰もが必要としているものであり、それはまさにイーサリアムがすべての金融アプリケーションを瞬時に組み合わせ、摩擦ゼロで価値が循環できる空間を生み出すことを可能にし、イーサリアムは変化する可能性を秘めているからです。プロトコル層で価値の循環に摩擦を生むことは自滅的です。優れたベースレイヤーがある場合は、このベースレイヤーを維持する方法を見つけ、残りはユーザーに選択させ、エコロジーを自然に進化させるべきです。デザインがエコロジーをデザインできるとは考えないでください。過剰なデザインはコストを課すだけです。みんなに。
断片化された実行の棚上げ (フェーズ 2) は、その困難さを証明しています。予見可能な将来、この方法では満足のいく結果が得られないでしょう。それでも、Eth2.0の研究者たちは3段階のロードマップを完全に放棄したわけではないと思いますが、Vitalik氏はまた、変更されたロードマップはフェーズ2にも完全に対応しているが、フェーズ2はもはや優先事項ではないと強調しました。
しかし実際には、断片化の実行を放棄することがイーサリアムが選択すべき道です。
副題
実行可能なビーコン チェーンのロードマップ
イーサリアム 2.0 の新しいロードマップで最も注目すべき点は、ビーコン チェーン ブロックにマージされた Eth1 シャードのトランザクションが含まれること、つまりビーコン チェーンが実行機能を持つことです。他のシャードはデータを保存する機能のみを持ちます。
実は、新しいロードマップにおける「データシャーディング」の位置づけは、「ロールアップ用のデータ可用性(データ可用性)層」です。
実行可能なシャーディングがなければ、二次スケーリングは問題外です。では、この「PoS レイヤ 1 + ロールアップ + ロールアップ データがメイン チェーン ブロック スペースを占有しない」アーキテクチャのスケーラビリティはどのようなものでしょうか?
この質問に答えるために、ロールアップ スキームとメイン チェーンの間の相互作用モードを見てみましょう。
まず、ロールアップ システムはステートレスな契約であると理解できます。この契約の内部状態 (どのユーザーがいくらお金を持っているか) は外部からは見えませんが、契約内で発生するすべてのトランザクションのデータは、外部からは見えません。定期的に公開され、メインチェーン上で公開され、第三者がこれらのデータを取得した後に契約の内部状態を再構築できるようになります。
有効性証明を使用するロールアップ (zkRollup など) の特徴は次のとおりです: コントラクトがトランザクション データを開示するたびに、これらのトランザクションが正しく実行されたことを示す「計算上の整合性証明」が付属するため、新しい状態ルートは XXX である必要があります。証明が契約の検証に合格できれば、契約はステートルートを更新しますが、証明が検証に合格できない場合、契約は更新を拒否します。
エラープルーフを使用したロールアップスキーム (オプティミスティックロールアップなど) はその逆です。誰かが契約のトランザクションデータを開示するたびに、デポジットを預けて、一定期間後に契約の新しい状態ルートが YYY であると主張する必要があります。 , 誰でもデポジットを預け、アサーションに異議を唱える虚偽の証明を発行することができます。虚偽の証明は、トランザクションのバッチに欠陥があること、またはトランザクション処理後の新しい状態がまったく YYY ではないことを証明します。異議申し立てが成功した場合、虚偽の主張を行った人 保証金は失われます; 一定期間誰も異議申し立てをしなかった場合、契約更新ステータスのルートは YYY になります。
これら 2 つのソリューションはチェーン上にデータを公開する必要があるため、チェーン上のスペースを占有します。さらに、チェーン上のスペースのサイズによって、単位時間あたりのロールアップ システムの処理能力 (つまり、TPS) が決まります。もう少し深く考えると、これらのトランザクションデータをデータ制約の少ない場所に解放できれば、つまりレイヤー1ブロックの空間を占有せずに実行できれば、処理能力を2倍にすることができます。そういう場所がたくさんあれば、効果も倍増します。
(1) 「ダウンロードしたい場合はダウンロードし、ダウンロードしたくない場合はダウンロードしない」というこの方法は、zk ロールアップではまったく機能しません。zk ロールアップがステート ルート、つまり検証者を更新したい場合、 zk ロールアップ コントラクト更新操作 (つまり、レイヤー 1) は、プルーフを受け入れるときにプルーフに対応するトランザクション データも取得する必要があります。取得しないと、検証に合格できません。 (トランザクション データを提供する必要はありません。また、ロールアップではなく、証明を検証するだけで契約状態のルートを昇格する、Validium と呼ばれるソリューションもあります)。言い換えれば、zk ロールアップのみを考慮した場合、「データ シャーディング」方法は帯域幅の点で大きなブロックと何ら変わりません。データが誰に送信されたか、そもそもどこに保存されていたかに関係なく、すべてのノードはデータをダウンロードする必要があります。
結論は
(2) 楽観的なロールアップの場合、より楽観的な仮定を取りたい場合は、もちろん可能です。トランザクション データはまったくダウンロードできず、ファイナリティの最新状態のルートのみが保持されます。紛争が発生した場合にのみ、関連性のあるノード全体の観点から見ると、コントラクトの状態を検証する機能は失われませんが、ユーザーの観点からは状況が完全に異なります。状態を再構築できるかどうかはわかりません。いつでも引き出しを完了できます。言い換えれば、ユーザーはオプティミスティック ロールアップとプラズマのどちらを使用しているのかわかりません。本来、楽観的なロールアップ ソリューションは、すべてのフル ノードに過去のトランザクションのバックアップがあることを保証することで、ユーザーが簡単に自分の状態を再構築し、状態証明 (またはアサーション) を送信して引き出しを完了できるようにするものですが、この保証が失われると、状態を再構築できるかどうかは確かです。オプティミスティック ロールアップのセキュリティも影響を受けます。そのセキュリティの前提条件は、トランザクション データを取得した人の少なくとも 1 人が契約に従うことです。データ シャーディング モードでは、何人の人がアクセスするかわかりません。この部分をリクエストしてください。トランザクションデータ。
全体として、「データ シャーディング」モードを zk ロールアップと組み合わせると、帯域幅の点でより優れたスケーラビリティを提供することはできませんが、ブロック スペースを拡張するのと同じ効果があります。オプティミスティック ロールアップと組み合わせると、大きなブロックと比較して、スケーラビリティの利点は、チャレンジの頻度に反比例します。さらに深刻なことに、オプティミスティック ロールアップがプラズマに変質する危険性があります (定義上、オプティミスティック ロールアップはもう存在せず、オプティミスティック ロールアップとプラズマの間の別の名前で呼ばれる必要があります)。
副題
結論は
ロールアップ ソリューションは、実際には、レイヤー 2 開発プロセスから血塗られた教訓を学んだ後に飛び出した不死鳥です。最大の特徴は、ユーザーの資金の安全性を十分に保護していることです。トランザクション データを取得した人は誰でも状態を再構築でき、ブロックチェーンはこれらのトランザクション データの継続的なデータ可用性を保証するため、ロールアップ スキームはレイヤー 2 スキームの中で誰にも負けないユーザー保護を提供できます。このようなソリューションがあって初めて、ユーザーはそれを実際に使用することを敢えてします。この利点を放棄し、最大のパフォーマンスという楽観的な仮定に基づいてシステムを設計すると、ユーザーが使用することを恐れるものしか設計できません。


