
zkEVM方式の概要:zkSync、StarkNet、Polygon zkEVM、Scrollを簡潔に分析
TechFlow厳選深潮セレクト

zkEVM方式の概要:zkSync、StarkNet、Polygon zkEVM、Scrollを簡潔に分析
zkEVMの設計における進展は注目に値し、2023年はこの技術にとって決定的な年となる可能性がある。

執筆:Filippo Armani
翻訳:TechFlow
ZK Rollups(有効性ロールアップ)はイーサリアムの革命的なスケーリングソリューションであり、トランザクションをオフチェーンで処理し、メインチェーン上では単一の圧縮されたトランザクションとしてまとめる。このプロセスにより、トランザクションのスループットが向上し、手数料が低下する一方で、メインチェーンの安全性と非中央集権性が維持される。
ZK Rollups の顕著な特徴の一つは、ゼロ知識証明(ZKP)の使用である。これは、証明者が検証者に対してある命題が正しいことを、追加情報を一切開示せずに証明できる暗号技術である。
ZK Rollups において、ZKP はオフチェーンでのトランザクションの完全性を保証する。証明者は、各トランザクションの詳細や検証者による全取引のチェックなしに、トランザクションのバッチが有効であることを証明できる。
Optimistic Rollups と比較して、ZK Rollups はより高いレベルのセキュリティを提供する。なぜなら、イーサリアム上に新たな信頼仮定を導入せず、イーサリアムと数学によって安全性を確保しているためである。一方、Optimistic Rollups はゲーム理論と「1/n 誠実ノード仮定」に依存しており、各トランザクションバッチに対して少なくとも1つの誠実なノードが悪意ある取引に異議を唱えられることを前提としている。
一方、ZK Rollups のオペレーター(シーケンサーおよびプローバー)は、ユーザー資金を危険にさらす余地がない。彼らの役割は「単に」トランザクションのバッチを収集し、ZK 証明を生成することに限定されており、ユーザーの資産は依然としてイーサリアムL1上に存在する。最終的にイーサリアムがL2から提出されたZK証明を検証し、基盤となるトランザクションを完了させる。
有効性証明は、状態データに対する複雑な多項式計算を通じて生成される。もし状態データが無効であれば、有効性証明を作成することはできない。L1上の検証者は、状態データを入力として有効性証明を検証するため、証明者が状態データを改ざんした場合、その証明は受け入れられない。
Optimistic Rollups と比較して、ZK Rollups にはさらに二つの利点がある。すなわち、「より速いファイナリティ」と「より効率的なデータ可用性」である。
第一に、ファイナリティが迅速になる。有効性証明が提供されれば、即座にイーサリアム上でトランザクションが確定する。一方、Optimistic Rollups は1週間のチャレンジ期間を待つ必要があり、その期間中に異議がなければ初めてトランザクションが合法かつ最終的と見なされる。
第二に、データ可用性の面でZK Rollupsはより効率的である。なぜなら、すべてのトランザクションを再構築する必要がないため、状態の差分のみを公開すればよい。対照的に、Optimistic Rollups は誰でも取引を再構築・チャレンジできるよう、完全なデータを公開する必要がある。
したがって、ZK Rollups はイーサリアム上で使用するデータ帯域をより少なく済ませる(これはすべてのRollupが共有しなければならない希少資源であり、ZK回路を含むどのシステムを使用するかに関わらず共通)。これにより、ユーザーはさらに安価な手数料(あるいはゼロ手数料)を享受できる。
Zk-rollups は、イーサリアムのスケーラビリティの究極の解決策と見なされている。しかし、イーサリアム仮想マシン(EVM)はZK回路をサポートするように設計されていないため、実現は困難である。この問題を解決するために、多くの組織や研究者が、スマートコントラクトをゼロ知識証明計算と互換性のある方法で実行できる「zkEVM」と呼ばれるロールアップ対応仮想マシンの創出を試みている。
Vitalikが提唱する4種類のzkEVM分類
Vitalikは自身のブログ記事で、イーサリアムとの互換性に基づいた4種類のzkEVMタイプを概説している。
以下の点に注意が必要である:
zkEVMがイーサリアムの機能に近づくほど、zk証明の生成速度は遅くなり、コストも高くなる。
一方、ブロックチェーンまたはロールアップがイーサリアムの仕様や標準に準拠しているほど、開発者がアプリケーションを構築しやすく、エコシステムへの統合も容易になる。
つまり、イーサリアムと高度に互換性のあるブロックチェーンは競争優位を持つ可能性がある。
第一類:イーサリアムと完全に同等なzk rollups。ハッシュ、ステートツリー、トランザクショントリー、プリコンパイル、その他すべてのコンセンスロジックにおいて、イーサリアムを正確に模倣する。現時点では、いかなるzkEVMもイーサリアムと完全に同等になることはできていない。
第二類:EVMと完全に同等を目指すzk rollups。EVMと同等であるが、イーサリアムとは完全には一致しない。既存のアプリケーションと完全に互換性を持ちつつ、若干の変更を加えることで開発を容易にし、証明生成を高速化する。Scroll と Polygon zkEVM は理論的にはこのカテゴリに属するが、現実には現在第三類に位置している。
第三類:EVMにほぼ同等。証明生成をより高速にするために、要素や同等性の一部を犠牲にしている。Polygon zkEVM と Scroll は現在このカテゴリに属している。このカテゴリは通常、第二類へ移行するための中間段階となる。
第四類:高級言語レベルでの同等性。Solidityで記述されたスマートコントラクトを受け入れ、それを別のカスタムでzk対応の言語に変換する。zkSync と StarkNet はこのカテゴリに属している。ただし、zkSync は時間とともにEVMバイトコードとの互換性を追加し、より上位のタイプへ移行する可能性がある。
Vitalikが提唱する分類は現時点で最も普及しており公正だが、他にも分類方法は存在する。
Immutableが提唱する4種類の分類
NFT専用L2で、StarkWareを基盤とするImmutableは、自社のブログ記事で以下のような有用な分類を提示している。

これらのカテゴリは、Vitalikの分類と比べて、既存のzkEVMがスタックの特定レベル(高級言語、バイトコード、ランタイム環境)でイーサリアムとの互換性/同等性をどこまで達成しているかをより明確に示している。
Solidity互換。イーサリアムとの互換性は高級言語レベルのSolidityで実現される。開発者は、これまでイーサリアムで使用してきた言語でスマートコントラクトを記述できる。しかし、これらのロールアップはSolidityを直ちに中間表現に変換し、独自のバイトコードにコンパイルしてカスタム環境で実行する。具体的には、これらのL2はトランスライターを使ってSolidityコードをカスタムVMが読める形式に変換する(StarkWareのCairo、zkSyncのLLVM-IR)。しかし、これらのトランスライターは一部のSolidity機能をサポートしていないため、開発者はスマートコントラクトの調整が必要となる。例:zkSync、StarkNet。
EVM互換。言語レベルではEVMと互換性があるが、独自のバイトコードを持っている。Solidityは直接EVMのオペコード/バイトコードにコンパイルされ、その後カスタムVMのランタイム前にカスタムバイトコードに変換される。実際には、これらの大半のイーサリアムプログラムと互換性があるが、一部のアプリケーションは再記述が必要となる。また、プリコンパイルなど一部のバイトコード機能はサポートされていない。例:Polygon zkEVM。
EVM同等。EVMオペコードとバイトコードを直接読み取れるzk検証回路を構築するが、VM自体はEVMとは異なる。これらは既存アプリケーションと完全に互換性があるが、開発を容易にし証明生成を早めるために、イーサリアムに対してわずかな変更を行う。例:Scroll。
イーサリアム同等。イーサリアムのすべての構成要素を複製するもので、Polygonが目指す方向に近い。現時点では、いかなるzkロールアップもこのカテゴリに属していない。
この枠組みとImmutableの提案を組み合わせ、さらに他の情報を加えることで、以下の図表を概観できる。まだ性能データが利用できない中で、異なるzkEVM実装を比較する際に考慮すべき設計上の相違点や類似点を浮き彫りにすることができる。

zkSync 2.0
zkSync 2.0(メインネットリリース直前にzkSync Eraに改名)は、イーサリアムネットワークのスケーリングソリューションであり、Solidityプログラミング言語と完全に互換性を持つ。zkSync を使用すると、ユーザーは二種類のデータ可用性を選択できる:zkSync Rollup と zkSync Porter。前者はデータをイーサリアム上に直接公開し、イーサリアムL1と同じレベルの安全性を確保する。後者はデータをオフチェーンに保存し、トランザクション速度が速くコストも低くなるが、セキュリティレベルは下がる。
zkSync はEVM互換である。なぜなら、Solidityで書かれたスマートコントラクトコードをYulに変換し、YulをLLVM-IRに変換した後、zkSync専用EVM向けに設計されたカスタム回路互換のバイトコードセットに再コンパイルするからである。この中間ステップは必要だが、アカウント抽象化(Account Abstraction)といった非EVM機能の追加も可能にする。また、zkSyncを開発するMatter Labs社は、徐々にEthereumツールキットとの互換性を高め、スケーラビリティと相互運用性の分野で最初のレイヤー3プロトタイプzkSync Opportunityをテストネット上でリリースするという野心的な計画を持っている。
本稿執筆時点では、zkSync Eraはつい最近ローンチされたばかりであり、その成果について評価するのは時期尚早である。シンプルなトランザクションのみをサポートしていたzkSync 1.0(現在はzkSync Liteと称する)は最大級のzkロールアップの一つであり、TVLは8300万ドル以上、累計取引数は1900万件を超える。一方、StarkNetのTVLは1900万ドル超、累計取引数は400万件である。
StarkNet
StarkNet はタイプ4/Solidity互換のzk-rollupであり、オフチェーントランザクションの完全性を保証するために、STARKs(Scalable Transparent ARgument of Knowledge)と呼ばれる別のタイプのゼロ知識証明を採用している。STARKsはSNARKよりも効率的でスケーラブルとされるが、より複雑な技術設定を要する可能性がある。
StarkNetもスマートコントラクトをサポートしているが、STARKsの使用と、StarkNetのコントラクトおよびOSがCairo言語で書かれていることから、その能力はやや制限されている。開発を容易にするため、StarkWareは最近Cairo 1.0にアップグレードし、Rust風の構文を模倣している。zkSync Eraと同様に、StarkNetも「Solidity互換」と分類できる。なぜなら、EVM内でプログラムを実行するのではなく、全新で専用設計されたVMを構築し、カスタムバイトコードを使用するからである。StarkWareはWarpトランスライターを用いてSolidityコードをCairo VMバイトコードに変換する。
しかし、zkSync Eraや他のzkEVM実装とは異なり、StarkNetチームの目標はEVMや他のイーサリアムコンポーネントとの互換性ではなく、カスタムクライアントAPI、JavaScriptライブラリ、ウォレットシステムを展開することでStarkNetのVMを可能な限り効率的にすることにある。そのため、イーサリアム互換のツールは手動でStarkNetサポートを追加する必要がある。なお、Cairo 1.0ではSierra(安全な中間表現)という、Cairo 1.0とCairoバイトコードの中間に位置する新しい層も導入されたが、Warpトランスライターは一部のSolidity機能を未だサポートしておらず、zkSync EraのEVM互換性に匹敵するにはまだ遠い。
Polygon zkEVM
Polygon zkEVM は、カスタム言語zkASMを用いてzkEVMコードを解釈し、非EVMランタイム環境でスマートコントラクトの実行を検証するzk-rollupである。このプロジェクトは2021年に開始され、Hermez Networkを2億5000万ドルで買収することで、STARKとSNARKの両方のセキュリティと効率を兼ね備えたEVM同等システムの開発を始めた。STARKはトランザクションステートの有効性証明生成に使用され、SNARKはSTARK証明の正しさを評価するために使用される。この組み合わせにより、安全性、速度、低トランザクション手数料を実現している。
2022年7月、PolygonはPolygon HermezをPolygon zkEVMに改名すると発表し、本稿執筆時点でついにリリースされた。最新のテストネット版では、再帰的機能が導入され、一つのZK有効性証明で他のZK証明のバッチを検証できるようになった。各証明は複数のトランザクションを検証できる。この機能はPlonky2(再帰的SNARK)のおかげで実現され、既存の代替品より100倍高速で、イーサリアム自体ともネイティブ互換である。
Polygon zkEVMに加えて、Polygonはデータ可用性に特化したブロックチェーンPolygon Availも開発している。このネットワークはノンパーミッション型であり、誰でもバリデータとして参加できる。既存のDAC(Data Availability Committees)とは異なり、数百のノードが協力してネットワークの安全性を提供する。AvailはPolygon Hermez(ロールアップ)と連携し、Hermezからステートデータをアップロードしてイーサリアム上に公開する代わりに、ValidiumとRollupの中間的なソリューションを提供する。
一部の専門家は、Polygonが提供する仕様はむしろ「EVM互換性」と呼ぶべきだと指摘しているが、同チームは最初の完全なEVM同等ソリューションの構築に向けて努力している。
Scroll
Scroll は、Scrollチームとイーサリアム財団のPSE(Privacy and Scaling Explorations)グループが共同開発するEVM同等zk-rollupであり、現在Pre-Alphaテストネット段階にある。バイトコードレベルでEVMと完全に互換性を持つことを目指しており、開発者はEVM互換の任意の言語でスマートコントラクトを作成し、Scrollにデプロイできる。現在ScrollはEVM opcodeをサポートしていないが、1:1のopcodeマッピングを構築し、コンパイラなしで直接EVM opcodeを受け入れる予定である。
Scrollのアーキテクチャは、集中型のシーケンサーノードと分散型の証明ネットワークからなる。集中型シーケンサーノードは、トランザクションの順序付け、ブロック作成、およびデータ可用性のためcalldataとしてイーサリアム上のロールアップコントラクトにトランザクションデータを提出する役割を担う。Scrollは将来的にシーケンサーの段階的非中央集権化を計画している。一方、Rollerと呼ばれる分散型証明生成器が証明を生成し、L1ネットワークに公開する。これにより分散コンピューティング能力が活用される。Rollerはランダムに選ばれ、異なるブロックの複数の証明を並列生成することで速度を向上できる。
*注:現時点ではオンチェーンデータ可用性のみをサポートしているが、Scrollのオリジナル設計にはValidiumモードも含まれている。
実際、ScrollとPolygonはどちらもバイトコードレベルのアプローチを採用してzkEVMを構築している。この方法はトランスレーションステップを完全に排除するもので、Solidityコードを他の言語に変換する必要がない。しかし、Scrollはランタイム環境を除いてイーサリアムと唯一の違いしか持たないのに対し、PolygonはカスタムVMを作成・最適化し、EVMバイトコードをそのVMのバイトコードに変換している。Scrollとは異なり、Polygonのランタイム(「zkExecutor」)はEVMオペコードではなく、カスタムの「zkASM」オペコード(図中のマイクロオペコード)を実行し、EVMの解釈を最適化している(つまり、EVMを直接証明するのではなく、制約の数を減らす)。そのため、Polygon zkEVMは100%のSolidityコード、ツール、アプリケーションと互換性があるとは限らないが、大部分は動作する。
これらは汎用zkEVMの実装に焦点を当てる主要プロジェクトだが、他の特定用途のプロジェクトもzk技術を実践的に活用している。
Loopringは、分散型取引所(DEX)プロトコルを支援する特定用途のzk-rollupである。また、zk証明を用いて誰もがDEXを構築できるプラットフォームでもある。Immutable Xは、NFT取引とゲーム向けにStarkWareを基盤とするもう一つの特定用途zk-rollupである。Aztecは、プライバシー重視のイーサリアムベースzk-rollupで、データを暗号化しつつプロトコルにとっての透明性と可用性を維持しながらユーザーのプライバシーを保護する。また、AztecはPLONK証明システムを発明し、これはzkSyncや他のプロジェクトでも使用されている。
Immutable X、Sorare、rhino.fi、ApeX、dYdXなど多数のプロトコルはStarkExを基盤として構築されている。StarkEx ZK-Rollupを使用するプロジェクトでは、データはcalldataとしてイーサリアムに送信されオンチェーンに公開される。Validiumモードでは、データはオフチェーンに保存され、ハッシュのみがオンチェーンに保存される。ロールアップモードはより高いセキュリティを保証する(ユーザーはイーサリアムブロックチェーンとやり取りするだけで帳簿の状態を再構築できる)が、Validiumモードはコスト削減とより高いプライバシーを実現する。
全体として見ると、zkSync Liteは最大のzkロールアップだが、StarkWareはStarkEx上に構築されたプロジェクト群を含む最大のエコシステムを持ち、TVLと市場シェアも最大である。

まとめ
まとめると、zk-rollupはブロックチェーンネットワークのスケーリングにおける有望なソリューションであり、さまざまなニーズや要件に応じた実装が存在する。いくつかの分類が存在するが、これらはあくまで近似的な説明であり、定義や技術的差異に関して合意は存在しないことに留意すべきである。
Scroll共同創業者のSandy Pengが認めるように、「明確な合意が得られるような定義は存在しない。『Scrollの全研究チーム』はある種の物語や見方に傾いているが、それは明確な事実ではない。私たちの研究チームですら、すべての用語の意味について合意しているわけではない。」
それでも、zk rollupの実装においていくつかの共通トレンドが見られる:
まず、データ可用性に関しては混合アプローチを採用しており、従来のオンチェーンデータストレージのロールアップ版と、オフチェーンデータストレージのvalidium版を提供する傾向がある。AvailのCEOであるAnurag Arjun氏はBlockworksに語った。「私の見解では、すべてのロールアップがロールアップ版とvalidium版を持つようになるだろう。」
第二に、実稼働するまでオープンソースコードを完全に公開しないケースが多い。これはArbitrumやOptimismのようなOptimistic Rollupsからの激しい競争とも関係している。zk-rollupsはより効率的であると約束するが、技術的に実現が難しい。
さらに、上記の表が明確に示すように、Optimistic Rollups、特にArbitrumは先行者利益を享受しており、アプリケーション数、取引量、市場シェアでリードしている。成功すれば、Optimistic Rollupsは既存のユーザーベースと有効性証明モデルを統合できる(例:OptimismのアップグレードBedrockは有効性証明を導入する可能性がある)。
さらに、すべての実装は効率化のために初期段階で中央集権的なシーケンサーを採用しているが、中央集権化への懸念に対処するため、段階的に非中央集権化を目指している。興味深いことに、非中央集権化されたシーケンサーにはネイティブトークンによる経済的インセンティブが必要となる可能性があるため、言及されたすべてのプロジェクトはこのステップを踏むべきであろう。
最後に、過去一年間でこれらのzkEVM実装が達成した驚異的な成果は、zk技術全体への新たな関心を呼び起こしており、企業は証明生成速度の向上のための新しいzkハードウェアの開発など、さまざまな側面に注力している。
依然として解決すべき課題は多いが、わずか1年余りでzkEVM設計が達成した進展は注目に値する。2023年はこの技術にとって決定的な年となるかもしれない。
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News














