作者: フィリッポ アルマーニ

編集者: Shenchao TechFlow

 

有効性ロールアップとしても知られる ZK ロールアップは、トランザクションをオフチェーンで処理し、メイン チェーン上の単一の圧縮トランザクションとしてマージできるようにする、イーサリアムを拡張する革新的な方法です。このプロセスにより、メインチェーンのセキュリティと分散化を維持しながら、トランザクションのスループットが向上し、手数料が削減されます。

 

ZK ロールアップの際立った特徴の 1 つは、一方の当事者 (証明者) が別の当事者 (検証者) に対してステートメントが正しいことを証明できる暗号証明の一種であるゼロ知識証明 (ZKP) を利用していることです。追加情報を明らかにする。 ZK ロールアップのコンテキストでは、ZKP はオフチェーン トランザクションの整合性を保証し、証明者がトランザクションの特定の詳細を明らかにしたり、新しいステータスを受け入れる前にすべてのトランザクションをチェックすることを検証者に要求したりすることなく、トランザクション バッチの有効性を実証できるようにします。

 

ZK ロールアップは、イーサリアム上に追加の信頼仮定を導入せず、セキュリティのためにイーサリアムと数学に依存しているため、オプティミスティック ロールアップよりも高いレベルのセキュリティを提供します。オプティミスティック ロールアップは、ゲーム理論と 1/n 正直なノードの仮定に依存しています。これは、トランザクション バッチごとに、悪意のあるトランザクションに挑戦できる正直なノードが常に少なくとも 1 つ存在することを意味します。

 

一方、シーケンサーや証明者としても知られる ZK ロールアップの運営者は、ユーザーの資金を侵害する可能性はまったくありません。その役割はトランザクション バッチを収集して ZK プルーフを生成すること「だけ」であり、ユーザーの資金はそのまま残ります。イーサリアム L1 では、イーサリアムは L2 によって送信された ZK プルーフを検証し、基礎となるトランザクションを完了する最終的な責任を負います。妥当性証明は、状態データに対して複雑な多項式計算を実行することによって生成されます。状態データが無効な場合、有効性証明を生成できません。 L1 の検証者は、有効性証明を検証するために状態データを入力するため、証明者が状態データを変更すると、検証者は証明を受け入れなくなります。

 

ZK ロールアップには、オプティミスティック ロールアップに比べて 2 つの利点もあります。第一に、有効性の証明が提供されるとすぐにイーサリアム上でトランザクションが確認されるため、ファイナリティが迅速化されます。一方、オプティミスティック ロールアップでは、トランザクションが合法的で最終的であるとみなされるまでに異議がないことを確認するために 1 週​​間待つ必要があります。第 2 に、データの可用性に関連して、ZK ロールアップは検証のためにすべてのトランザクションを再構築する必要がないため、状態の違いのみを公開する必要があるため、より効率的です。対照的に、オプティミスティック ロールアップでは、誰でもトランザクションを再構築できるように完全なデータを公開する必要があります。そして最終的には彼らに挑戦します。

 

その結果、ZK ロールアップが使用するイーサリアム上のデータ帯域幅 (ZK 回線を含むトランザクションの実行にどのシステムを使用するかに関係なく、すべてのロールアップが共有する必要がある希少なリソース) 上のデータ帯域幅が大幅に減少し、ユーザーはさらに安価な手数料 (または手数料ゼロ)。

 

Zk ロールアップはイーサリアムのスケーラビリティに対する究極のソリューションと考えられていますが、イーサリアム仮想マシン (EVM) は ZK 回線をサポートするように設計されていないため、実装は困難です。この問題を解決するために、多くの組織や研究者は、ゼロ知識証明計算と互換性のある方法でスマート コントラクトを実行できる zkEVM と呼ばれるロールアップ対応の仮想マシンの作成を試みてきました。

 

これらのさまざまな試みの最も包括的な分析は、Vitalik のブログ投稿にあります。そこでは、イーサリアムとの互換性に基づいて 4 種類の zkEVM の概要が説明されています。 zkEVM がイーサリアムの機能に近づくほど、Zk プルーフの生成に時間がかかり、コストが高くなることに注意してください。一方で、ブロックチェーンやロールアップがイーサリアムの仕様や標準に準拠していれば、開発者はその上にアプリケーションを構築し、イーサリアムのエコシステムに統合することが容易になります。要約すると、イーサリアムとの互換性が高いブロックチェーンは競争上の優位性を持つ可能性があります。

 

カテゴリ 1: イーサリアムと完全に同等の ZK ロールアップ。ハッシュ、ステート ツリー、トランザクション ツリー、プリコンパイル、またはその他のコンセンサス ロジックを含むすべての部分でイーサリアムを正確に複製します。これまでのところ、イーサリアムと同等の zkEVM は存在しません。

 

カテゴリ 2: EVM と完全に同等の Zk ロールアップは、EVM と同等であるように努めていますが、イーサリアムと完全に同等ではありません。これらは既存のアプリケーションと完全に互換性がありますが、開発を容易にし、プルーフをより速く生成できるようにイーサリアムにいくつかの小さな変更が加えられています。 Scroll と zkEVM Polygon は理論的にはこのカテゴリに属しますが、実際には現在 3 番目のグループに属しています。

 

カテゴリ 3: EVM とほぼ同等で、プルーフの生成を高速化するために、より多くの要素と等価性が犠牲になります。現在、Polygon zkEVM と Scroll がこのカテゴリに分類されます。このカテゴリは、多くの場合、2 番目のカテゴリへの出発点となります。

 

カテゴリ 4: 高水準言語と同等。どちらも Solidity で書かれたスマート コントラクトを受け入れ、それを別のカスタムの ZK 対応言語に変換することを意味します。 zkSync と StarkNet はこのカテゴリに分類されますが、zkSync は時間の経過とともに EVM バイトコードとの互換性を追加し、最終的にはより高いタイプに移行する可能性があります。

 

Vitalik によって提案された分類が現在最も一般的で公平ですが、他の分類方法もあります。 NFT 専用の StarkWare ベースの L2 である Immutable は、ブログ投稿の 1 つで次の役立つ分類を提供しました。

 

 

これらのカテゴリは、Vitalik の分類と比較すると、スタックの特定のレベル (高水準言語、バイトコード、またはランタイム環境) で既存の zkEVM がイーサリアムと互換性または同等に達することに基づいていることがより明確になります。

 

堅牢性と互換性があります。イーサリアムとの互換性は高級言語レベルの Solidity で実装されており、開発者はイーサリアムで使い慣れた言語でスマート コントラクトを書き続けることができます。ただし、これらのロールアップは、Solidity を中間表現に即座に変換し、その後バイトコードでコンパイルされ、カスタム環境で実行されます。具体的には、これらの L2 はトランスパイラーを使用して、Solidity コードをカスタム VM 用の読み取り可能なコード (StarkWare の場合は Cairo、zkSync の場合は LLVM-IR) に変換します。これらのトランスパイラーは特定の Solidity 機能をサポートしていないため、開発者はスマート コントラクトを調整する必要がある場合があります。例: zkSync と StarkNet。

 

EVM対応。言語レベルから見ると、これらのロールアップは EVM 互換ですが、独自のバイトコードを持っています。つまり、Solidity を EVM オペコード/バイトコードに直接コンパイルし、カスタム VM ランタイム セクション コードの前にカスタム ワードに変換できます。実際、これらのロールアップはほとんどの Ethereum プログラムと互換性がありますが、一部のアプリケーションでは書き換えが必要になる場合があります。さらに、一部のバイトコード機能 (プリコンパイルなど) はサポートされていません。例: ポリゴン zkEVM。

 

EVMと同等。これらのロールアップは、VM 自体が EVM とは異なる場合でも、EVM オペコードとバイトコードを直接読み取ることができる zk 検証回路を作成します。これらのロールアップは既存のアプリケーションと完全に互換性がありますが、開発を容易にし、プルーフの生成を迅速化するために、イーサリアムにいくつかの小さな変更を加えることができます。例: スクロール。

 

イーサリアムと同等。これは、Polygon が行ったのと同様に、すべてのコンポーネントで Ethereum を複製することを意味します。今のところ、このカテゴリに該当する zk ロールアップはありません。

 

このフレームワークを Immutable によって提案されたフレームワークと組み合わせ、いくつかの追加情報を追加すると、パフォーマンス データが入手できる前にさまざまな zkEVM 実装を比較するときに考慮すべき設計の相違点と類似点の一部を強調表示して、次のグラフの概要を示すことができます。

 

 

zkSync 2.0 (メインネットの立ち上げに先立って zkSync Era に名前変更されたばかり) は、Solidity プログラミング言語と完全に互換性のある Ethereum ネットワーク用のスケーリング ソリューションです。 zkSync を使用すると、ユーザーは 2 つのデータ可用性タイプ (zkSync Rollup と zkSync Porter) から選択できます。前者はデータをイーサリアム上に直接公開するため、イーサリアム L1 と同じくらい安全になります。一方、後者はデータをオフチェーンに保存するため、トランザクションがより高速かつ安価になりますが、セキュリティ レベルは低くなります。

 

zkSync は、Solidity で書かれたスマート コントラクト コードを Yul に変換し、Yul を LLVM-IR に変換して、zkSync の EVM コード セットで使用するために特別に設計されたカスタム回路互換バイトに再コンパイルできるため、EVM 互換です。これには中間ステップが必要ですが、アカウントの抽象化など、EVM 以外の他の機能を追加することもできます。さらに、zkSync の会社である Matter Labs は、イーサリアム ツールキットとの互換性を段階的に高めることを計画しており、次の目標の一環として、スケーラビリティと相互運用性の分野で最初の 3 層プロトタイプである zkSync Opportunity を立ち上げる準備をしています。オンライン リリースをテストします。

 

この記事の執筆時点では、zkSync Era は開始されたばかりなので、そのパフォーマンスについてコメントするのは時期尚早です。 zkSync 1.0 (現在は zkSync Lite と呼ばれています) は、単純なトランザクションのみをサポートしていますが、TVL 統計によると、最大規模の zk ロールアップの 1 つであり、8,300 万米ドル以上がロックされ、累計トランザクション量は 1,900 万を超えています。一方、StarkNet の TVL は、 1,900万米ドルを超えるだけで、累計取引額は400万ドルです。

 

StarkNet は、タイプ 4/Solidity に準拠した zk ロールアップであり、オフチェーン トランザクションの整合性を確保するために、STARK (Scalable Transparent ARgument of Knowledge) と呼ばれる別のタイプのゼロ知識証明を採用しています。 STARK は SNARK よりも効率的でスケーラブルであると考えられていますが、より複雑な技術的な設定が必要になる場合があります。

 

StarkNet はスマート コントラクトもサポートしていますが、STARK の使用と、StarkNet コントラクトと StarkNet OS がカイロ言語で書かれているという事実により、その機能は比較的小規模です。開発を容易にするために、StarkWare は最近、Rust をエミュレートする Cairo 1.0 にアップグレードされました。 zkSync 時代と同様、StarkNet は EVM 内でプログラムを実行せず、完全に新しい専用 VM を作成し、カスタム バイトコードを使用するため、「Solidity 互換」として分類できます。 StarkWare は、Warp トランスレータを使用して、Solidity コードを Cairo VM バイトコードに変換します。

 

ただし、zkSync Era や他の zkEVM 実装とは異なり、StarkNet チームは EVM や他の Ethereum コンポーネントとの互換性を目指すのではなく、カスタム クライアント API、JavaScript ライブラリ、ウォレット システム 。イーサリアム互換ツールに StarkNet サポートを手動で追加させます。 Cairo 1.0 では、Cairo 1.0 と Cairo バイトコードの間の新しい中間表現層として Sierra (Secure Intermediate Representation) も導入されていますが、Warp トランスレータは一部の Solidity 機能をサポートしておらず、zkSync 時代の EVM 互換性に匹敵するものには程遠いです。 。

 

Polygon zkEVM は、カスタム言語 zkASM を使用して zkEVM コードを解釈し、非 EVM ランタイム環境でスマート コントラクトの実行を検証する zk ロールアップです。このプロジェクトは、STARK と SNARK のセキュリティと効率性を組み合わせた EVM と同等のシステムを開発するために Hermez Network を 2 億 5,000 万ドルで買収することで 2021 年に始まりました。 STARK はトランザクション状態の有効性証明を生成するために使用されますが、SNARK は STARK 証明の正確性を評価するために使用されます。これらのソリューションを組み合わせることで、セキュリティ、スピード、低取引手数料が実現します。

 

2022 年 7 月、Polygon は、Polygon Hermez が Polygon zkEVM に改名されると発表しました。Polygon zkEVM は、この記事の執筆時点ではローンチされたばかりでした。 Polygon zkEVM の最新のテストネット バージョンでは再帰機能が導入されており、1 つの ZK 有効性証明を他の ZK 証明のバッチを検証するために使用できるようになり、各証明で複数のトランザクションを検証できます。この機能は、既存の代替手段よりも 100 倍高速で、イーサリアム自体とネイティブ互換性のある再帰的 SNARK である Plonky2 によって強化されています。

 

Polygon zkEVM に加えて、Polygon はデータの可用性のみを目的として最適化されたブロックチェーンである Polygon Avail も開発しました。このネットワークはパーミッションレスであり、誰でも検証者として参加でき、既存の DAC (データ可用性委員会) とは異なり、ネットワーク セキュリティを提供するために数百のノードが連携します。 Avail は Polygon Hermez (Rollup) と組み合わせて動作し、Ethereum で公開する代わりに Hermez から状態データをアップロードし、Validium と Rollup の間のソリューションを提供します。

 

Polygon が提供する仕様は EVM 互換性と表現するほうが適切だと指摘する専門家もいますが、チームは最初の完全に EVM と同等のソリューションを作成するために懸命に取り組んでいます。

 

Scroll は、Scroll チームが Ethereum Foundation の PSE (Privacy and Scaling Explorations) グループと協力して開発した、EVM に相当する zk-rollup です。現在はプレアルファ テストネットの段階にあり、バイトコード レベルで Ethereum Virtual と競合することを目指しています。 EVMと完全互換。これは、開発者が EVM 互換言語を使用してスマート コントラクトを作成し、それを Scroll にデプロイできることを意味します。 Scroll は現在 EVM オペコードをサポートしていませんが、1:1 オペコード マッピングを構築し、コンパイラなしで EVM オペコードを直接受け入れることでサポートする計画があります。

 

Scroll のアーキテクチャには、集中型シリアル化ノードと分散型認証ネットワークが含まれています。集中型シリアル化ノードは、トランザクションの順序付け、ブロックの作成、およびデータの可用性を確保するためにイーサリアム上のロールアップ コントラクトにトランザクション データをコールデータとして送信する責任を負います。 Scroll はシリアル化ノードを段階的に分散化する予定です。一方、Roller と呼ばれる分散型プルーフ ジェネレーターは、分散コンピューティング能力を活用してプルーフを生成し、L1 ネットワーク上で公開します。ローラーはランダムに選択され、異なるブロックの複数のプルーフを異なるローラー上で並行して生成して速度を上げることができます。

 

*現在はオンチェーン データの可用性のみをサポートしていますが、Scroll の元の設計には Validium モードも含まれていました。

 

実際、Scroll と Polygon はどちらも、zkEVM の構築にバイトコード レベルのアプローチを採用しています。このアプローチでは、翻訳ステップが完全に排除されます。つまり、これらの zkEVM は、Solidity コードをコンパイルして解釈する前に他の言語に変換しません。ただし、Scroll と Ethereum の唯一の違いはランタイム環境ですが、Polygon はカスタム VM を作成して最適化し、EVM バイトコードをその VM のバイトコードに変換します。 Scroll とは異なり、Polygon のランタイム (「zkExecutor」) は、EVM オペコードの代わりにカスタムの「zkASM」オペコード (図のマイクロ オペコード) を実行して、EVM 解釈を最適化します (つまり、EVM を直接証明する代わりに制約の数を減らします)。 Polygon zkEVM は、Solidity コード、ツール、アプリケーションと 100% 互換性があるわけではありませんが、ほとんどは互換性があります。

 

これらは汎用の zkEVM 実装の展開に焦点を当てた最も目立つプロジェクトですが、他のアプリケーション固有のプロジェクトも実際に zk テクノロジーを使用しています。

 

ループは、分散型交換 (DEX) プロトコルをサポートするために使用されるアプリケーション固有の zk-rollup です。 Loopring は、誰でも zk 証明を使用して dex を構築できるプラットフォームでもあります。 Immutable X は、NFT 取引とゲーム用に StarkWare 上に構築された別のアプリケーション固有の zk-rollup です。 Aztec はプライバシーを重視したイーサリアムベースの zk ロールアップで、ユーザーのプライバシーを保護しながらデータの透明性とプロトコルの可用性を維持するためにデータを暗号化します。さらに、Aztec は PLONK 証明システムを発明し、これは zkSync や他のプロジェクトでも使用されています。

 

Immutable X、Sorare、rhino.fi、ApeX、dYdX、その他多くのプロトコルは StarkEx 上に構築されています。 StarkEx ZK-Rollup を使用するプロジェクトでは、データはコールデータとしてイーサリアムに送信され、オンチェーンで公開されます。 Validium モードでは、データはオフチェーンに保存され、ハッシュのみがオンチェーンに保存されます。 Rollup モードではより高いセキュリティが保証されますが (ユーザーは単に Ethereum ブロックチェーンと対話して台帳状態を再作成します)、Validium モードではより低いコストとより高いプライバシーが保証されます。

 

全体として、zkSync Lite は最大の zk ロールアップですが、StarkWare は StarkEx 上に構築されたプロジェクトを含む最大のエコシステムを持ち、最大の TVL と市場シェアも持っています。

 

 

 

要約する

要約すると、zk-rollup はブロックチェーン ネットワークをスケーリングするための有望なソリューションであり、さまざまなニーズや要件を満たすためにさまざまな実装が利用可能です。いくつかの分類が存在しますが、それらはおおよその解釈であり、定義や技術的な違いについての合意が得られていないことに注意する必要があります。 Scroll の共同創設者である Sandy Peng 氏が認めているように、「どの定義についても明確な合意はありません。「Scroll の研究チーム全体」は特定の物語や特定の見解に傾いていますが、それは明確なものではありません。私たちの研究チームは、すべてが何を意味するかについてさえ同意していません。 」

 

それにもかかわらず、zk ロールアップの実装にはいくつかの共通の傾向が現れています。まず、それらはすべて、データ可用性に対してハイブリッド アプローチを採用しているようで、従来のオンチェーン データ ストレージのロールアップ バージョンとオフチェーン データ ストレージの有効バージョンを提供しています。 「私の意見では、すべてのロールアップにはロールアップ バージョンと検証バージョンがあることがわかります」と Avail CEO の Anurag Arjun 氏は Blockworks に語った。

 

第 2 に、実際に実行するまでは純粋なオープン ソース コードの使用をほとんど避けます。これは、Arbitrum や Optimism のような楽観的なロールアップとの激しい競争にも関連しています。 Zk ロールアップはより効率的になることが期待されていますが、実装は技術的により困難です。さらに、上記の表から明らかなように、楽観的なロールアップ、特に Arbitrum は先行者利益の恩恵を受けており、アプリケーション、取引量、市場シェアの点で市場をリードしています。成功したことが証明されれば、オプティミスティックロールアップは有効性証明モデルをすでに確立されているユーザーベースと統合できる可能性があります(たとえば、オプティミズムのBedrockへのアップグレードにより有効性証明が導入される可能性があります)。

 

さらに、すべての実装は効率を向上させるために集中型シーケンサーから始まりましたが、集中化に関する懸念に対処するために、すべてが漸進的な分散化に向けて取り組みました。興味深いことに、分散型の発注者はネイティブ トークンでの経済的インセンティブを必要とする可能性があるため、言及されたすべてのプロジェクトはこのステップを踏む必要があります。

 

最後に、過去 1 年間にこれらの zkEVM 実装によって達成された驚くべき結果により、zk テクノロジー全般に対する関心が新たに高まり、企業はプルーフ生成速度を向上させるための新しい zk ハードウェアの開発など、開発のさまざまな側面に焦点を当てています。

 

対処する必要のある課題はまだいくつかありますが、わずか 1 年強での zkEVM 設計の進歩は注目に値し、2023 年はこのテクノロジーにとって決定的な年となる可能性があります。

 

元のリンク