カンクンアップグレード前夜のイーサリアムzkEVMの様子

著者: RJ; 出典: 著者 Twitter @0xRJ_eth

# 導入

イーサリアムの主要なアップグレードであるカンクン-デネブ アップグレードは、2023 年の秋から冬に実施される予定です。中心的な目標は、イーサリアム ネットワークのスケーラビリティ、セキュリティ、可用性を強化しながら、ネットワークのガスを大幅に削減することです。第 2 層ネットワークの料金。したがって、実装が成功すれば、イーサリアムの L2 ロールアップ エコロジーに直接利益がもたらされ、L2 トラック全体の発生を促進することさえ期待されます。

L2拡張路線では、データ圧縮性能に優れたゼロ知識証明拡張方式(ZK Rollups)がイーサリアムの中長期的な中核方式として検討されています。 2022年、イーサリアムの創設者ヴィタリックは、EVM(Ethereum Virtual Machine)イーサリアム仮想マシンとの互換性に応じてZKロールアップを4つの異なるタイプに分割し、zkEVMタイプの基本規格を確立しました。

この投稿は、前述の Vitalik の精髄分類学に大きく影響を受けています。 1 年間の開発を経て、この分野は大きな進歩を遂げました。この記事は、Vitalik の洞察に基づいて、明確な論理と簡潔な言葉で、トラックの最新情報とより詳細な解釈 (初心者に優しい) を提供することを目的としています。

EVM とは何ですか?

EVM (イーサリアム仮想マシン) は、最初のチューリング完全ブロックチェーン仮想マシンです。これは、イーサリアム ネットワーク上に展開されたスマート コントラクトを実行するために特別に使用される、イーサリアム上のコード ランタイム環境として理解できます。 EVM を通じて、スマート コントラクトは分散型ネットワーク上で自動化された機能を実現できます。

2015 年にリリースされた最も実績のあるブロックチェーン仮想マシンである EVM は、間違いなくイーサリアムにとって非常に重要なインフラストラクチャです。他のブロックチェーンを判断する場合でも、EVM の互換性はすでに考慮すべき重要な側面となっています。EVM の互換性は、スマート コントラクトの実行環境、利用可能なイーサリアム ツールセットだけでなく、巨大なネットワーク効果と成熟した複雑な生態系も表すためです。

しかし、EVM の設計当初は、ZK Rollup L2 がイーサリアム拡張のコア ソリューションになる日が来るとは想像していなかったので、EVM の設計ではゼロ知識証明に優しいことは考慮されていませんでした。このため、ゼロ知識証明に適した EVM (zkEVM) を構築することが非常に困難になります。

#zkEVMとは何ですか?

Zero Knowledge Proof と Ethereum Virtual Machine (EVM) の間の互換性が難しいため、初期の ZK ロールアップは EVM をサポートしていませんでした。通常、スマート コントラクトを実行する (または特別な仮想マシンをサポートする) 機能が欠けているため、トークン交換 (スワップ) や支払い (支払い) など、比較的単純な特定のシナリオに限定されます。

この問題を解決するために、多くの組織や研究者が zkEVM (Zero Knowledge Ethereum Virtual Machine) の作成に焦点を当てています。zkEVM は、名前が示すように、EVM でスマート コントラクトの実行 (プロセスと結果) に対するゼロ知識証明を生成します。

ZK ロールアップ拡張スキームの確実性の向上とテクノロジーの進歩に伴い、さまざまな ZK 拡張プロジェクトは、互換性とパフォーマンス (ゼロ知識証明を生成するための証明時間) の間のトレードオフに基づいて、さまざまな未来を生み出してきました。ゼロ知識証明計算を使用します。

さまざまなタイプの zkEVM:

出典: Vitalik ブログ「さまざまな種類の ZK-EVM」

2022年、Vitalikは「さまざまなタイプのzkEVM」を説明する記事を発表し、市場のzk拡張プロジェクトを大まかに分類して比較しました。

次に、平易な言葉と明確なロジックを使用して、zkEVM の種類、技術アーキテクチャ、およびそれぞれの長所と短所を整理してみましょう。

Type1 クラス zkEVM: イーサリアムと完全に同等

Type2 クラス zkEVM: EVM Ethereum 仮想マシンと完全互換 (以前は Type2.5 クラスもありましたが、現在は基本的に Type2 クラスに統合されているようです)

Type3 クラス zkEVM: EVM Ethereum 仮想マシンとほぼ互換性があります

Type4 クラス zkEVM: 高級言語と互換性があります

Type1 クラス zkEVM - イーサリアムと完全に同等

## 建築:

※イーサリアムのシステム環境を一切変更することなく、イーサリアムと完全に同等です。

  • ハッシュ、状態トライ、トランザクション トライ、プリコンパイル、その他のコンセンサス ロジックを置き換える必要はありません。
  • その目標は、既存のアプリケーションと完全な互換性を持ち、開発者は過去のアプリケーションをスムーズにコピーできることです。

## アドバンテージ:

  • は、すべてのタイプの ZK ロールアップの中で最も互換性のあるスキームです。したがって、これは開発者にとって最もフレンドリーなソリューションでもあり、すべてのコンセンサス ロジックとシステム環境はイーサリアムと完全に同等であるため、開発者は摩擦なしで (変更なしで) 既存のコードを L2 にデプロイできます。
  • Type1 zkEVM の探査は将来的に摩擦なくイーサリアム自体に導入でき、イーサリアム L1 自体のスケーラビリティが向上するため、イーサリアム自体の探査および拡張の方向性と非常に一致しています。
  • Rollup が既存の大規模な Ethereum インフラストラクチャをスムーズにコピーできるようになります (例: Ethereum 実行クライアントを使用して、Rollup ブロック、既存のブロック エクスプローラー、独自の方法でのブロック生成を生成および処理できます。また、他のツールも L2 にスムーズにデプロイできます) )。
  • 現在のイーサリアムと同様にイーサリアム ブロックを検証する機能、より正確には実行層側 (すべてのトランザクション実行、スマート コントラクト、アカウント ロジックを含むが、現時点ではビーコン チェーン コンセンサス ロジックは含まない) を検証する機能。
  • 前述したように、イーサリアムと完全に同等であることの大きな価値は、イーサリアムの既存の巨大なネットワーク効果と成熟した複雑な生態系を活用できることです。

欠点:

  • ゼロ知識証明を統合する際にイーサリアムが直面する問題は、タイプ 1 スキームでも直面しています (結局のところ、イーサリアムはイーサリアムと同等であり、イーサリアムは元々 zk 関数用に設計されたものではありません)。
  • 最大の問題は、プルーフを作成するのに時間がかかることです。この問題を解決するために、現在業界で行われている主な解決策は、エンジニアリングの独創的な大規模並列化によって実証するか、ハードウェアの最適化によって高速化することです。

主流プロジェクト:

  • イーサリアム財団 PSE (Privacy and Scaling Explorations プライバシーと拡張) チーム
  • Taiko: 今年 7 月に Alpha-4 テスト ネットワークに更新され、2024 年初頭にメイン ネットワークが開始される予定です。 Taiko プロジェクトは当初から分散化と互換性を優先しており、現在、分散化プロポーザーを実装した最初で唯一の ZK ロールアップです。

Type2 zkEVM - EVM Ethereum 仮想マシンと完全な互換性

## 建築:

  • EVM Ethereum 仮想マシンと完全な互換性を保つように努めますが、Ethereum と同等ではありません。
  • イーサリアム自体の動作環境と比較して、このタイプの zkEVM は主にブロック構造、ステート ツリーのデータ構造、ガス料金の価格設定ロジック (zk フレンドリー度に応じた再価格設定) およびデータ ストレージにいくつかの変更を加えます。そのため、zk 検証済みのプルーフをより速く、より安価に生成できるようになります。
  • 目標は、既存のアプリケーションの大部分と可能な限り互換性を持たせることですが、一部のアプリケーションには変更が必要です。

## アドバンテージ:

  • ガス料金の価格を変更し (ZK に非フレンドリーなオペコードが多いほど高価になり、その逆も同様です)、ZK に非フレンドリーな Ethereum スタックの一部を削除することで、Type1 よりも検証時間が短縮されます。
  • Type2 は既存のイーサリアム アプリケーションのほとんどと互換性があるため、ほとんどの開発者とユーザーは基本的に摩擦を感じません。
  • Ethereum を直接使用して変更を加えずにクライアントを実行することは不可能ですが、デバッグを通じて既存の EVM デバッグ ツールやその他の開発インフラストラクチャをサポートすることはできます。したがって、イーサリアムの既存の豊かな生態系を引き続き大幅に活用できます。

欠点:

※実行環境の変更による影響は小さいですが、中長期的には開発上の問題が生じる可能性があります。たとえば、一般的に使用されているイーサリアム ハッシュ (Keccak) を他の zk フレンドリーなハッシュ値 (Poseidon など) に置き換えると、(履歴データを含む) Keccak ハッシュ値に依存するアプリケーション (クロスチェーンなど) が発生する可能性があります。一般原則: クロスチェーン ブリッジはリアルタイム通信ではありません。通常、A チェーンで動作を実行します (何が書き込まれたかなど)。対応する動作を B チェーンで実行する必要があります - 何を偽造するか...要はBチェーンにいるということ Aチェーンの履歴データを証明する必要があるため、履歴データを証明するためにKecckを使うことになる) Type2タイプのプロジェクトに移行すると、非互換性の問題が発生する(できない)使用するか、異なる結果が不足します)。

  • すでに実施されているガス料金に対するガス料金の価格設定ルールの変更 (本来の目的は、zk フレンドリーに基づいてオペコードの価格を再設定することで、zk にフレンドリーでないオペコードの使用を減らすように開発者を「指導」することです)イーサリアム上では、イーサリアム上の最適化された契約やガス料金最適化ツールでも問題が発生する可能性があります。
  • これらの変更により、Type1 zkEVM と比較して証明器の効率はさらに向上しましたが、証明時間は Type4 zkEVM と比較して依然として相対的に不利です。

主流プロジェクト:

  • スクロール: プレアルファ テスト ネットワークは 2022 年 9 月に開始され、アルファ テスト ネットワークは 2023 年 2 月に開始され、メイン ネットワークは 2023 年 8 月に開始される予定です。テストネットの開始時は Type3 zkEVM に属していましたが、徐々に EVM の互換性を強化し、Type2 zkEVM に移行しています。
  • Polygon zkEVM (Polygon チームの ZK ロールアップ ソリューション): 2023 年 3 月に、メイン ネットワークのベータ版が開始されます。オンライン化時は Type3 zkEVM に属しますが、現在は Type2 zkEVM に移行中です。

Type3 zkEVM - EVM Ethereum 仮想マシンとほぼ互換性があります

## 建築:

  • Vitalik は 2022 年のブログ記事で、Type3 zkEVM はむしろ移行に近いものであると述べています (互換性を高めることで Type2/1 に移行するか、互換性を下げて zk フレンドリー性を向上させることで Type4 に移行します)。
  • EVM Ethereum 仮想マシンとほぼ互換性があります。互換性をさらに犠牲にすることで、zkEVM の開発が容易になり、zk プルーフがより速く生成されます。
  • zkEVM では実装が困難だった機能 (プリコンパイル機能など) をさらに削除しました。
  • コントラクトコード、メモリ、スタックの扱いには大きな違いがあります。
  • ほとんどの既存のアプリケーションとの互換性を目指します。

## アドバンテージ:

※Type1、Type2のzkEVMと比べてzkに優しく、zk証明の計算時間が短くなります。

  • zkEVM と互換性のある既存のイーサリアム アプリケーションは Type4 よりも多くあります。

欠点:

  • Type1 および Type2 zkEVM と比較して、このタイプは非互換性が高く、より多くの要素が犠牲になります (イーサリアム開発者にとってより不親切です)。このため、Type3 クラスは移行に近いものであり、このカテゴリのソリューションは、互換性を向上させることで Type2 クラス zkEVM に移行する可能性が高くなります。
  • Type4 クラスと比較すると、zkEVM は遅いことがわかります。

主流プロジェクト:

  • スクロール: プレアルファ テスト ネットワークは 2022 年 9 月に開始され、アルファ テスト ネットワークは 2023 年 2 月に開始され、メイン ネットワークは 2023 年 8 月に開始される予定です。 Scroll は 1 年前はこのタイプに属していましたが、現在はイーサリアムの互換性を向上させることにより、Type2 zkEVM に向けて開発されています。
  • Polygon zkEVM (Polygon チームの ZK ロールアップ ソリューション): メインネットのベータ版は 2023 年 3 月に開始されます。オンライン化時は Type3 zkEVM に属しますが、現在は Type2 zkEVM に移行中です。

Type4 zkEVM互換の高級言語

## 建築:

  • このクラスは実際には zkVM (Zero-Knowledge Proof Ethereum Virtual Machine ではなく、Zero-Knowledge Proof Virtual Machine) に属します。 ※プログラミング言語レベルでの互換性として理解できます。一般的なロジックは次のとおりです。開発者はイーサリアムで使い慣れたプログラミング言語 (Solidity など) でスマート コントラクトを書き続けることができます。このタイプのプロジェクトは、コンパイラを使用して、このプログラミング言語をカスタム読み取り可能なコードに変換します (たとえば、Starkware は Warp コンパイラを使用して Solidity コードを Cairo バイトコードに変換します。zkSync は LLVM コンパイラを使用して Solidity コードをカスタム LLVM-IR に変換します) ) カスタム環境 (Starknet の Cairo VM や zkSync の Sync VM など) でコンパイルおよび実行されます。
  • 目標は、低コスト、高効率、そして最大限のゼロ知識証明のフレンドリーさです。

アドバンテージ:

  • 検証時間が非常に速い。
  • 高級言語から直接コンパイルすると、コスト (時間、お金、計算量) を大幅に削減できます。
  • 認証者になるための技術的な敷居を下げ、分散化の度合いを高めます。
  • このタイプの zkEVM は、カスタム仮想マシンを使用してアカウント抽象化をネイティブにサポートできます。 EVM 同等チェーンはアカウント抽象化をネイティブにサポートできないため、イーサリアムの ERC-4337 を通じて実装する必要があります。

欠点:

  • 多くの既存のイーサリアム アプリケーションは、このタイプの zkVM にコピーできません。そうしないと、コピー プロセス中に問題が発生します。たとえば、タイプ 4 タイプの zkVM システム内のコントラクトのアドレスが、 EVM; タイプ 4 タイプ zkEVM 手書き EVM バイトコードをサポートしません (そして多くのアプリケーションは現在、ガス料金を節約するために手書き EVM バイトコードを使用しています); (このタイプがコンパイラを通じて Solidity コード言語レベルと互換性があることは前述しました)、そのコンパイラはサポートします。 Solidity の一部の機能はサポートされていません。
  • Ethereum 開発者は、アプリケーションをそのようなプロジェクトにデプロイしたい場合、より複雑な調整を行う必要があります。したがって、以前のタイプの zkEVM と比較して、このタイプのプロジェクトの開発者にとっての利便性は相対的に低く、エコロジーの発展や技術の反復速度に影響を与える可能性があります。 ※イーサリアムの既存の複雑かつ豊かな生態系やネットワーク効果を活用することは非常に困難です。

主流プロジェクト:

  • zkSync Era (Matter Labs チームによって構築された ZK ロールアップ ソリューション): zkSync Lite (zkSync 1.0) は 2020 年 6 月に発売されます。主に単純な支払い (支払い) と資産交換 (スワップ) シナリオをサポートします。 EVM 互換スマート コントラクトはサポートしていません。zkSync Era (zkSync 2.0) は 2023 年 3 月に開始されます。上記のアーキテクチャを通じて、高級言語レベルでの互換性を実現できます。 zkSync の目標は、EVM との互換性ではなく、ゼロ知識証明生成の速度を上げることです。
  • Starknet (Starkware チームによって構築された ZK ロールアップ ソリューション): メインネットは 2021 年 11 月に開始され、今年 7 月に v0.12.0 に更新されました。それ自体は Type4 zkEVM に属しており、ターゲットは EVM 互換ではありません。しかし現在、Starknet を Type 2.5-3 zkEVM と同様の互換性レベルに到達させることを目的とした Kakarot のようなプロジェクトが存在します。

Vitalik による 2022 年のさまざまな zkEVM の分類に基づいて、各プロジェクトの進捗状況 (2023 年 8 月時点) と組み合わせると、次の図で簡単に要約できます。

主流の ZK ロールアップ プロジェクトの分類

あらゆる種類の zkEVM 主流プロジェクト

主流の ZK ロールアップ プロジェクトの比較表

Vitalik 氏は記事の最後で次のように結論付けています。「個人的には、zkEVM の改善とイーサリアム自体の改善を組み合わせることで、時間の経過とともに (イーサリアムが) ZK-SNARK にとってより友好的なものになり、最終的にはすべてが両方になることを願っています」 Type1クラス。

そのような将来では、ZK ロールアップ (ゼロ知識スケーリング) とイーサリアム チェーン自体の検証の両方に使用できる複数の zkEVM 実装が存在することになります。理論的には、イーサリアムが L1 (第 1 層) で使用するための単一の標準化された zkEVM 仕様を持つ必要はありません。異なるクライアントは異なるプルーフの使用を選択できるため、コード レベルの冗長性の恩恵を受け続けることができます。

しかし、そのような未来が実現するまでには、かなりの時間がかかるだろう。同時に、イーサリアム(セルフ)スケーリングとイーサリアムベースのZKロールアップのさまざまなパスでも多くの革新が見られるでしょう。 」

同時に、市場で主流の zkEVM 分類方法は 2022 年に Vitalik によって開始された分類 (この記事で引用) ですが、他の分類基準も存在することを強調する必要があります。また、どのように分類されても、これらの zkEVM タイプ間に絶対的な区別はありません。これらは互換性と速度の間の単なるトレードオフです: Type1 zkEVM はイーサリアムとの互換性が最も高いですが、(ZK ロールアップ トラックで) 遅いことが判明しています; Type4 zkEVM はイーサリアムとの互換性は低くなりますが、検証は高速です。

もちろん、実際には、zkEVM の互換性と速度だけが、開発者がアプリケーションの展開にどの ZK ロールアップを使用するかを検討する唯一の指標ではありません。次のような、選択に影響を与える可能性のある要因は他にもたくさんあります。

L2 トランザクション順序の分散化: シーケンサー/プロポーザーが分散化されているかどうかに関係なく、これはエコロジー参加者の複雑さとネットワーク全体のセキュリティに直接影響します。

料金: 料金の支払いにどのトークンが使用されるか、パブリック チェーンのトークン経済モデルは何ですか。

プルーフ生成のルール: 証明者に対するインセンティブ メカニズム、プルーフ生成を加速するためのハードウェア標準。

セルフホスティング: L2 で事故が発生した場合でもユーザー資産を L1 で確実に回復できる明確なメカニズムはありますか。

データの可用性: 完全なデータの可用性のコストは当然高くなりますが、一部の ZK ロールアップで採用されている低コストのデータ可用性モードを受け入れてもよいでしょうか。

ただし、ほとんどの汎用 ZK ロールアップ プロジェクトはまだテストネット段階にあるため、上記の要素の多くは水平的に比較できません。

最後に、zkEVM プロジェクトのタイプは静的ではありません。 zkEVM のさまざまなスキームの探索、さらにはイーサリアム自体の改良により、最終的にはすべてのスキームがタイプ 1 zkEVM の効果を達成できる可能性があります。その時点で、ZK ロールアップとイーサリアム チェーン自体の検証の両方のために、複数の zkEVM 実装が存在することになります。

それまでは、イーサリアムと ZK ロールアップをスケーリングするためのさまざまな道で継続的なイノベーションが見られることを楽しみにしましょう。

原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • 共有
コメント
0/400
コメントなし
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)