イーサリアムの 2 つの拡張スキームの包括的な比較: オプティミスティック ロールアップはイーサリアム拡張の将来をよりよく表していますか?
链捕手
2021-12-21 10:09
本文约8376字,阅读全文需要约34分钟
オプティミスティック ロールアップは、セキュリティ、トラストレス性、EVM との L2 互換性に対するユーザーの実際のニーズを満たす最良の方法です。

出典: Offchain Labs

原文編集:James

ZK ロールアップは汎用スマート コントラクト システムの未来ですか?この問題については議論が多すぎるようです。ただし、数百の DApp、数十万のユーザー、数百万のトランザクションを実行する、オープンで安全な EVM 互換のレイヤー 2 から得た実際の経験によれば、ZK ロールアップは汎用のスマート コントラクト システムにはなりません。理由については、この記事で詳しく説明します。

最初のレベルのタイトル

文章

1. 人々は、セキュリティ、保証された進行状況、可視性、および迅速なファイナリティを提供するトラストレスなブロックチェーンを望んでいます。彼らは、このブロックチェーン上のトランザクションがより安価で、既存のツールと互換性があることを望んでいます。

2. 上記サービス・機能の提供にあたり、ZK Rollupと比較し、Optimistic Rollupの使い方をより詳細に掘り下げました。

3. ZK Rollupプルーフを構築するオフチェーンコストは非常に高いため、Optimistic Rollupはユーザーが望む機能を低コストで提供できます。

4. ZK 証明は非常に高価であるため、ZK プロトコルに完全に参加するには、特殊なハードウェアや大規模な並列処理が必要となり、ネットワークがより集中化されます。

5. ZK ロールアップのいわゆる「利点」、オプティミスティック ロールアップもサポートできるか、重要なセキュリティ機能や使いやすさ機能を犠牲にする必要があります。

最初のレベルのタイトル

ゼロから始めましょう

まず最初にイーサリアムについて話さなければなりません。 Ethereum ユーザーはトランザクションを作成してスマート コントラクトをデプロイしたり、スマート コントラクトと対話したりします。Ethereum トランザクションはいくつかの異なる方法で考えることができます。一方で、これは不透明なデータのブロックであると考えることもできますが、データの内容を見てみると、トランザクションはもちろんそれをはるかに超えたものであることがわかります。いわゆるトランザクションは、実際には次のようなものでなければなりません。リクエスト。スマート コントラクトに何かを行うよう要求します。たとえば、情報をログに記録する、資産を移動するなどです。

トランザクションがイーサリアム ブロックチェーン上で公開されると、2 つの重要なことが起こります。

まず最初に: トランザクションがブロックチェーンに含まれると、イーサリアムは順序付けられたトランザクションのセットに基づいてコンセンサスに達します。

最初のレベルのタイトル

ロールアップ: オプティミスティック ロールアップと ZKRollups の共通点は何ですか?

各イーサリアムノードが各トランザクションを実行すると必然的にコストが非常に高くなりますが、ロールアップは実際にはネットワーク負荷を大幅に軽減できる拡張ソリューションの一種であり、トランザクションの実際の実行はイーサリアムブロックチェーン上で完了するわけではありません。レイヤ 2 (「L2」) に。

でも、ちょっと待ってください - ロールアップはイーサリアムによって保護されるはずですよね?実際、これらのスケーリング ソリューションのセキュリティをイーサリアムから切り離すことはできません。つまり、トランザクションがレイヤー 2 で発生する場合でも、何らかの方法でトランザクション実行の正確性を保証するにはイーサリアムが必要になります。では、イーサリアムはどのようにしてロールアップの状態を承認できるのでしょうか?

最初のレベルのタイトル

ロールアップ: オプティミスティック ロールアップと ZKRollup の違いは何ですか?

これらの「証明」は魔法のように思えます。実際にトランザクションを実行せずに、イーサリアムがロールアップの状態を検証できるようになります。これらの証明がどのようなものなのか、実際にどのように実装されるのか疑問に思われるかもしれません。そしてそれがさまざまなロールアップ スタイルの違いです。

有効性証明書有効性証明書(有効性証明)。この「証明」によって当事者が特定の状態で終わるブロックチェーンの有効性を知っていることを証明できる簡潔な暗号証明を発行する当事者に依存します。つまり、「証明を提供する当事者」は、ブロックチェーン トランザクションを実行して証明を構築する方法を知り、その後、一連の複雑な暗号操作を通じて「証明」を構築する必要があります。これらの「証明」は、レイヤー 1 のオンチェーン コントラクトによってチェックされます。 ZK ロールアップの「証明」は比較的単純で、トランザクションの検証は比較的安価であるため、イーサリアム トランザクションを通じて直接行うことができます。

詐欺の証拠詐欺の証拠(詐欺の証拠)。名前が示すように、オプティミスティックロールアップは、更新された状態をイーサリアムブロックチェーンに公開するときに「証拠」をまったく公開しないため、「ポジティブ、楽観的」です。特定のトランザクションを実行した正しい結果に関するステートメントを含むロールアップ ブロックは誰でも公開でき、他のノードが同じトランザクションを実行するとき、最初のノードの主張に同意しない限り、そのトランザクションに異議を唱えることができます。効果的な紛争プロトコルは、あらゆる意見の相違を解決し、正しい当事者が異議申し立てに勝つことを保証します。すべての当事者には、正しいクレームのみを発行し、間違ったクレームには異議を申し立てないという強いインセンティブがあるため、一般的なケースでは、すべてのノードがすべてのトランザクションを「単に」実行し、証明コードを呼び出す必要はありません。プロセス全体はレイヤー 1 コントラクトによって実行されます。管理。

副題

楽観的ロールアップと ZK ロールアップ: コスト

料金料金

オプティミスティック ロールアップでは、ノードがコントラクトを単純に実行する必要があります。たとえば、コントラクトが追加操作を実行する場合、ノードはその追加操作を実行します。

対照的に、ZK Rollup は複雑な暗号証明を生成する必要があり、証明に加算演算を含めるために数百または数千の楕円曲線演算が必要なため、コストがかかります。さらに重要なことは、ZK ロールアップでは各コントラクトの命令ごとにコストが発生するため、命令を実行するだけでなく、命令ごとに複雑な暗号証明を生成する必要があるため、ZK ロールアップには固有のコスト上の不利な点があり、大きな欠点となっています。

ZK ロールアップの支持者は、このソリューションでは「証明」を作成するのに 1 つの当事者のみが必要であるのに対し、オプティミスティック ロールアップではシステムに多数のノードが必要であると主張することがあります。ただし、大規模なブロックチェーンを実行している場合は、どの証明システムを使用するかに関係なく、多くのノードが存在します。実際のブロックチェーンには、非変更呼び出し、イベント ログの検索、ユーザーへのトランザクション データの表示、資金をレイヤー 1 に引き出すために必要なデータのユーザーへの提供など、さまざまなアクティビティを提供するために多くのノードが必要です。オプティミスティック ロールアップ ブロックチェーンのセキュリティは、トランザクションを実行し、ブロックチェーンの正しい状態を追跡するという、すでに実行する必要があることを実行するこれらのノードに依存しています。

一方、ZK Rollup では、高価な楕円曲線ベースの証明が導出されるため、非常に大きな追加コストがかかります。 ZK ロールアップを大規模に証明するには、専用のハードウェア デバイスか大規模並列処理のサポート、またはその両方が必要ですが、これらは非常に高価です。

副題

文章

Arbitrum を構築するときに重要な考慮事項は、イーサリアム仮想マシン (EVM) との互換性でした。 Arbitrum は EVM と完全に互換性があり、同じ RPC インターフェイスを備え、EVM と同じバイトコードを受け入れます。つまり、イーサリアム用に書かれたコードはすべて Arbitrum 上で実行できます。」プラグ&プレイ”。

Optimistic Rollup は、オープンな EVM 互換ブロックチェーン (テストネットを含む) を 1 年以上実行してきましたが、真のイーサリアム互換であることは困難であることを学びました。最初は 95% の互換性があることはそれほど難しいことではありませんが、実際にはそれだけでは十分ではありません。互換性を向上させるには、多大な労力を費やし、製品の邪魔にならないアーキテクチャを構築する必要があります。

互換性の点では、ZK Rollup システムは幅広い範囲で動作します。しかし、ZK Rollup は依然としてユーザーにカスタム言語の学習を奨励しているため、ZK Rollup は「昔ながらの」ツールであると考える人もいます。また、一部の ZK ロールアップ システムはイーサリアムとの互換性を試みていませんが、これはイーサリアムとの互換性を気にしない開発者やユーザーにとっては問題ありません。

客観的に言えば、EVM は史上最高のオンチェーン ツールです。すでに EVM を使用している開発者、コード、開発者ツールの数を考慮すると、EVM 自体には非常に大きな実用的な利点があると私たちは考えています。 Ethereum にデプロイされたプロジェクトを考えてみましょう。プロジェクトをロールアップに拡張したい場合、開発者はコードを新しい言語で書き直し、新しいセキュリティ監査を依頼し、複数のコード ベースを維持する必要があります。これらのタスクは退屈でエラーが発生しやすいだけではありません。ただし、コードをまったく記述していない新しいプロジェクトの場合でも、EVM との互換性は重要です。EVM と互換性があるということは、これらのプロジェクトが EVM 周辺に存在するコード、ツール、人材プールを活用できることを意味するからです。

システムシステム実際の相性はあまりよくない、システム――。

  • ADDMOD、SMOD、MULMOD、EXP、SELFDESTRUCT、および CREATE2 オペコードの互換性を実装できませんでした。

  • XOR、AND、OR のサポートの削除が検討されています。

  • 標準のトランザクション形式はサポートされていません。

  • プリコンパイルはサポートしません。

  • トランザクション内のコントラクト呼び出しの数が制限される場合があります。

ZK Rollup モードは基本的に EVM と互換性がないようで、Optimistic Rollups によって達成される完全な互換性からは明らかに程遠いです。

明確にするために、アプリケーション固有の ZK ロールアップ システムの例はまだ複数あります (Zcash、ZKSync 1.0、Loopring など)。実際、これらのシステムはうまく機能しますが、主な違いは、ZK ロールアップの実装に非常に適した特定のアプリケーション向けに微調整され、特別に最適化されていることです。一部のチームは、互換性のある方法で EVM を ZK Rollup に「渡す」ことを可能にする汎用コンパイラに取り組んでいると主張していますが、ただし、ユーザー定義の ZK-EVM 契約の証明コストを示すために利用できる公開コードやベンチマークはなく、現在の知識と公開されているすべてのデータに基づくと、このコストは非常に高額になると考えられます。

副題

オプティミスティック ロールアップと ZK ロールアップ: トラストレスな可視性と圧縮

取引裁定取引を設計する場合、オプティミスティック ロールアップの重要な特性の 1 つはトラストレスな可視性です。つまり、トラストレスな可視性とは、中央集権的な組織の助けを借りずに、誰でもブロックチェーンのコンテンツを表示または取得できることを意味します。さらに重要なのは、これは、誰もが状態の時折スナップショットを見ることができるということだけでなく、チェーンの完全な履歴、つまり現在の状態にどのように到達したかを誰もが見ることができることも意味します。誰もがノードを実行できる実用的なブロックチェーンであり、ノードは非変更呼び出しのサポート、イベント履歴の検索、すべてのトランザクションの表示も可能であり、集中型のデータプロバイダーに依存することなく、トラストレスな可視性がこれを可能にします。

率直に言って、一部の ZK ロールアップ システムは可視性に関して手を抜いており、完全なブロックチェーン機能を提供していないという事実を伝えようとしているように見えます。 「圧縮」についての話を聞いたら、それについて考えてみてください。チェーンのコンテンツをより効率的にエンコードしていると言っているのでしょうか? (Arbitrum はそうしており、Nitro リリースではさらにうまくいくでしょう) それとも、中央集中型のデータプロバイダーが後で共有しようとしない限り、ブロックチェーン履歴の一部は単純に利用できないと言っているのでしょうか?

ZK ロールアップ証明は実際には「証明者」が知っている有効なチェーンを証明するだけですが、「証明」だけではそのチェーンが何であるかを教えてくれません。また、「証明」を検証するのに十分なデータがあったとしても、ブロックチェーンの履歴データを再構築するためのデータ。

たとえば、アリスがボブに支払われる 1 ETH のトランザクションを送信し、すぐにボブがチャーリーに支払われる 1 ETH のトランザクションを送信するとします。次に、アリスの保有額が以前より 1 ETH 減り、ボブの残高は変わっておらず、チャーリーの保有額が以前より 1 ETH 多いことの証明を検証する必要があります。

しかし何が起こった?アリスはボブにお金を払いましたか?ボブはチャーリーにお金を払いましたか?おそらくアリスはチャーリーに直接支払ったのかもしれないし、アリスがETHを破棄してチャーリーが得た1ETHは他の誰かが支払ったのかもしれないし、おそらくこの「他人」の名前はボブではなくダイアナだったかもしれない。ブロックチェーンからボブの支払い証明を探す場合、ブロックチェーンの可視性を提供しない一部の ZK ロールアップでは、ボブの支払いトランザクションを区別して見つけることは不可能です。

多くのスマート コントラクト アプリケーションでは、いくつかのチェックポイントだけでなく、チェーン全体に関する知識、つまり何が起こったのか、どのようにして最終状態に到達したのかを理解する必要があります。ZK ロールアップは、オプティミスティック ロールアップよりも優れた「圧縮」を誇ることがありますが、ブロックチェーンのデータが隠蔽されます。つまり、データが圧縮されていないことを知っているのは「証明者」だけであり、漠然と重要なデータさえ削除される可能性があります。ZKプロバイダーがブロックチェーン全体の履歴を公開する「必要はない」と言っている場合、彼らが本当に言いたいのは、ブロックチェーンの可視性を保証できないということであり、ブロックチェーンの可視性の保証を放棄することはオプティミスティックロールアップの目的ではありません。妥協するつもりです。

副題

楽観的なロールアップと ZK ロールアップ: トラストレスでタイムリーな終了

Rollup を評価するときは、Rollup がトラストレスでタイムリーなファイナライゼーションを提供する必要があるかどうかという重要な要件を特定する必要があります。簡単に言うと、これは、トランザクションを送信した後、あなたと他の全員がトランザクションの結果をタイムリーかつ確実に知る必要があり、誰もトランザクションを変更したり取り消したりすることはできないことを意味します。

私たちの意見では、タイムリーなファイナリティを達成するための最良の方法は、トランザクションの順序を実行から分離することです。ソートにより、提案されたトランザクションの最終シーケンスが生成され、そのシーケンスでトランザクションの実行が試行されます。トランザクションの実行が Arbitrum に基づいているため決定論的である場合、結果はトランザクションの順序の決定論的な関数であるため、トランザクションの順序を決定するだけで結果を決定するのに十分です。トランザクションの順序を誰もが知っていれば、誰でも簡単に結果を判断できます。

シーケンスを完了するには、トランザクションを実行する誰もが信頼することなく結果を知ることができる十分な情報を備えたシーケンスをレイヤー 1 チェーンにポストする必要があります。理想的なロールアップは、ソートされたトランザクション データをできるだけ頻繁にレイヤー 1 チェーンに公開することです。

オプティミスティック ロールアップ システムでは、レイヤー 1 チェーンへの公開コストが最も低くなります。実際、Arbitrum は通常、ソートされたトランザクション データを 1 分ごとにレイヤー 1 チェーンに公開し、ユーザーに迅速な確実性を提供し、誰も元に戻せないことを保証します。彼らの商売。さらに、Arbitrum は約 1 時間ごとに新しいオプティミスティック ロールアップ結果アサーションも生成しますが、シーケンスはすでにファイナライズされており、実行は決定的であるため、ファイナライズの速度がまったく低下することはありません。

原則として、ZK ロールアップ システムも同様の方法で動作できます。つまり、トランザクションの順序付け (多くの場合、レイヤー 1 に公開される) を、後の検証や時折の有効性証明から分離することによって実行できます。ただし、この方法で動作する ZK ロールアップは、オプティミスティック ロールアップ システムがデータを公開するのと本質的に同じデータをレイヤー 1 チェーンに公開する必要がありますが、これは上で説明した (いわゆる) 「圧縮」技術ではサポートされていません。 ZK ロールアップが「圧縮」技術を機能させるには、同じレイヤー 1 トランザクション内で一連のレイヤー 2 トランザクションの有効性をリアルタイムで証明する必要があり、レイヤー 2 トランザクションのバッチごとに証明する必要があります。が発行されます。

したがって、ZK Rollup はいわゆる「圧縮」テクノロジーを大いに宣伝していますが、上記の状況に遭遇した場合、次の 2 つの選択をしなければなりません。

1) ソートされたトランザクションと実行証明を約 1 分ごとに公開します。これにより高速なファイナリティが維持されますが、ZK 証明をオフチェーンで毎分生成し、レイヤー 1 チェーンで検証する必要があります。実装に応じて、ブロックチェーンチェーン上で ZK プルーフを発行するコストは 500,000 ~ 500 万ガスと推定されます。

2) ソートされたトランザクションとプルーフを 1 時間ごとに公開する: このアプローチにより、ZK プルーフ チェックのコストがわずかに妥当になりますが、最終処理時間が 1 時間に延長されます。ユーザーが ZK Rollup オペレーターにトランザクションを送信してからステータス チェーンに投稿されるまでの間、ユーザーは自分のトランザクションが含まれるという保証はなく、ZK Rollup オペレーターのみを信頼できます。

ZK ロールアップ システムを構築している場合、上記の 2 つのオプションは実際には受け入れられないことがわかります。1 つ目はコストが高すぎる、2 つ目は適切なタイミングで終了できない。したがって、同じタイプのシーケンサーを使用することになった場合は、基本的に同じデータを Arbitrum の ZK ロールアップ バージョンで当社のオプティミスティック ロールアップ バージョンとして公開する必要があります。

ZK Rollup が何時間ものデータを 1 つのポイントに圧縮できると誰かが宣伝しているのを聞いても、心配する必要はありません。長期間の終わりに単一点のデータしか公開しない場合、それは、その期間中に最終性を提供しなかったことを意味します。

副題

楽観的ロールアップと ZK ロールアップ: トラストレスなアクティビティ

Trustless live とは、誰でもシステムを強制的に進行させることができることを意味します。 (トラストレス セキュリティ プロパティにより、進行状況が正しいことが保証されます。)

オプティミスティック ロールアップを使用すると、どのノードでもトランザクションが正しく実行されたと主張できます。このステートメントを作成するには、ノードがチェーンのトランザクションを実行し、契約によってステートメントが確認された後に返金できるプレッジをデポジットするだけで済みます。

ZK ロールアップ システムでは、ブロックチェーンの状態を向上させるために必要な ZK 証明をどのノードでも作成して発行できるプロセスが必要ですが、誰もが共通のハードウェアとソフトウェアを使用してそれを実行できるわけではありません。したがって、ZK 証明を完了したい場合は、特定の専用ハードウェアを構築または購入し、大規模並列コンピューティングを実行する必要があります。通常のデバイスであっても、適切な ZK 証明パスを構築する必要がありますが、この機能を提供していない、またはシステムの証明を生成するコードを公開していない ZK プロバイダーは、トラストレスなプロセスを提供できず、システムの生存保証もありません。 。つまり、特殊な機器を備えた証明者のみがプロセスを推進できるため、ZK Rollup のシステムは集中化されています。 (これを提供する主要な ZK ロールアップが一般ユーザーに実行可能な証拠を提供するかどうかは不明です。)

副題

楽観的ロールアップと ZK ロールアップ: ブリッジング

もちろん、ZK ロールアップは役に立たないわけではなく、次のような分野で大きな利点があります。イーサリアムクロスチェーン接続強調しておきたいのは、

強調しておきたいのは、ZK ロールアップのブリッジングの利点は、実際にはそれほど大きくありません。これは、レイヤー 2 からイーサリアムにブリッジして戻るためにのみ使用できるためです。かつて (2019 年頃)、イーサリアムのスケーリング ソリューションはそれほどすぐには登場せず、おそらく 1 つまたは 2 つの DApps がゆっくりと展開されるだけだろうと多くの人が考えていました。しかし、実際のアプリケーションでは、Rollup ユーザーはレイヤ 1 とレイヤ 2 を行ったり来たりする必要があることに気づきますが、これは実際には ZK Rollup ではサポートされていません。 、そして多くのユーザーがArbitrumに接続し、そこに長時間滞在しています。さらに、ユーザーにクロスチェーン サポートを提供するという点で、Arbitrum はイーサリアムをサポートするだけでなく、他の Lauer 1 やサイド チェーンとのドッキングもサポートします。この直接ブリッジに関しては、ZK ロールアップの利点はオプティミスティック ロールアップほど大きくありません。 。

要約する

要約する

オプティミスティック ロールアップ システムと ZK ロールアップ システムを包括的に比較した結果、オプティミスティック ロールアップ システムが明らかに勝者であると考えられます。 Optimistic Rollup はコストが低く、EVM および既存のツールと完全な互換性があります。実際の唯一の欠点は、高速なクロスチェーン ブリッジング サービスがないとレイヤ 1 ブリッジングの速度が遅いことです。 ZK Rollup の想定される利点の多くは、ブロックチェーンの可視性やファイナリティ時間を犠牲にする必要がありますが、ユーザーはそれを望んでいないように思います。

それだけでなく、ZK Rollup が変更を加えたいとは考えにくいようです。 EVM 互換のコントラクト実行の ZK プルーフは依然としてオプティミスティック ロールアップの実行よりも大幅に高価であり、ZK ロールアップも保証された進捗状況、ブロックチェーンの可視性、分散化の要件を達成するのに苦労するでしょう。状況が変化した場合には、Arbitrum を ZK Rollup ベースのトランザクション実行に切り替えるつもりですが、最適化の変更が行われるとは考えていません。

最後に言いたいのは、人々は Arbitrum が現在提供しているものと、ZK システムが将来提供すると主張しているものを比較する傾向があるということですが、この比較は実際には無意味です。なぜなら、私たちは既存のシステムと比較したいからです。 Arbitrum のようなオプティミスティック ロールアップ スケーリング ソリューションは、汎用スマート コントラクトをサポートする唯一のオープン デプロイメント システムです。あるいは、将来のシステムを比較する場合は、将来の Arbitrum と将来の ZK システムを比較する必要があります。

当社は常に Arbitrum を改善しています。たとえば、次期 Nitro バージョンでは、ユーザーにトランザクション コストの削減とロスレス圧縮データのより優れたオンチェーン最適化を提供します。それだけでなく、取引裁定取引を改善し、コストを削減するために精力的に取り組んでいます。理論上の限界。この投稿で分析しているように、現在存在する 2 つのシステムとそれぞれの理論的制約を考慮すると、オプティミスティック ロールアップが明らかに勝者であると考えられます。

链捕手
作者文库