イーサリアムの拡張計画を理解するための記事: ロールアップの動作原理
編集者注: この記事は以下から引用しましたクリプトバレーライブ (ID:cryptovalley)編集者注: この記事は以下から引用しました
クリプトバレーライブ (ID:cryptovalley)
、著者:エド・フェルテン、翻訳:リ・ハンボ、Odailyが許可を得て転載。
Arbitrum Rollup は、オンチェーンのイーサリアム コントラクトによって管理されるオフチェーン プロトコルです。 dapp 開発者は Solidity で書かれた一連のコントラクトを持っており、開発者はこれらのコントラクトを Arbitrum 仮想マシン (VM) にコンパイルして Arbitrum Rollup 上で実行します。速く走ってもらいたいのです。
ロールアップの基本
プロトコルの参加者は、議論可能なアサーション (DA) を行うことができます。これは、特定の状態ハッシュから開始して、いくつかの技術的な前提条件の下で、仮想マシンは指定された数の計算ステップを実行して、指定された新しい状態ハッシュを取得できると主張します。そして、仮想マシンは指定された支払いを行い、計算中に指定されたログ イベントを発行します。 DA は有効 (つまり、本物) または無効の場合があります。 DA を作成する当事者は、DA の有効性のためにデポジットを支払う必要があります。 (ステークとその仕組みについては以下で詳しく説明します。)
上の図に示すように、議論の余地のあるアサーションは、プロトコルが最終的に解決する論理的な決定点を作成します。 DA が有効な場合、システムは右上隅に新しい状態に入り、新しい状態ハッシュと DA で指定された副作用 (支払いとログ) を持ちます。または、別のブランチでは、DA が無効で拒否され、ステータスは変化しません。
副題"古いアービトラムプロトコル"オリジナルの Arbitrum プロトコルは、議論可能なアサーションを一度に 1 つずつ処理します。政党がDAを提案すると、誰でもDAに異議を申し立てることができるチャレンジ期間が設けられます。誰も異議を申し立てない場合、DA は承認されます。そうでない場合は、紛争プロトコルが実行され、DA はキャンセルされます (提案者と異議者が共謀した場合の安全のため)
結果には議論の余地がある)。
これは単純ですが、2 つの欠点があります。まず、一度に訴訟できるのは 1 つだけであるため、VM の進行速度は制限されます。基本的に、各チャレンジ期間中は進行を停止する必要があります。 2 番目に、悪意のある当事者は、仮想マシン用に作成されたすべての DA に意図的に挑戦することで、仮想マシンをフリーズする可能性があります。これにより、攻撃者は一連の賭け金を支払うことになりますが、その代償を支払う用意があれば、少なくとも場合によっては長期間進歩を続けることができます。
新しくなり改善された"パイプライン化"文章"パイプライン化"。
信頼性の低い最終結果
どうしてこうなりました?新しいプロトコルについて詳しく見てみましょう...
画像の説明
stake
副題
プロトコルのもう 1 つの重要な部分はステーキングです。誰でも木の四角に杭を打つことができます。スクエアを賭けることで、そのスクエアが最終的にプロトコルによって承認されると主張することになります。言い換えれば、現在の状態からステーキングしているスクエアまでのパス上のすべての DA に対して正しい分岐を選択したと主張していることになります。間違っている場合は、賭け金を失うことが予想されます。
文章"ステーキングアクションを元に戻すことはできません。各分岐点で上または下を選択して、ステークを右に移動することはできますが、以前に行ったステークコミットメントを取り消すことになるため、ステークを左に移動することはできません。"議論の余地のある主張をする当事者は検察官の一員である必要がある
DAは有効です"相続人はステークに行きます。通常、既存のベットを右に移動し、目的の連続マスに配置することで、この要件を満たすことができます。まれに、それができない場合、希望するマスに追加の賭け金を置くことがあります。ただし、注意してください、彼らは同意しない 2 つの道に賭けることになるので、最終的に 2 つの賭け金のうち少なくとも 1 つを失うことになります - 自分自身に矛盾するのは賢明ではありません)。 )"ベットについてもう 1 つ詳しく説明します。賭けたマス目が確認され、承認された履歴になった場合は、賭け金を取り戻すことを選択できます。これは、あなたが正しければ、ベットをそのままにしてシステムが完了するまで待つことができることを意味します。
追いつく"そうすれば、あなたは賭け金を取り戻します。"この時点で、可能性の樹状図が非常に大きくなり、「葉が茂った」ものになるのではないかと心配するかもしれません。複数の当事者が相互に矛盾する結果に賭ける必要があるため、これは実際には起こりません。そのうちの 1 つだけが正しい可能性があり、他の全員は利害関係を失います。おそらくこれは、
事実上、次々に DA が連鎖し、すべての賭けは同じ結果に向けられます。
ステーキング期間
時間がかかりすぎる前に、争点となる各主張について決定を下すシステムが必要です。したがって、DA がチェーンに追加されて分岐点が作成されると、その DA に関連付けられた期限が存在します。この期限は十分に先のことなので、これを選択した場合、DA が有効かどうかを確認し、この DA の結果に賭けるためのトランザクションをチェーン上で取得する時間があります。この DA の有効性に賛成または反対の賭けをしたい場合は、期限までにそうしなければなりません。 (期限後も利害関係者を紹介することはできますが、DA への賛否の決定には関与しません。)期限に達すると、請求の決定に関与するすべての利害関係者に通知されます。
紛争
アリスとボブが別の場所にいる場合は、2 つのうちの 1 つが当てはまります。一方から他方へ右への道が存在するか、またはそのような道が存在しないかのどちらかです。これは、彼らの主張が一致していることを意味します。アリスとボブの四角形を結ぶ右に進む道がない場合、彼らは何かについて意見が相違しているはずです。彼らの間には常に独自の争点が存在します。つまり、一方が DA が機能することに賭け、もう一方が機能しないと賭ける独自の DA です。
二者間で紛争が発生するたびに、システムは二者間で対話型の紛争解決プロトコルを開始できます。ここで紛争解決プロトコルについて説明するスペースはありません。これは、他の仲裁文書で説明したものと同様の 2 段階の対話型プロトコルであると言えば十分です。
紛争解決合意の結果、一方の当事者が不正確であることが判明します。その当事者はその利益を失うことになります。杭は、それがかかっていたチェーンから消去されます。その一部は紛争の相手方に渡され、残りは破棄されます。
複数の紛争を同時に進行させることができますが、各パンターは一度に最大 1 つの紛争にのみ参加できます。敗者の賭け金がなくなるため、紛争が発生するたびにシステム内の意見の相違が減少します。ベットに負けた当事者は希望に応じて再ベットすることができますが、新しいベットはベット期間が経過した DA に影響を与えることはできません。この結果、DA のステーキング期間が経過した後、その DA がどのように扱われるべきかについての意見の相違が紛争によって徐々に解消されることになります。
結果を検証する
DA の賭け期限が過ぎると、残りのすべての適時 (賭け期限前) の賭けはその DA の同じブランチにあり、システムはその DA の結果を確認できます。 DA は受け入れられるか拒否され、現在のステータスが DA の右側の対応するボックスに移動します。
支払いなどで DA が有効であることが確認されると、チェーン上で有効になります。これが、仮想マシンの状態がどのように進むかということです。
一般に、当事者は偽の主張に賭けて賭け金を失いたくないため、誠実に行動します。有効な DA のみがアサートされ、単一チェーン上の DA の無効な分岐には誰も賭けません。この場合、各 DA はステーキング期間が終了した直後に確認できます。
なぜトラストレスなのか
Arbitrum Rollup の重要な特性は、トラストレスであることです。正直な当事者は、仮想マシンが正しく動作して進歩するように強制できます。その理由を理解するには、アリスが常にすべての DA の真の分岐に賭け、ツリーが空になると DA をアサートすると想像してください。
アリスは本物の木に賭けているので、巻き込まれるすべての争いに勝ちます。他の人がアリスに同意しない場合、(a) 第三者との無関係な紛争で自分の権利を失うか、(b) 最終的にアリスとの紛争になり、彼女の権利を失うことになります。どちらの場合でも、アリスの意見に反対する人は全員、最終的には自分の賭け金を失うことになります。アリスに同意する賭け金だけが生き残るので、木の上でのアリスの道は最終的にはタイムリーな賭け金を持つ唯一のものになり、アリスの道は確認されます。
このようなシステムは信頼できないため、アリスが正方形に賭けられ、その正方形への道が本物であると知っている場合、アリスは自分がいる正方形が最終的に確認されることを確信できます。アリスにとって、その道は最終的なものであるようです。
たとえあなたがその道に賭けていなかったとしても、何人かの人がその道に賭けているのを見て、その中の少なくとも 1 人が正直であると信じれば、その道は最終的には確実になると確信できます。それはあなただけです。パスは究極の道です。
ファイナリティを信頼しないことの利点
なぜ結果に対する不信感が貴重なのでしょうか?古典的な例は、他のロールアップ プロトコルに関する以前の説明から来ています。仮想マシンがアリスに支払いをしたいとします。支払いイベントは正直なパス上にありますが、支払いが発生するブロックがオンチェーンで確認されるまでにはしばらく時間がかかります。
文章"トラストレスの結果、アリスはすぐにお金を手に入れることができるようになります。ボブがすぐに支払うお金がある場合は、アリスが将来の未確認の支払いをボブに割り当てる代わりに、そのお金をすぐにアリスに渡すことができます(さらに、ボブに支払う最低料金も加えます)。ボブは、支払いが実際に行われると確信できる場合にのみこれを実行したいと考えます。ボブは、正直な結果に賭けることによってこれを決定できます。そうすれば、最終的に支払いが行われることに完全な自信を持つことになります。これができるのはボブだけではなく、資金があれば誰でも彼に貸し出すことができます。資金を持っている人なら誰でも、同じ方法でアリスや彼女のような人たちに資金を貸すことができます。これらの人々は、より低い手数料を提供することで互いに競争することができ、アリスがすぐに資金を得ることがより安くなります。"重要な点は、このような市場メカニズムの存続可能性はトラストレスの結果に依存するということです。もし
これは、支払いだけでなく、仮想マシンが行う他の処理にも当てはまります。仮想マシンが何かが起こったことを通知するログ エントリを発行した場合、トラストレスな結果は、ログ エントリがオンチェーンで確認されるという確信を持って誰でも行動できることを意味します。
遅延攻撃
遅延攻撃
このシステムはトラストレスであるため、悪者が間違った結果を強制することはできません。彼らができることは、進歩を遅らせることです。そうするためには賭け金を犠牲にする必要があり、賭け金が大きい場合にはコストがかかる可能性があります。
誰かが遅延攻撃を開始するインセンティブを持っていて、賭け金を犠牲にする意思があると想像してみましょう。彼らが与える可能性のある最悪の損害は何ですか?
最初に注意すべきことは、悪意のある者は、誠実な当事者が誠実な道を構築し続けることを妨げることはできないということです。また、正直な当事者が、正直なブランチを完成させる過程で信頼できない自信を得るのを防ぐこともできません。
攻撃者が偽の結果に複数の賭けをした場合はどうなるでしょうか?その後、これらの賭けは論争の中で 1 つずつ勝たなければなりません。正直な結果に賭けている人が複数いる場合、それらの人々は全員、攻撃者の賭けを取り下げようとしながら、攻撃者に対して論争を起こす可能性があります。そして、何が起こっているのかは誰の目にも明らかであり、多くの人が実際の結果に賭けて、紛争を利用して攻撃者から賭け金を奪う餌付けの熱狂に参加したいと思うでしょう。正直な側に賭けている K 人がいる場合、攻撃者は K 賭け金を使って 1 つの紛争期間の遅延を購入します。攻撃者がより多く賭ければ、より正直な賭けを引き寄せる可能性があります。これは攻撃者にとって悪い状況です。
最適化
さまざまな最適化を行うことで、プロトコルの運用に必要なオンチェーンの簿記の量を削減し、オンチェーンのガスコストを削減し、レイテンシー攻撃者に対して有益なフィードの狂乱を演出しやすくすることができます。この投稿は十分に長いため、ここではこれらの最適化については詳しく説明しません。
今後の方法
最初のレベルのタイトル


