意見: ETH 2.0 はロールアップの一種です
編集者注: この記事は以下から引用しましたイーサリアム愛好家 (ID: ethfans)編集者注: この記事は以下から引用しました
イーサリアム愛好家 (ID: ethfans)
、著者:lightclient、翻訳および校正:Min Min & A Jian、許可を得てOdailyによって複製されました。
新しいスケーリング パラダイムに移行する際には、放棄された古いパラダイムを振り返ることをお勧めします。
この投稿の目的は、「ロールアップ中心」のアプローチがシャーディングから逸脱するものではないことを読者に安心してもらい、(仮説の) システム全体のより直観的な理解を構築することを願っています。
最初のレベルのタイトル
楽観的ロールアップの定義
この記事では、最初に最も単純なオプティミスティック ロールアップ (ORU) の実装について詳しく説明します。
ORU には次の特性が必要です。
すべてのトランザクション データをチェーンに送信する
状態ルートが true であると仮定すると、
一部のノードは、ORU の状態遷移を検証する責任があります。
最初のレベルのタイトルシャーディングが実現できない理由
副題
ブロックチェーン上に 16384 個のバリデーターがあり、64 個のシャード チェーンがあると仮定すると、各シャード チェーンは 128 個のバリデーターからなる委員会によって検証されます。委員会メンバーの選出は予測できません。スロットごとにすべての委員会が解散され、64 の委員会がすべてのバリデーターからランダムに再選出されるため、各バリデーターは他のバリデーターがどの委員会に所属しているかを知りません。ブロックがシャード チェーンに追加される前に、委員会の 2/3 メンバー (つまり、86 名以上のメンバー) による承認が必要であると仮定すると、これは、悪意のあるバリデーターの 1/3 がすべてのブロックに含まれていることを意味します。の場合、ランダムな手段で悪意のある委員会が選択される確率は次のとおりです。
望ましいセキュリティレベルを達成するために委員会のサイズを調整することで、このパラメータを拡大または縮小できることに注意してください。
文章
悪意のある委員会が選出される可能性は極めて低く、バリデーターとして機能しないことには負のインセンティブがあるため、シャーディング システムは、非シャーディング コーディネーターのセキュリティと生存性の保証を継承する必要があります。ただし、現実世界のほとんどのシステムと同様、これを達成することは簡単ではありません。委員会のメンバーは事前に選出されるため、悪意のある行為者は合理的な行為者に賄賂を渡す機会があります。バリデータ公開キーから IP アドレスへのマッピングを作成することが簡単であれば、さらに多くの贈収賄が発生するでしょう。さらに、許可のないシステムでは、検証可能な投票は本質的に贈収賄を防ぐことができません。要約すると、シャーディングの実際のセキュリティは理論上のセキュリティよりも少なくとも 1 桁低くなります。
副題
Plasma と同様、シャーディングにもデータの可用性の問題があります
シャーディングはモノリシック プロトコルよりも安全性が劣りますが、それでもそのセキュリティを確保することはできます。つまり、不正行為の証明を使用して無効な状態遷移を元に戻すことができます。ただし、私たちが想像した単純なシャーディング チェーンに追加の設計を導入しない場合、悪意のある検証者はデータを完全に保留し、公開しない可能性があるため、他の検証者は不正証明を生成するのに十分なデータを持たなくなります。次に、この攻撃を実行する方法について説明します。
2 つのシャード チェーン X と Y を持つ単純なシャード ブロックチェーン B があるとします。ブロックチェーン B は、シャード X と Y、Cx と Cy のそれぞれの実行を支援するために、2 つの委員会で従来のビザンチン フォールト トレラント コンセンサス アルゴリズムを実行します。 B の各ブロックには、2 つのしきい値署名、つまり、それぞれのシャード チェーンの現在のブロックの状態ルートに対する 2 つの委員会 Cx および Cy のメンバー 2/3 の証人が含まれています。
各シャード チェーンが非シャード システムと同じ量のデータとトランザクションを 1 秒あたり処理すると仮定すると、シャード チェーンの導入により約 2 倍のスループットが提供されるはずです。楽観的なケースでは、そうなります。
ここで、B に対してデータ利用不能攻撃を開始しましょう。悪意のあるエンティティが Cx の 2/3 + 1 メンバーに無効な状態ルートへの署名を強制し、対応するブロックの入力データを公開しないようにできるとします。この無効な状態ルートは、B に追加される次のブロックに含まれます。現時点では、B を有効な状態に戻す合理的なメカニズムはありません。メカニズムの例をいくつか挙げます。
Cx の残りの 1/3 ~ 1 メンバーは、B でデータ利用不可アラートを生成する可能性があります。残念ながら、これは起因するエラーではありません (翻訳者注: 攻撃者がブロックを差し控えたのか、ネットワークが悪く一部の人がブロックを受信しなかったのか、受信時に他の人に噛み付いたのかを判断することは不可能です)。したがって、B は判断できません。どの党が悪事を行っているのか。 (一部のメンバーが無謀に処罰された場合) 悪意のある少数派がこれを利用して、コストゼロの DDOS 攻撃を開始する可能性があります。
バグを発見し、B を最新の有効な状態にロールバックするために積極的に介入できるかどうかは、コミュニティ全体にかかっています。この処理方法は明らかに悪いです。
プラズマと同様の質量放出メカニズムを実装すると、X から B へ放出される質量に関連した悪影響が生じます。
Plasma の場合と同様、ここでの本当の問題はデータの可用性です。
最初のレベルのタイトル
データの可用性を安全に高める
上記の分析により、まずベース レイヤのデータ可用性を拡大することに焦点を当てる必要があるという真実を理解していただければ幸いです。そうしないと、システムは依然としてデータ利用不能攻撃を受けることになります。
上記のメカニズムは主に、ネットワークの参加者がすべてのデータをダウンロードするという要件を緩和します。 Vitalik 氏の提案は、ネットワークの参加者がブロック内のデータの一部をランダムに選択して、ブロックの提案者がデータを開示していることを確認できるようにするというものです。リスクは、ブロック提案者が少量のデータを隠蔽するだけでデータ利用不能攻撃を仕掛けることができることです。したがって、参加者はブロックを複数回サンプリングして、ブロックが利用可能であるという十分な確信を築く必要があります。サンプリング時間を短縮するために、Vitalik は 2 次元リードソロモン符号化を使用してブロック データを符号化することを提案しました。
この構造では、ブロックが N 個のシェアに分割され、エンコードされて M 個のシェアが生成されます。M に N 個のシェアがあれば、ブロックを再構築できます。 2N=M と仮定すると、データ利用不可攻撃を成功させるには、ブロック提案者はブロック データの 1/2 に影響を与える必要があります。コード化マークル ツリーは同様の構造を使用しますが、O(b1.5) デコード コストと O() ハッシュ コミットメントの代わりに、O(b) デコード コストと O(1) ハッシュ コミットメントを使用します (b はブロックのバイト サイズを指します) )。
最初のレベルのタイトル
ETH 2.0 のシャード設計は、それらがビーコン チェーンの ORU であるという事実を曖昧にします。分散処理から順序付けされたデータ可用性レイヤーに焦点が移ると、それが明らかになります。
上の図に示すように、バリデータ セットは次の 4 つの役割を果たします。
ビーコンチェーンを検証して実行する
シャードによって提供されるデータのサンプリング検証
シャード委員会を結成する
無効な状態遷移に関する不正行為の証拠を提出する
文章
i) データの可用性、ii) ブロックチェーンはデータの可用性を備えた最新のブロックからフォークするという 2 つの仮定を立てました。その後、人々が不正行為の証拠を構築できるか、システムがデータの可用性の欠如をブロックに署名したシャード委員会のせいにして、状態遷移をロールバックするかのどちらかです。
副題
定義上、ETH 2.0 は ORU です。
この時点で、ORU の以前の定義を考慮すると、シャードが実際にはロールアップであることを証明できるはずです。
1. すべてのトランザクションデータがチェーンに送信されます
フラグメント ブロック データはデータ可用性レイヤーに集中し、一定の確率でネットワーク全体によって検証されます。
2. ステートルートがチェーンにコミットされる
シャード委員会は、ビーコン チェーン ブロックに含まれるシャード状態ルートに証明書を提供します。
3. 状態ルートは有効であると想定されます。
ビーコンチェーンはシャード委員会の証明が追加の検証なしで有効であると想定します
4. 一部のノードは、ORU の状態遷移を検証する責任を負います。
シャード委員会は、シャードの状態遷移を検証します。
ビーコン チェーンは、シャード状態遷移の不正行為の証明をサポートします。
ETH 2.0の解体
ETH 2.0 と ORU システムの驚くべき類似点について説明しましたが、システム全体の設計をより深く理解するためにこの情報をどのように使用できるでしょうか? ORU システムのレンズを通して ETH 2.0 の設計上の決定の一部を見てみましょう。
副題
データスループット
ここで採用できるアプローチの 1 つは、データの可用性チェックをプロトコルの第一級市民として扱うことです。これにより、データ層の独立した最適化と、実行層でのハードウェア要件 (プロトコルに参加) のより詳細な制御が可能になります。
たとえば、ETH 2.0 は、シャード チェーンではなくビーコン チェーン上で 64 のデータ センターと ORU コントラクトを提供できます。 ORU 契約により、ロールアップは、リーダー選出メカニズム、データを送信するデータ センターの数、および他のロールアップにバインドするかどうかを決定できます (たとえば、ロールアップがロールバックされると、ロールアップもそのロールアップにバインドされます)ロールバックが発生します)。使用するデータセンターが増えるほど、ロールアップの検証に必要なハードウェア要件が高くなります。
厳密に言うと、上記のシステムは現在のシャーディング設計のスーパーセットです。プロトコルによって定義された 64 のシャードに加えて、安全なデータ層上に構築され、プロトコル シャードから独立した独自の特性を持つ他のロールアップが存在します。
副題
単純な ORU では、選出されたリーダーは無効な状態遷移をコミットする権利を持ちます。これはシステムのセキュリティには影響しませんが、無効な状態遷移は不正行為の証明によって元に戻せるため、ロールアップ プロセスは中断されます。この種の損害だけを考えても、通常、加害者にとって費用対効果は高くありません。ただし、ETH 2.0 では、シャード間通信により、この問題が特に難しくなります。スロット N のシャードは、スロット N-1 の他のシャードの状態を取得することを期待します。シャード Si が無効な状態遷移をコミットしたと仮定すると、一方的にロールバックを開始する以外に、シャード Sj (0 ≤ j ≤ 64; i ≠ j) に対するこの状態の悪影響を元に戻す合理的な方法はありません。
壊滅的な出来事を回避するには、そのようなロールバックを防ぐメカニズムを導入する必要があります。最も明白なメカニズムの 2 つは、シャード委員会とカストディ ビット チェックです。 「シャーディングの安全性を数学的に証明する」セクションで述べたように、さまざまな攻撃ベクトルを考慮しても、シャーディング委員会のメンバーの 2/3 以上が賄賂を賄う可能性は非常に低いです。カストディアル ビットにより、正直なバリデーターがだまされて怠惰が原因で無効な状態遷移に署名することがなくなります。
これらのメカニズムの目的が、システムのセキュリティを維持することではなく、無効な状態遷移を防止することであると考えると、実用的で同じ効果が得られるパラメータを選択できます。たとえば、シャード委員会のサイズを 64 人に減らしても、悪意のある委員会がランダムに形成される確率は依然として 3.1×10-8 と低いです。ただし、ネットワークと署名の集約の観点から見ると、これにより負担が大幅に軽減されます。
最初のレベルのタイトル
ロールアップ中心のイーサリアムロードマップ
この記事は元々、スタンフォード ブロックチェーン カンファレンス 2020 (SBC20) 中に書かれたものです。そのとき、私はETH 2.0とORUの類似点を十分に認識し始めました。 Vitalik の記事を読んだ後、私はイーサリアムによる将来のロールアップ中心の拡張ソリューションの採用への支持を表明するためにこの記事を公開することにしました。ただし、この記事で説明したように、「ロールアップ中心」のスケーリング スキームはコースから外れるのではなく、スーパーセットです。シャーディング設計で遭遇した問題は、クロスロールアップ通信の統合で遭遇した問題と同形です。これは、すでに進行中の作業の多くが中断することなく継続できることを意味します。


