BTC
ETH
HTX
SOL
BNB
View Market
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

ロールアップ ソーターの完全ガイド: 概念、ステータス、共有ソート

Foresight News
特邀专栏作者
2023-05-09 13:00
この記事は約5170文字で、全文を読むには約8分かかります
シーケンサーは時計職人の天才であり、ロールアップの歴史を設定し、ロールアップが運命の状態に向かって時を刻むのを見守ります。
AI要約
展開
シーケンサーは時計職人の天才であり、ロールアップの歴史を設定し、ロールアップが運命の状態に向かって時を刻むのを見守ります。

オリジナル編集: 0x11、Foresight News

オリジナル編集: 0x11、Foresight News

Shared Sequencer は飛躍的に進化しており、Shared Sequencer とは何か、なぜ存在するのかを徹底的に分析する時期が来ています。この記事での分析対象はOptimistic Rollupに限定していますので、ZK信者の方はぜひアドバイスをお願いします。

ソーターとは何ですか?

シーケンサーは、オプティミスティック ロールアップにおける半信頼された役割です。メインチェーン自体でトランザクションをソートすることもできますが、これは経済的ではなく、ユーザーはロールアップトランザクションに対応するメインチェーントランザクションを個別に送信し、メインチェーンで手数料を支払う必要があります。注文者は、ロールアップ トランザクションが単一のメインチェーン トランザクションを共有できるようにすることで、ユーザーのこれらの問題を解決します。

ソーターは、メインチェーンのソートを補うためにオフチェーンの複数のユーザートランザクションを集約し、それらを単一のトランザクションコレクションとしてメインチェーンに送信し、トランザクションコストはユーザー間で共有されます。ソーターはトランザクションのコレクションを圧縮することもできるため、メイン チェーンのデータ可用性コストをさらに節約できます。自律的に注文するユーザーは、注文者に依存するユーザーよりも、ロールアップに含まれるトランザクションに対してより多くの料金を支払います。

ただし、ソーターはトランザクション コレクション内のトランザクションの順序を制御できます。ユーザーのトランザクションを含めないことを選択することもでき、それによってユーザーは自ら選別し、より高いメインチェーンコストを支払うことを強いられます。また、並べ替えと挿入抽出によってトランザクション コレクション内の MEV を抽出することもできます。実際には、ロールアップへの優先書き込みアクセス権を持っています。注文者はコントラクトを操作できるため、絶対に信頼できるトランザクションのみがオンチェーンメカ​​ニズムによって確実に強制され、信頼性の低いトランザクションは強制的に注文されると失敗する可能性が高いことに注意してください。

これにより、照合者はロールアップ ユーザーにとって半信頼されたパーティになります。注文者はユーザーがロールアップにアクセスするのを防ぐことはできませんが、ユーザーのアクセスを遅らせ、ユーザーに追加料金を課し、ユーザーのトランザクションから価値を引き出す可能性があります。分散化を通じてソーターの動作をさらに制限することは、積極的な手段です。研究テーマ

ソートと実行の違いは何ですか?

ソーターはメインチェーンのソートを補足するものであり、ロールアップの状態を計算しません。実際、無効なトランザクションをソートすることを選択する場合があります。ロールアップ ノードは、並べ替えデータを解析してクリーンアップし、ロールアップの有効な履歴をエクスポートし、履歴を実行して最新の状態を生成する必要があります。シーケンサーはこのプロセスから完全に除外されます。

ただし、友人としてFred私が常に思い出しているのですが、トランザクションが順序付けされると、結果は決定的になります。これは、すべての Rollup ノードがソーターによって生成された順序で結果に同意することを意味します。既知の履歴を考慮すると、ロールアップは正しい状態になります。ノードがこの状態を見つけると、1 つ以上のプロポーザーがそれをメイン チェーンのロールアップ コントラクトに送信します。

理論的には、どのノードもプロポーザーになることができ、権限は必要ありません。提案者は、ボンドとともにステートをメインチェーンにコミットします。不正行為の証拠が無効であることが判明した場合、保証金は没収されます。タイマーが期限切れになった後、コントラクトは証明を受け入れ、コントラクトに含まれるユーザー トランザクションがメイン チェーンで実行されます。実行ノードは、詐欺ゲームを通じて提案者の誠実さを保証します。実行ノードは、「ロールアップ フル ノード」または「検証者」と呼ばれる傾向があります。

言い換えれば、順序付けがメインチェーンにコミットされると、状態は最終的かつ不変になります。提案者は、ロールアップからメインチェーンへの資産ブリッジの利益を維持するために、最終状態を計算してロールアップ コントラクトに報告します。提案者は状態を作成するのではなく、それを計算して証明するだけです。ロールアップ コントラクトはロールアップを作成したり完成させたりするのではなく、提案者からロールアップの状態を取得するだけです。

なぜ発注と提案を分けるのでしょうか?

これは複雑な問題です。基本的に、彼らは彼ら自身が分離しているため、分離されます。これはトートロジーのように聞こえるかもしれませんが、誰もがそれに気づくまでには長い時間がかかったように思えます。振り返ってみると、ロールアップのアイデアの歴史は、プラズマと国家チャンネルの中で長年にわたって蛇行してきたことがわかります。ビットコインベースのプロトロールアップの初期には、注文者は存在せず、ユーザーは単に自分のトランザクションをメインチェーンにポストするだけでした。その後、このデザインは長年にわたって姿を消しました。Barry仕事が再び現れる。バリーとセレスティアの間で、ロールアップの研究はロールアップ ブリッジとメイン チェーンの相互作用に焦点を当てました。ソブリンロールアップ以前は、私たちが実際により優れたマスターコインを構築していることに誰も気づいていませんでした。

出所はさておき、シーケンサーは、ユーザーのトランザクション コストを最小限に抑えるという特定の問題を解決します。ただし、このプロセスでは新たな問題が発生します。ソーターは、同じトランザクションに対して同時に複数のソート結果を生成する可能性があります。ソートが完全にメインチェーンによって行われる場合、正規ソートは 1 つになりますが、ユーザーのトランザクション手数料はより高価になります。 Rollup でのユーザー エクスペリエンスを向上させるために、ソーターを使用することを選択しました。

提案者が複数いるため発注者が多いとする。ソーターは矛盾する順序を送信する可能性があるため、メイン チェーン上でソートされた特定のバッチを「正規化」するメカニズムが必要になります。現在のロールアップは、単一の特定の既知の半信頼された発注者を通じてこれを実行します。単一のソーターを選択することで、分散型ソーターが登場するまでこの問題を解決できます。提案者は複数必要ですが、発注者は 1 人だけであるため、これら 2 つの役割を分離する必要があります。

データの依存関係も重要な理由です。提案者には順序付けが必要ですが、注文者には状態が必要ありません。提案者は発注者の仕事の成果に依存するが、発注者は提案者に依存しない。データの依存関係は一方向であるため、役割とアクターの間に境界線を引く必要があり、アクターは単一の役割に集中することができます。

元の質問に答えると、提案者と発注者は別個であるため、提案者と発注者を分離します。提案者は発注者の下流で働きます。 Rollup は発注者に信頼と権限を与えますが、提案者は単なる普通の労働者です。

発注者、提案者、および検証者の状態

Arbitrum と Optimism は 2 つの一般的な ORU スキームです。その中の主な役割を簡単に紹介します。コードは関係せず、仕様とドキュメントだけを説明します。楽観主義の議論は、(まだ導入されていない)Bedrock 設計に限定されます。

Arbitrum

ユーザー トランザクションのバッチ処理と圧縮に加えて、Arbitrum Collat​​or はフル ノードも実行します。トランザクションは注文者に直接送信され、トランザクションが注文されると信頼できる WebSocket フィードが作成されます。 Arbitrum は、このフィードを「ソフト」確認のソースとして使用します。ソーターはソート結果について約束しており、ユーザーは通常そのソートを信頼できます。ノード、MEV Seeker、または他のアクターは、このフィードを使用してロールアップ状態を事前計算できます。

ソーターは、ソートされた圧縮トランザクションをメイン チェーンに定期的にパブリッシュします。メイン チェーンのファイナライズは、ロールアップの「ハード」確認を表します。メインチェーン上で順序付けが確立されると、それは Arbitrum チェーンの不変部分となり、順序付け内のすべてのトランザクションが最終的なものとなり、結果の状態も最終的になります。

当然のことながら、シーケンサはトランザクションの順序を設定するため、優先的な書き込みアクセス権を持ちます。ソーターは、ソート対象を制御し、ロールアップ履歴内のトランザクションの順序を制御できます。もちろんユーザーも利用できますが、delayed inboxトランザクションの組み込みが必須。シーカーは、WebSocket トランザクション フィードの遅延を最小限に抑えるために多大な努力を払っているため、Arbitrum トランザクションを分類するための堅牢な MEV マーケットプレイスを形成する可能性があります。

承認された仲裁提案者は 13 人います。RBlockETH は、 の特定のコミットメントにエスクローされます。ユーザーは、ロールアップ フル ノードを実行せずに、自分のステークの割合に基づいてロールアップに関する最終決定を下すことを選択できます。 Arbtirum の検証者は不正行為を特定できますが、不正行為の証明を通じてコミットメントの有効性に異議を唱えることができるのは提案者だけです。実際、完全なバリデータになれるのは提案者だけです。

正義はシーケンサーのように盲目であり、剣を持たなければならない

Optimism

Arbitrum と同様に、Optimism コレーターは、ユーザー トランザクションのバッチ処理と圧縮に加えて、フル ノードを実行します。トランザクションは注文者に直接送信されるため、注文時に信頼できる事前確認が作成されます。楽観主義ユーザーは、これらの確認を最終的なソフト確認のソースとして使用できます。ソーターは順序付けについて約束しており、ユーザーは通常、その順序付けを信頼できます。ノード、MEV Seeker、または他のアクターは、これらの確認を使用してロールアップ状態を事前計算できます。

ソーターは、ソートされた圧縮トランザクションをメイン チェーンに定期的にパブリッシュします。メイン チェーンのファイナライズは、ロールアップの「ハード」確認を表します。メインチェーンが一度シーケンスを確立すると、それは楽観主義チェーンの歴史の変更不可能な部分になります。その中でソートされたすべてのトランザクションが最終状態になり、結果の状態も最終状態になります。

当然のことながら、シーケンサーはトランザクションの順序を設定するため、最初に書き込みアクセス権を持ちます。ソーターは、ソート対象を制御し、ロールアップ履歴内のトランザクションの順序を制御できます。もちろん、ユーザーはトランザクションをメインチェーンに強制的に含めることができます。 MEVオークションコンセプトの発案者として、Optimism取引を注文するための強固なMEVマーケットプレイスが形成されそうだ。

楽観主義には1があります認可された提案者まとめ

まとめ

共用ソーター

共用ソーター

ソーターについて新たに理解したところで、私が本当に話したいこと、つまり共有ソーターについて話しましょう。ロールアップが同じソーターを共有するとどうなりますか?

さまざまなロールアップは何を意味しますか?

借りるベンの定義、Rollup を状態、状態遷移関数、証明システムとして考える必要があります。ロールアップには契約と口座があり、それらの契約と口座を更新するためにトランザクションを処理する仮想マシンがあります。一方、非ソブリン ロールアップにはメイン チェーンへのブリッジを実行する証明システムがあります。各コンポーネントには複数のデザインがあり、ある程度組み合わせることができます。

ただし、一部のコンポーネントは他のコンポーネントよりも同等です。全体として、状態はチェーンの本質であると考えるべきでしょう。チェーンは状態を変更する傾向がありません。結局のところ、イーサリアム開発者は仮想マシンを何度も変更し、コンセンサスメカニズムも何度も変更しましたが、状態を変更したのは 1 回だけでした。状態はロールアップであり、それをサポートするために仮想マシンと証明システムが存在します。したがって、ロールアップが異なれば状態も異なります。証明システムまたは STF を共有することはできますが、2 つのロールアップが同じ状態を共有することはできません。

抽出、検査、フィルタリング

ロールアップはメイン チェーンの履歴から状態を取得します。これを行うには、各ロールアップで「フェッチ」関数を定義する必要があります。抽出機能は、メインチェーン履歴をロールアップ履歴と非ロールアップ履歴に分割します。 STF はロールアップ履歴を処理してロールアップ状態を作成します。実際、フェッチ関数は、Rollup がメイン チェーンをチェックするための「レンズ」になります。

ロールアップを使用すると、ソーターは関数の次回実行の出力を抽出することを選択できます。ソーターは、R​​ollup ノードが次に参照して処理するデータを選択するため、STF の操作と次の状態をある程度制御できます。

共用ソーター

共用ソーター

共有ソーターは、2 つ以上のロールアップの抽出関数に入力を提供します。したがって、両方の新しい履歴レコードを設定し、STF の入力を制御します。これは、ロールアップごとに個別に行うことも、両方に対して行うこともできます。履歴を個別に設定すると、非共有ソーターとまったく同じように機能します。

ただし、2 つのロールアップの新しい履歴を同時に作成する場合、共有シーケンサは 2 つのロールアップの履歴をアトミックに「リンク」することで追加の機能を実行できます。シーケンサは各ロールアップのシーケンスを同時に生成し、両方が確認されるか、どちらも確認されないかを確認します。これにより、注文者は両方のチェーンの履歴を制御できるようになり、ロールアップの次の状態をある程度制御できるようになります。

アトミックインクルージョン (アトミック実行ではない)

この時点で、ソーターは生成するソートに関してかなりの裁量権を行使できることを繰り返し言わなければなりません。これは、ユーザーがメイン チェーンと対話せずに共有注文者を使用して複数のロールアップを取引できる一方で、それらのトランザクション間の特定の関係を生成するために必ずしも注文者に依存するわけではないことを意味します。共有ソーターの支持者は、ユーザーが格納のアトミック性を指定できる新しい構造を構想しています。つまり、ソーターは、共有の強制順序付けメカニズムを通じて複数のロールアップ内の一連のトランザクションを同時に強制的にソートできます。これにより、ユーザーはこれらのアトミック トランザクションがすべてロールアップ履歴に含まれるか、まったく含まれないことを確認できます。

見た目ほど良くありません。順序付けを強制できるのは確実なトランザクションのみであるため、アトミックに組み込まれた場合、確実なトランザクション セットのみがアトミックに実行されることが保証されます。前に述べたように、封じ込めと処刑は別のものです。ロールアップは、組み込み後および実行前にフィルター関数を通じて無効なトランザクションを除外します。順序付け者がユーザーのアトミック セットをフェッチし、トランザクションが失敗するか無効になるとします。トランザクションはソート後にフィルタリングされ、実行されません。これは、関係するすべてのトランザクションが確実でない限り、アトミック インクルードだけではアトミック実行を保証するのに十分ではないことを意味します。

具体的には、単純な送信と引き出しはアトミックに実行できますが、スワップや DeFi インタラクションなど、エラーが発生しやすいものはアトミックに実行できません。残念ながら、ほとんどの高価値インタラクションは 1 つ以上のエラーが発生しやすいトランザクションで構成されているため、アトミック インクルージョンを機能させるのは難しいようです。これにより、共有シーケンサーを介したクロスロールアップの DeFi 構成可能性が事実上排除されます。共有注文者は万能薬ではなく、ユーザーの資産はプロセスが終了するまで非同期クロスチェーン モデルにロックされる可能性があります。

ロールアップ構成のアトミック実行

注文者がメインチェーンに注文を発行する前に信頼できる約定保証を提供する方法について説明したことを覚えていますか?共有シーケンサーが複数のロールアップ システムに対して同じことを行うことを想像できます。共有順序付け者は、ロールアップごとに完全なノードを実行し、それらを使用してトランザクションが成功したかどうかを判断できます。次に、すべてが成功しないアトミック トランザクション セットの順序付けを生成しないことを約束できます。

もちろん、このシステムは信頼できます。あなたは仕分け人が嘘をつかないと信じるべきです。おそらく今頃、「シーケンサーの動作を制限することで、これをトラストレス システムに変えることができるだろうか?」と考えているでしょう。答えが「はい、しかし」であると言えるのは嬉しくもあり、悲しくもあり、困惑しています。はい、ただしその方法は、各ロールアップの STF を結合して、結合されたすべてのロールアップ トランザクションを実行する単一の STF を作成することです。つまり、すべてのロールアップ間ですべての仮想マシンをアトミックにする必要があります。これは、それらを同じロールアップにすることと同じです。はい、複数のロールアップを 1 つに結合することで、信頼できないアトミック実行を実現できます。これは良いアイデアかもしれません 1 が、私はその実現可能性を疑問に思っています。

条件付き関係のアトミックな実行

これについては他の場所でも書きましたが、もう 1 つの確実なオプションは、トランザクションとロールアップ状態の間の明示的な偶発関係を統合することです。これにより、提案者はリモート ロールアップの信頼に基づいて状態ルートを計算して提案する必要があるため、偶発事象を評価する負担が提案者に移されます。ただし、フィルター関数を繰り返し適用することで簡素化できると思います。特定のトランザクションとブロックで偶発性が明示的であると仮定すると、フィルターを 2 回実行できます。1 回目は予測された状態が有効であると仮定し、もう 1 回目は予測された状態が無効であると仮定します。これは、フィルター関数の 2^n 個の評価を犠牲にして、n 個の予測状態に拡張できます。

結論は

結論は

シーケンサーは時計職人の天才であり、ロールアップ履歴を設定し、それが運命の状態に向かってカチカチと刻まれていくのを見守ります。 Optimism と Arbitrum には大きな違いはありませんが、両者の間にはセキュリティ上の違いがあります。仕分け機が何をするのか誰も知りません。共有ソーターはアトミック インクルージョンは実行できますが、アトミック実行はできません。また、ロールアップ合成またはその他の実行メカニズムがなければ、アトミック インクルージョンをアトミック実行に組み込むことはできません。シーケンサーを共有してシームレスな相互運用性を実現するという自慢話はすべてジャンクサイエンスです。

Optimism
Arbitrum
MEV
Odaily公式コミュニティへの参加を歓迎します
購読グループ
https://t.me/Odaily_News
チャットグループ
https://t.me/Odaily_CryptoPunk
公式アカウント
https://twitter.com/OdailyChina
チャットグループ
https://t.me/Odaily_CryptoPunk