This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
この記事では、ロールアップ拡張ソリューションの進化のアイデアと設計理由について説明します。
原作者:オルフェオ
出典: SeeDAO
L2 プロジェクトが再び注目を集めています。
L2 におけるロールアップ拡張ルートの代表として、Arbitrum エアドロップ後に zkSync Era が開始されます。終わりのない新しいデザインとロードマップの背後にある、Rollup の主力ラインと進化的思考とは何でしょうか? 今日は見てみましょう。
この記事の要点:
※3年生向けに書いたL1の拡張アイデア
たとえ話から始める
ビットコインとイーサリアムには、誕生以来、一般ユーザーからの最大の批判が 2 つあります。
※遅い:もともと車線が狭いので、車が多いと渋滞してしまいます。
これら 2 つの批判は、ブロックチェーンの設計における 2 つの要因から生じています。
ブロックチェーンが本当に私道のようなものであるならば、根本的な解決策は当然、私道を拡張すると同時に、価格手段と連携して外出時間を誘導し、状況にない場合は外出しないことである。忙しい。
ただし、車線を広げてブロック容量を増やすことは魅力的な交通効率のソリューションではありますが、ブロックチェーン設計における最後の手段です。ブロックサイズが大きくなると、マイナーのハードウェア要件が高くなり、要件を満たすことができるマイナーの数が減ります。この考えによると、Visa のように 1 秒あたり数千のトランザクションを処理したい場合は、別のトランザクションを作成するだけになります。中央集権的なVisaは、ブロックチェーンのトラストレス性という中心的な目的に反しています。
他に解決策はありますか?はい、時間のガイダンスに加えて、次のようなスペースを最適化することもできます。
ブロックチェーン上のバスとして、Rollup の鍵はスペースとガソリン (ガソリン、冗談です) を節約することです。
このように「遅い」と「高い」という2つのスロットはRollupによって解決されます。
ブロックチェーンに戻って、Rollup の具体的な計画を見てみましょう。
ロールアップを最初から設計します。
標準的な答えを覗き見るより (もちろん、答えがないわけではありません)、少し緊張して、イーサリアムのロールアップを設計するという任務を与えられたときに何をするかを想像したほうがよいでしょう。
コンピューティング コストの削減 (ガソリンの節約) とストレージ コストの削減 (スペースの節約) という 2 つの観点から開始し、最初に Rollup 1.0 と呼ばれるより抜本的なソリューションを提案することも考えられます。
ロールアップ 1.0;
Rollup 1.0 は 3 つの主要なポイントで構成されます。
簡単に言うと、皆さんのトランザクションリクエストを定期的かつ定量的に収集し、オフチェーン計算を経て、計算結果だけをチェーン上に固めるというものです。
このソリューションは、「遅い」と「高価」という 2 つの大きな問題点を完全に解決しますが、新たな問題が発生するようです。
※インセンティブ:「相乗り」サービスを誰が提供し、どのようなメリットがあるのか。
これら 3 つの新しい問題については、計画のバージョンを繰り返すことができます。
ロールアップ 2.0;
モチベーションの問題を解決するのが最善であり、お金で解決できる問題は問題ではありません。サービス提供者は、「相乗り」の費用を平等に負担し、少し多めの「チップ」を請求することができますが、それでも、「相乗り」をする側にとっては有利な状況です。
レビューの問題はもう少し厄介ですが、解決策はブロックチェーン分野では非常に一般的であり、それが分散化です。人々のグループはサービス プロバイダーであり、これは 1 人のサービス プロバイダーよりも優れており、誰でもサービス プロバイダーになれるため、固定されたグループの人々よりも優れています。後者のプレイ方法では、すべてのサービス プロバイダーが良好でない場合、自分自身がサービス プロバイダーになることも、直接 L1 に移動して調停を開始することもできます。
詐欺はもう少し難しいです。それは 2 つの問題に分類できます。1 つは不正行為を特定する方法であり、もう 1 つは不正行為を防止する方法です。
まず、不正行為を特定するには、全員のトランザクション (Transaction) データとトランザクション前の状態 (State) を把握し、トランザクション後の新しい状態 (State') を計算し、新しい状態と比較する必要があります。サービス プロバイダー チェーンに保存されており、同じであれば、サービス プロバイダーは正直であることを意味し、そうでない場合は、サービス プロバイダーが嘘をついていたことを意味します。ただし、トランザクションデータはオンチェーンではないためわかりません。その結果、私たちは疑念を抱くことしかできず、サービスプロバイダーが誠実であるかどうかを判断できません。
となると、不正を防ぐ最善の方法は、不正が起こらないようにすることです。これは、サービスプロバイダーの計算をチェーン上で毎回チェックしない限り、比較的困難ですが、この方法では、「」の利点はなくなります。相乗り」。したがって、一歩下がって不正行為のコストを非常に高く設定し、不正行為が見つかった場合に没収されるデポジット (賭け金) を支払うなど、サービスプロバイダーがゲームに参加できるようにするしかありません。 (この手法はソーシャルコンセンサスと呼ばれるもので、ゲームベースセキュリティに属し、「週刊#3;」でも取り上げられています。)
ロールアップ 3.0;
Rollup 2.0 は悪くありませんが、不正行為を特定するという問題は解決されていません。
前の推論によれば、不正行為を特定するにはトランザクション データを知る必要があるため、データのこの部分は状態データと同じチェーン上に存在する必要があります。
彼らが詐欺であることを誰が発見するでしょうか?誰もがサービス プロバイダーのあらゆる動きを 7; x; 24 時間監視することは不可能であるため、これが通常のユーザーである可能性は低いため、プロの「賞金稼ぎ」 (バリデーター) のみが可能です。サービスプロバイダーが「注文を送信」してから 7 日以内に「賞金稼ぎ」が詐欺を報告し、それが真実であると確認した場合、取引はロールバックされ、サービスプロバイダーは処罰されます。もちろん、「賞金稼ぎ」にも同様にインセンティブが必要で、例えば、不正行為が発覚した場合、サービス提供者の保証金の一部が「賞金稼ぎ」に渡される(一部のみ、賞金稼ぎ同士の癒着を避けるため)。サービスプロバイダーと賞金稼ぎ)。
ロールアップ 4.0;
ロールアップ 3.0 段階までに、ソリューション全体がスムーズに実行できるようになりましたが、新たなコストが発生しました。これまでの費用には次のものが含まれます。
どのようなコストを最適化できるかを見てみましょう。
取引データ
特定の方法では、複数のトランザクションが集約され、占有されるスペースは各トランザクションが占有するスペースの合計よりも小さくなる可能性があります。
最も単純なETH送金トランザクションを例に、各トランザクションの内容構成を分解すると、署名スペースが最も大きな割合を占めていることがわかります。すべてのトランザクションの署名を 1 つに結合することができ (キー集約)、これによりストレージのオーバーヘッドが大幅に節約されます (ビットコインの Schnorr と同様)。さらに、ナンスを排除したり、「相乗り」スペースを最大限に活用するために、「相乗り」の際にぴったり合う「太った、痩せた」「相乗り者」を選択したりするなど、他の部分も最適化できます。
ソース:
わずか 3 ~ 2 回で、各 ETH 送金トランザクションのサイズは 112 バイトから 12 バイトに減少し、以前の 10 分の 1 近くになりました。もちろん、トランザクション データをさらに圧縮する手段は他にもあります。
実際の運用では、チェーン上にデプロイされたコントラクトにそのようなメソッドをインストールできます。
function storeTxData(bytes calldata data) external {;// 何もしない}
その後、「カープール」が成功するたびに、マージおよび圧縮されたトランザクション データが calldata としてこのメソッドに渡されます。 Calldataは永続的に保存する必要がなく、社会的コンセンサス広報チャレンジ期間(Challenge Period)終了後は枝刈り(Prune)しても問題なく、価格自体は非常に安価であり、実装によりさらに安くなるDanksharding や Data Blob などの EIP、データ ストレージ分散 (データ可用性) に L1 を適用するこの形式も、より正式になります。
ステータスデータ
トランザクションデータがチェーンにアップロードされたので、誰でもトランザクションデータから更新された状態を計算でき、状態データはそれほど必要ありません。私たちが保持できるのは、国家データのメルケル ルートのみです。これは、サービス プロバイダーが協力しない場合に一般ユーザー (「相乗り者」) が L1 に直接引き出しを申請できるようにするために使用され、お金を持っていることを証明するためにメルケル プルーフに依存します。彼らのアカウントに。
不正仲裁費用
「賞金稼ぎ」がサービスプロバイダーに不正行為を報告する際、オンチェーンでの契約計算(リプレイ)を一度実行し、ステータス結果を比較することは理論的には可能です。ただし、そうするためのコストは低くはなく(すでに良いことですが)、2つ目は、ロールアップ「相乗りリスト」に含まれるトランザクションのGasの合計がEthereumのGas制限を超える可能性があり、それが不可能になることです。検証します。
したがって、アービトレーションの負担を軽減する必要があり、負担を軽減する方法は当然、不要な計算演算をオフチェーンに置くことになります。ソリューションの 1 つは対話型証明と呼ばれ、一般的なプロセスは次のとおりです。
(プロセス全体で、一方の当事者がタイムアウト後に応答できなかった場合、その当事者は失敗します。)
このようにして、チェーン全体の仲裁コストは非常に低くなります。
そうは言っても、私たちはロールアップ ソリューションを完全に構築しました。このスキームは、「賞金稼ぎ」レポートがない限り、サービス プロバイダーがデフォルトで正直であることを前提としているため、この派閥は楽観主義者のロールアップ、いわゆる楽観的ロールアップと呼ばれます。
では、Rollup 4.0; は最良のソリューションなのでしょうか?
ロールアップの再進化
何度も繰り返した後でも、Rollup 4.0 にはまだいくつかの不完全な点があります。
※不正行為は「賞金稼ぎ」が発見する必要がありますが、長期間不正行為がない場合、「賞金稼ぎ」は採算が取れず廃業する可能性があり、穴が開きます(可能性は低いですが、ロールアップ チェーン アプリケーション ベンダーなどの利害関係者は、おそらく「賞金稼ぎ」として行動します)。 ※社会的コンセンサスに基づき、不正行為が無いことを確認するためには数日間待つ必要があり、出金等の業務に影響が出る可能性がございます。
不正行為をまったく不可能にし、ファイナリティ (ファイナリティ) を高速化し、チェーンにアップロードする必要のあるデータを減らし、拡張を桁違いに大きくすることができるソリューションはありますか?あまり多くは望みませんが、ほぼすべての想像力を満たすことができる一種のソリューションがあります。それが、Zero Knowledge Rollup (略して ZK-Rollup) です。
ZK-Rollup は、ゼロ知識証明 (ZKP) を使用したロールアップのアイデアです。いわゆる ZKP は、機密情報を漏らすことなく、相手にその情報を知っていると信じ込ませるテクノロジーを指します。 ZKP を説明するために、私のお気に入りの例を 2 つ挙げます。
*中世ヨーロッパの町で、宝がマークされた宝の地図があると想像してください。私が宝の地図を持っていることを証明するために、宝の正確な場所は知らせずに、あなたに目隠しをして馬車に引きずり込み、町中を30分ドライブして確かめます。方向感覚を失い、ようやく目的地に到着し、車から降りてお宝を見せてもらい、また連れて行ってもらいます。これは ZKP の単純な形式です。
それほど厳密ではない言葉で言えば、ZKP の中心的な考え方は、証明者 (Prover) が最初に秘密の知識を隠し、「コミット」(Commit) し、次に検証者 (Verifier) がランダムなチャレンジ (Challenge) を開始するというものだけです。もし彼がこの課題にうまく合格できれば、彼は対応する秘密の知識を持っている可能性が高くなります。
ZKP は 3 つの要件を満たす必要があります。
これら 3 つの要件を満たすために、ZKP では、最も単純な素数分解や離散対数 (Schnorr など) などのさまざまな NP 問題が使用されます。
ZKP はブロックチェーンのために生まれたテクノロジーではありませんが、主に優れた ZKP には次の便利な特性があるため、L2 拡張に使用できます。
これらの機能を使用すると、ロールアップ ソリューションでは次のことが可能になります。
もちろん、どのセキュリティ メカニズムにも潜在的な前提条件があり、ZKP はブロックチェーンの万能薬ではありません。 ZKP には現時点でも多くの制限があり、次のような制限を段階的に克服する必要があります。
ソース:
だからこそ、未来志向の拡張分野である ZK-Rollup では、あらゆる進歩が賞賛に値し、喜ばしいことなのです。
ソース:
最後に書きます
今後の容量拡張については、L1のネイティブ容量拡張と比較して、Rollupを含めた階層化設計の方が確実であると筆者は考えている。モジュール化により、各層の懸念事項が解決され、すでに「モノリシック」な L1 に連続的に積み重ねるよりもリスクが少なく、さらに、容量拡張による基礎となる L1 の分散化は理論的に起こりにくいです。それをアップします。さらに、この階層化された設計アイデアは、ブロックチェーン以外の分野でも応用で成功しているようです。この視点は必ずしも正しいとは限りませんが、これが著者の現時点での認識です。
この記事では、ロールアップ拡張ソリューションの考え方と設計理由をプロジェクトにとらわれない形で整理しようとします。レベルが限られているため、まだ単刀直入なところもあり、説明が不十分なだけでなく、理解がさらに難しくなっている可能性があります。また、日ごとに変化する垂直領域であるため、作者が気づいていない可能性があります。の多くの新たな展開を考慮に入れます。友達の修正やコミュニケーションを心から歓迎します。