Based Rollup の最大の利点は、シーケンサーがないため、単一障害点がなく、シーケンサーが完全なトランザクション順序付け権限を持っていることを心配する必要さえないことです。つまり、シーケンサーがクラッシュしてチェーンのシャットダウンを引き起こすことを心配する必要がありません。または、特定のユーザーからのトランザクションを意図的に受け入れない、またはシーケンサーが悪意を持ってユーザーの MEV をキャプチャするのではないかと心配する場合があります。 Based Rollup は、ブロック生成における L1 の分散度を完全に継承します。
ロールアップの分類がこの記事でわかる
執筆者: NIC リン
事前知識:
ロールアップの仕組みとロールアップのデータ可用性 (データ可用性) の問題を理解する
ロールアップの要約
Validity RollupかOptimistic Rollupかに関係なく、データをL1(イーサリアムなど)にアップロードすることで、誰でもL1にアクセスすることでロールアップのデータにアクセスでき、これを利用してロールアップの最新ステータスを導き出すことができます。アリスは 10 USDT を持ち、ボブは 5 USDT を持っています。
L1 にデータをアップロードしないものは Rollup に属さず (Validium、zkPorter、Arbitrum AnyTrust など)、この記事の対象外です。また、この記事では、ロールアップが状態の有効性をどのように検証するか、つまり、有効性ロールアップとオプティミスティック ロールアップの違いについては説明しません。
この記事の最初の部分では、ソブリン ロールアップについて説明します。ソブリン ロールアップは、その名前が示すように、自律性を備えたロールアップです。現在誰もが使い慣れているロールアップ (以下、クラシック ロールアップと呼びます) とは異なり、ロールアップのバージョン アップグレードやハード フォークはすべてソブリン ロールアップ上で発生します。フォークの場所は次のとおりです。クラシック ロールアップではなく、L1 ロールアップ コントラクトで行われます。L1 ロールアップ コントラクトは、マルチシグネチャ ウォレットまたはガバナンス投票を通じてバージョン アップグレードを実行します。つまり、L1 のコントラクトによって、ロールアップが現在どのバージョンを使用する必要があるかが決まります。また、ガバナンス メカニズムへの攻撃やロールアップ コントラクト自体への攻撃など、L1 でロールアップに対する攻撃があった場合、ロールアップは影響を受けます。それどころか、ソブリン ロールアップは単に L1 をデータを保存する場所とみなすため、すべてのソブリン ロールアップ メンバーは、L1 自体が攻撃されない限り、L1 に何が起こっても、チェーンの下で現在どのバージョンを使用するかを決定できます。再組織化またはチェーンのシャットダウンなど)、ソブリン ロールアップは影響を受けません。
後半ではBased Rollupについて紹介します。 Based Rollup はシーケンサーの役割を取り除き、トランザクションのソート権限を L1 マイナー、バリデーター、MEV サーチャーなどに引き渡します。これにより、ソートトランザクションがより分散化されるだけでなく、設計が簡素化され、システムの多くのコンポーネントが削除されます。
ソブリンロールアップ
データ可用性レイヤーと決済レイヤー
Arbitrum、Optimism、StarkNet などのクラシック ロールアップは、イーサリアム (L1) をデータを保存する場所 (つまり、データ可用性レイヤー) として扱うだけでなく、同時にイーサリアムを決済レイヤーとしても扱います。決済はという処理がイーサリアム上で行われ、L2の状態(つまり、L2の各アドレスの残り)がL1に書き込まれます。
なぜ L2 の状態を L1 に書き込む必要があるのでしょうか?このようにして、L2 と L1 は情報と資産を交換できるため、L1/L2 dApps は情報を同期して連携でき、L1 の ETH は L1/L2 間で安全に転送でき、L2 の ARB/OP も L1/L2 間で安全に転送できます。 L2間の転送。
L1はL2の状態を読み取り、安全にメッセージを送信でき、L1/L2は相互に通信できます
ソブリン ロールアップは決済レイヤーを削除し (または決済レイヤー自体を決済レイヤーに変え)、単純に L1 をデータ可用性レイヤーとして使用します。
L1 は Sovereign Rollup が L1 に置いたブロックまたはトランザクション データを読み取るだけで、L2 の最新のステータスを知らないため、通信する方法がありません
なぜ集落層を削除するのでしょうか?さまざまな根拠や原因があります。
ソブリンロールアップの仕組み
ソブリン ロールアップは、単純に L1 をデータ可用性レイヤーとして使用し、データを L1 にアップロードし、L1 に依存してデータが利用可能であり、データの順序が変更されないことを保証します。ソブリン ロールアップ ノードは、L1 上のデータの読み取りと解釈に依存して、ソブリン ロールアップの最新の状態を計算します。 「解釈と計算」は、実際にはソブリンロールアップのコンセンサスルールと状態遷移機能を表しており、L1データからソブリンロールアップの形式とルールに適合するブロックとトランザクションをどのようにフィルタリングするか、これらのブロックとトランザクションをスクリーニング後に検証し、検証する方法を示します。これらのトランザクションを実行して最新の状態を計算します。
ソブリン ロールアップ ノードは、L1 データから独自のブロックを選別し、最新のステータスを解釈して計算します
2 つのソブリン ロールアップ ノードのバージョンが異なる場合、異なるデータを解釈したり、異なる最新状態を計算したりする可能性があるため、これら 2 つのノードは同じチェーン上に存在せず、実際に表示されるのは 2 つのフォークされたチェーンの 1 つです。
これは実際には、異なるバージョンの Ethereum ノードを実行するのと同じであり、2 つのバージョンは同じチェーンではない可能性があります。たとえば、ハードフォーク後、ノードのバージョンを更新するのを忘れた人、またはノードのバージョンを更新したくない人は、当然ながら元のチェーン (ETC、ETHPoW など) に残りますが、ノードのバージョンを更新した人は、新しいチェーン (ETH)。
ここの読者は、これがソブリン ロールアップと呼ばれる理由も知っておく必要があります。ソブリン ロールアップでは、誰もがノードのバージョンを選択し、自分のグループの (社会的) コンセンサスに従ってデータを解釈できるからです。現在、ETHPoW 対 ETH のようなソブリン ロールアップ コミュニティで意見の相違がある場合、それは誰もが独自のやり方で、データを解釈するために異なるノード バージョンを選択することになりますが、データは依然としてオリジナルのものであり、変更されていないことを意味します。
*注意: もちろん、フォーク後、それぞれのバージョンのノードは、独自のルールに準拠したデータを L1 にアップロードし、その後、双方が相手によってアップロードされたデータを直接フィルタリングします。 *
中間時点で、以下のノードがバージョン v1.1.2 に分岐し、その後、互いのブロックが独立しました
どのようなソブリン ロールアップがありますか?
現在、ソブリン ロールアップの例はありませんが、ブロックチェーンのモジュラー設計トレンドがますます普及するにつれて、間違いなく多くのソブリン ロールアップが登場するでしょう。たとえば、Celestia が設計しているモジュラー フレームワーク Rollkit は、Cosmos SDK を通じて Sovereign Rollup を作成できます。 Cosmos SDK を使用して構築された元のチェーン (L1) とは異なり、トランザクションの順序を決定するために Tendermint コンセンサスを実装する必要がありますが、ソブリン ロールアップは、現在の共通ロールアップと同様に単一のシーケンサーを使用してトランザクションを順序付けできるため、複数のコンセンサスの必要がなくなります。ノードを管理し、そのセキュリティ上の懸念とコンセンサス アルゴリズムの実行に消費されるリソースに依存します。そして、Sovereign RollupはトランザクションデータをCelestiaにアップロードするものですが、同時にSovereign RollupであるためL1の影響(アップグレードや攻撃など)を受けることはありません。
*注 1: ロールキットは後にデータ可用性レイヤーとしてビットコインの使用もサポートしました。このようなロールアップはビットコインのセキュリティを継承できますが、スループットはビットコインに制限されます。 *
*注 2: 基本的に Celestia ベースのチェーンは Sovereign Rollup と呼ばれます。 *
あるいは、Arbitrum が決済レイヤーとして Ethereum を使用しなくなり、Ethereum と情報や資産を交換する必要がなくなり、単に Ethereum をデータを保存する場所としてみなした場合、そのような Arbitrum もソブリン ロールアップになります。
決済ロールアップ
Settlement Rollup のような定義もありますが、基本的には Sovereign Rollup であり、この Sovereign Rollup が他のチェーンの Settlement Layer にもなります。つまり、ソブリン ロールアップに他のチェーンがあり、他のロールアップがそれを決済レイヤーとみなす場合、このソブリン ロールアップを決済ロールアップと呼ぶことができます。
*注意: 他のチェーンの決済層になるには、双方が情報や資産を交換できるように、基本的なスマート コントラクト機能を備えている必要があります。 *
今日、すべてのチェーン情報を Celestia にアップロードするように Ethereum が変更された場合、その Ethereum は Celestia 上のソブリン ロールアップになり、また決済ロールアップにもなります。これは、イーサリアムには多くのチェーンがあり、多くのロールアップはそれを決済層と見なすためです。 。
イーサリアムは Celestia のソブリン ロールアップであり、決済ロールアップでもあります
注: おそらく将来的には、誰もがモジュール化とさまざまなレイヤーの機能に徐々に慣れ、ロールアップの観点から始めることはなくなり、ソブリン ロールアップや決済ロールアップなどの用語は徐々に消えていくでしょう。いずれにせよ、重要なことは、チェーン (L1、L2、L3 など) をどのように設計するか、トレードオフを行う方法、およびさまざまなレイヤーに適した構築ツールを選択する方法です。
ベースのロールアップ
もう 1 つの最近登場したロールアップ分類は、Based Rollup、または L1 シーケンス ロールアップとして知られています。 Based Rollup の Based はトランザクションの並べ替えを指します。Rollup はトランザクションの並べ替えのために Sequencer (または複数の Sequencer) に渡されるのではなく、L1 Miner、Validators、MEV Searcher などに完全に渡されてトランザクションの並べ替えが行われます。クラシック ロールアップが L1 にデータをアップロードする場合、L1 ロールアップ コントラクトは、資格のあるシーケンサーによってアップロードされたかどうかを確認しますが、ベース ロールアップには制限がなく、誰でもアップロードできます。
誰でもベースロールアップのブロックをアップロードできます
Based Rollup の最大の利点は、シーケンサーがないため、単一障害点がなく、シーケンサーが完全なトランザクション順序付け権限を持っていることを心配する必要さえないことです。つまり、シーケンサーがクラッシュしてチェーンのシャットダウンを引き起こすことを心配する必要がありません。または、特定のユーザーからのトランザクションを意図的に受け入れない、またはシーケンサーが悪意を持ってユーザーの MEV をキャプチャするのではないかと心配する場合があります。 Based Rollup は、ブロック生成における L1 の分散度を完全に継承します。
ベースのロールアップには次の利点があります。
ユーザーがロールアップを離れるコストは非常に低いです
一般に、ロールアップは、シーケンサーが意図的に特定のユーザー トランザクションを受け付けなかったり、ユーザーがロールアップ トランザクションから離れることを妨げるシーケンサーの停止を防ぐために、ユーザーがシーケンサーを使用せずに L1 に直接インストールできるように、強制インクルージョン メカニズムまたはエスケープ ハッチ メカニズムを設計します。 L2ブロック。ただし、このような設計の最初のコストは高コストです。ユーザーはトランザクションを挿入するために L1 マイナーの料金を支払わなければなりません。2 番目のコストは、L1 から挿入されたトランザクションがシーケンサーの L2 ブロックのパッケージ化プロセスに影響を与える可能性があることです。L1 が影響を与える可能性があります。 insert このトランザクションは、シーケンサが L2 ブロックに収集しようとしているトランザクションを無効にします。たとえば、L1 のアリスによって挿入されたトランザクションは、すべてのお金をボブに転送し、その結果、アリスが L1 のキャロルにお金を転送するトランザクションは失敗します。 L2ブロック。
アリスのトランザクションを受信した後、シーケンサーはトランザクション結果を確認し、次のブロックに入れます
しかし、アリスは強制インクルージョンを通じて別のトランザクションを L1 に直接送信し、シーケンサーが受信したアリス トランザクションは失敗します
L1 によって挿入されたトランザクションが L2 ブロックをパッケージ化するシーケンサーのプロセスに影響を与えないようにするため、L1 によって挿入されたトランザクションが、シーケンサーが最新のブロックに含まれるトランザクションをアクティブに申請するまで待機する必要がある場合、Arbitrum はすぐには有効になりません。有効になるか、シーケンサーが応答しない場合は、一定の時間が経過した後に有効になります。楽観主義により、トランザクションはすぐに有効になります。L1 によって挿入されたトランザクションが L2 ブロック内のトランザクションに影響を与える場合、シーケンサーはそれに対処する方法を見つける必要があります。この概要を読んで、L1 配置トランザクションの処理における Arbitrum と Optimism の比較について詳しく学ぶことができます。
はるかにシンプルなデザイン
Based Rollup は、一般的な Rollup よりも Sequencer の役割が少ないため、ハードウェアの負担が少なく (Sequencer のマシン負荷について心配する必要がありません)、ソート トランザクションをより公平にするためのメカニズム (分散型 Sequencer のメカニズムなど) も必要ありません。そうすれば、ユーザーが自分で L1 にトランザクションを配置できるようにするための L1 関連コントラクトや関連オフチェーン ツールを含む強制インクルージョン/エスケープ ハッチ メカニズムは必要ありません。
ただし、ベースロールアップにはいくつかの欠点もあります。
事前の取引確認サービスはありません
Sequencer を使用すると、Sequencer はトランザクションの実行結果をユーザーに迅速に伝えることができます。ユーザーが Sequencer を信頼している限り、L1 へのトランザクションのアップロードを待つことなく、トランザクション結果をすぐに確認できます。
Based Rollup では、アリスは自分のトランザクションが含まれていると信じる前に、トランザクションが L1 にアップロードされるまで待機します。また、少なくとも 1 つの L1 ブロックを待つ必要があります
一般的なロールアップでは、アリスがシーケンサーがトランザクションを受け入れると信じている場合、トランザクションが受け入れられるかどうかをすぐに確認できます
プロトコルは MEV の収益源を失う
MEV はチェックと抽出のためにシーケンサーに引き渡されるのではなく、L1 に引き渡されるため、L2 自体は MEV の利点を得る方法がありません。 MEV の収益は、ブロック制作権の入札メカニズムを設計することで獲得できますが、L1 参加者がブロック制作に参加するための敷居が相対的に高くなり、分散化の度合いが低下します。また、入札メカニズムの導入により、ある程度の複雑さ。
参考文献とさらに読むことをお勧めします