zkEVM:イーサリアムのスケーリングの未来

BlockchainAcademy
2023-05-11 22:33:33
コレクション
zkEVMの核心思想は、ゼロ知識証明を利用してスマートコントラクトを検証および実行することであり、すべてのノードがすべての計算を実行する必要はありません。

著者:Bl ockchain Academy, Geekcartel

zkEVMの背景と意義

イーサリアムは、開発者が分散型アプリケーションやスマートコントラクトを構築できる分散型コンピュータプラットフォームです。しかし、イーサリアムネットワークの制限、特にスループット制限高い手数料により、これらのアプリケーションのスケールとパフォーマンスが制約されています。

これらの問題を解決するために、イーサリアムコミュニティは多くのレイヤー2ソリューションを開発しました。その中にはzkEVMも含まれています。zkEVMは、分散化と安全性を犠牲にすることなく、イーサリアムネットワークのスループットを向上させ、取引手数料を削減するためのゼロ知識証明に基づくイーサリアム仮想マシンです。

zkEVMの核心的なアイデアは、ゼロ知識証明を利用してスマートコントラクトを検証および実行することであり、すべてのノードがすべての計算を実行する必要はありません。代わりに、証明検証者のみが計算を行い、その検証結果をネットワーク内の他のノードにブロードキャストします。これにより、ネットワークの負荷と実行コストを大幅に削減し、ネットワークのスループットとパフォーマンスを向上させることができます。

ゼロ知識証明(ZKP)は、冗長な計算を節約し、チェーン上のスペースを圧縮し、ユーザーのプライバシーを保護する上で重要な応用価値を示しています。一般的なゼロ知識証明の実装方法には、zk-SNARK、zk-STARK、PLONK、Bulletproofsなどがあります。

image

その中で、zk-SNARKは簡潔な非対話型ゼロ知識証明であり、生成された証明データ量を実際の証明データ量よりも小さく圧縮し、証明者は検証者に簡単な情報を送信するだけで検証を完了させることができるため、計算コストと対話回数を節約しつつユーザーのプライバシーを保護する目的を達成します。一方、zk-STARKはスケーラブルで透明なゼロ知識証明であり、zk-SNARKと比較して、開発者が計算とストレージをチェーンに移行してスケーラビリティを向上させることを許可し、計算速度とサイズの面でよりスケーラブルであり、量子コンピュータの攻撃に対しても耐性があります。

zkEVMという新しいソリューション

zkEVMは、取引のプライバシーと完全性を保護しながら、パフォーマンスと分散化を犠牲にする必要がありません。ゼロ知識証明を利用してスマートコントラクトを検証および実行し、証明検証者のみが計算を行うため、すべてのノードがすべての計算を実行する必要がなく、ネットワークの負荷と実行コストを大幅に削減します。さらに、zkEVMの実装は、イーサリアムネットワークの既存のインフラとエコシステムを十分に活用でき、既存のイーサリアムアプリケーションに簡単に統合できます。

zkEVMの基本原理と設計

zkEVMはzkRoll-upの一部であり、これはイーサリアムの第2層拡張ソリューションで、計算と状態ストレージをチェーンに移行してスループットを向上させます。ZK-rollupは、イーサリアムに取引データを提出し、オフチェーン取引バッチの有効性を検証するゼロ知識証明を提供します。

初期のZK-rollupはスマートコントラクトを実行する能力が欠けており、単純なトークン交換と支払いに制限されていました。しかし、EVM互換のゼロ知識仮想マシンの導入に伴い、ZK-rollupsはイーサリアムdAppをサポートし始めました。

zkEVMの基本原理は、ゼロ知識証明を使用してスマートコントラクト実行の結果を検証し、取引のプライバシーと完全性を保証することです。従来のイーサリアムネットワークとは異なり、zkEVMのスマートコントラクトの検証と実行のプロセスは分離されており、検証者はゼロ知識証明を検証するだけで、実際にスマートコントラクトを実行する必要はありません。以下はzkEVMの基本設計です:

1、 ゼロ知識証明生成器:zkEVMのユーザーは、ゼロ知識証明を生成するためにゼロ知識証明生成器を使用する必要があります。この生成器の目的は、取引の正当性と合法性を証明することです。これには、取引の署名、入力、出力などが含まれます。

2、 ゼロ知識証明検証器:zkEVMの検証者は、ユーザーが生成したゼロ知識証明を検証するためにゼロ知識証明検証器を使用する必要があります。検証器は、証明の正当性を検証する必要があります。これには、証明の形式、証明のデータの完全性、証明の論理的正当性などが含まれます。

3、 スマートコントラクト実行器:zkEVMのスマートコントラクト実行器は、オフライン計算プロセスです。計算はオフライン状態で完了できます。実行器は、入力とスマートコントラクトのバイトコードを使用して出力を計算し、その出力を計算結果としてゼロ知識証明生成器に返します。

4、 プライバシー保護:zkEVMはゼロ知識証明を使用して取引のプライバシーと完全性を保護します。証明は計算の正当性を証明するだけで、入力と出力の詳細情報を公開する必要はありません。

この設計により、zkEVMは取引のプライバシーと完全性を効果的に保護し、高効率とスケーラビリティを持つことができます。分散化とパフォーマンスを損なうことなく、イーサリアムネットワークにより高いスループット、低い取引手数料、迅速な確認時間をもたらします。

zkEVMの技術実装

zkEVMのイーサリアム第2層ネットワークにおける技術実装には、取引検証とデータ検証が含まれます。

image

取引検証

取引検証とは、取引の正当性と合法性を検証することを指し、取引の署名、入力、出力などを検証します。zkEVMでは、取引検証はゼロ知識証明技術を使用して実現され、具体的な実装プロセスは以下の通りです:

(1)証明の生成:zkEVMユーザーはzk-SNARKsアルゴリズムを使用して取引のゼロ知識証明を生成し、取引の正当性と合法性を証明します。証明には通常、取引の署名、入力、出力などが含まれます。

(2)証明の検証:zkEVMの検証者は検証器を使用してユーザーが生成したゼロ知識証明を検証し、証明の正当性を確認します。証明の検証プロセスでは、検証者は証明の正当性を確認するだけで、取引の具体的な情報を公開する必要がなく、取引のプライバシーを保護します。また、zkEVMはゼロ知識証明技術を使用しているため、検証者は取引の入力と出力情報を取得することもできません。

データ検証

データ検証とは、イーサリアム第2層ネットワークに保存されているデータの正当性と完全性を検証することを指し、ブロックヘッダー、取引状態ツリー、ストレージ状態ツリーなどを検証します。zkEVMでは、データ検証はマークルツリー構造を使用して実現され、具体的な実装プロセスは以下の通りです:

(1)マークルツリーの構築:zkEVMはイーサリアム第2層ネットワークでマークルツリーに基づくデータストレージ構造を採用し、取引と状態情報を葉ノードとしてエンコードし、その後ツリー内でマークルツリーを生成および保存し、取引と状態情報の迅速なクエリと検証を実現します。

(2)マークルツリーの検証:マークルツリーの検証プロセスでは、zkEVMはマークルツリーのルートハッシュと葉ノードハッシュの正当性を検証する必要があります。マークルツリーは高効率の検証性能を持っているため、zkEVMはイーサリアム第2層ネットワークに保存されているデータの正当性と完全性を迅速に検証できます。

取引検証とデータ検証を通じて、zkEVMはイーサリアム第2層ネットワークにおける取引の正当性、プライバシー、データの完全性を保証し、高効率で分散型かつスケーラブルなイーサリアム第2層ネットワークを実現します。

zkEVMの等価性

zkEVMはイーサリアムメインネットと同じ取引実行環境を模倣できますが、そのEVM等価レベルは従来のEVMとは異なり、主に言語レベル等価バイトコードレベル等価コンセンサスレベル等価完全等価の4つのレベルに分かれます。

image

言語レベル等価のzkEVMは、EVMフレンドリーなプログラミング言語(Solidityなど)をゼロ知識証明生成のために最適化されたカスタム言語に翻訳できるため、EVMとの言語レベルの互換性を実現できます。しかし、このタイプのzkEVMは、ユーザーやスマートコントラクト開発者にEVMとのインタラクションと同じ体験を提供する面で最も制限されています。

バイトコードレベル等価のzkEVMは、ZK Rollupsがより高級な言語(Solidityなど)からコンパイルされたEVMバイトコードを解釈し、EVMと同じ高級プログラミング言語と低級バイトコードを模倣する必要があります。これにより、より深い互換性が実現されます。このタイプのzkEVMは構築がより複雑であり、より高度なエンジニアリング設計が必要ですが、EVMベースのアプリケーションやツールとの互換性があります。

コンセンサスレベル等価のzkEVMは、EVMに対して最高のネイティブ互換性を実現できます。そのアイデアは、zkEVMによって生成された暗号証明が、いかなる認証なしにEVMによって受け入れられることです。

完全等価のzkEVMは、EVMとすべての面で完全に互換性が必要であり、通常は非効率的で高価なZKシステムの作成につながります。そのため、通常はコストと効率の間でトレードオフが必要です。現在、バイトコード互換のzkEVMが2つ存在し、それぞれPolygon zkEVMとScroll zkEVMです。これらは異なる程度でバイトコードレベルの等価性を実現していますが、時間の経過とともに、これらの実装は完全な互換性に向けて努力しています。

zkEVMの構造

zkEVMはゼロ知識証明に基づくスケーラビリティソリューションであり、スマートコントラクトの実行と検証をL2チェーンに移行することで、より高い取引スループットと低い取引コストを実現します。zkEVMは3つの部分で構成されています:実行環境、証明回路、検証者コントラクト。

実行環境はイーサリアム仮想マシン(EVM)に似ており、zkEVM内でスマートコントラクトを実行し、初期状態と現在の取引に基づいて新しい最終状態を計算します。

証明回路はゼロ知識証明を生成し、実行環境内で取引の有効性を検証します。証明生成プロセスは、前の状態、取引入力、後の状態情報を入力として使用して完了します。その後、証明者は特定の状態変換の有効性を簡潔に証明します。

image

検証者コントラクトは、提出された有効性証明を受け取り、入力と出力が正しく計算されていることを確認します。これはL1チェーン上にデプロイされ、zk-rollupsと統合され、zkEVMの安全性と信頼性を確保します。

zkEVMのオペコードは、EVM互換のzk-rollups内でプログラムを実行するための低級マシン命令です。EVMと同様に、高級言語で書かれたコントラクトは、仮想マシンが解釈できる低級言語(バイトコード)にコンパイルされる必要があります。プログラムが仮想マシンにデプロイされるとき、そのバイトコードはプログラムを実行するために必要なオペコードを指定します。

オペコードをゼロ知識証明回路で使用するのに適したものにするために、2つの一般的な方法があります。1つ目の方法は、ネイティブEVMオペコードのためにゼロ知識回路を構築することであり、これは算術回路内でEVM命令セットをすべて実装する必要があり、複雑で時間のかかる作業です。2つ目の方法は、ゼロ知識証明計算のために新しい言語とカスタムオペコードを作成することであり、開発者は新しい言語でコントラクトを直接記述するか、SolidityソースコードをカスタムのzkEVMオペコードにコンパイルします。2つ目の方法は通常、実装が容易ですが、開発者が既存のイーサリアムインフラとリソースにアクセスできなくなる可能性があります。

zkEVMの利点

zkEVMはゼロ知識証明技術に基づくイーサリアム第2層ネットワークのプライバシー保護技術であり、以下の利点と強みがあります:

1、 高度なプライバシー保護 zkEVMはゼロ知識証明技術を採用しており、高度なプライバシー保護を実現できます。具体的には、zkEVMはゼロ知識証明技術を通じて以下の2つの側面のプライバシー保護を実現しています:

2、 取引プライバシー保護:zkEVMは取引情報をチェーン外で処理し、取引の検証結果のみをチェーン上に保存することで、取引のプライバシーを保護します。

3、 データプライバシー保護:zkEVMはすべてのデータを暗号化処理し、チェーン外のzkSNARKに保存し、データのハッシュ値のみをチェーン上に保存することで、データのプライバシーを保護します。

4、 高度なセキュリティ zkEVMはゼロ知識証明技術を採用しており、高度なセキュリティを実現できます。具体的には、zkEVMはzkSNARKを使用して取引とデータを検証し、ホスティングモードを使用してデータと秘密鍵を管理することで、取引とデータの安全性を保証します。また、zkEVMは多者安全計算技術と鍵の隔離技術を使用して、攻撃者の攻撃やデータ漏洩を防ぎます。

5、 高効率な取引速度とスループット:zkEVMは取引の計算とデータストレージをチェーン外に移動させることで、取引の速度とスループットを向上させます。具体的には、zkEVMは分散計算とストレージ技術を採用し、取引の計算とデータストレージを複数のノードで行い、zkSNARK技術を使用して高効率な検証と認証を実現し、高効率な取引処理を実現します。

6、 高度な互換性とスケーラビリティ:プロトコルルールに従い、すべての検証ノードはイーサリアム仮想マシン内ですべての計算を再実行する必要があり、イーサリアムノードがプログラムの正当性を独立して検証できるようにします。しかし、この方法はイーサリアムネットワークのスケーラビリティを制限し、約15〜20の取引しか処理できません。

EVM互換のZK-rollupは、イーサリアムのスループット問題を解決でき、ネットワークの安全性を損なうことはありません。他のスケーリングプロトコルと同様に、ZK-rollupsはイーサリアムのコンセンサスプロトコルルールの負担を受けず、実行速度を最適化できます。一部の推定によれば、ZK-rollupsは毎秒約2000件の取引を処理でき、イーサリアムの高額な手数料を発生させることはありません。

7、 より迅速な確定性と資本効率:ZK-rollupはop-rollupに対してもう一つの利点があり、それはより迅速な最終確定性です。ブロックチェーン上での確定性は、取引が不可逆的になるために必要な時間を指し、ネットワーク参加者が取引の有効性を証明する客観的な証拠を持っている場合にのみ最終的に確定します。

ZK-rollupsを使用すると、zkEVM内で実行される取引は通常、イーサリアムに公開された後すぐに完了します。各取引バッチには即時に検証可能な有効性証明が付随しているため、イーサリアムメインチェーンは迅速に状態更新を適用できます。

これに対して、オプティミスティックロールアップは証明がない場合にのみVMトランザクションを公開するため、トランザクションが最終的に確定するには質疑期間を経る必要があります。質疑期間は一般に1〜2週間であり、この期間中、誰でも取引がイーサリアムに提出された後にそれに異議を唱えることができます。遅い最終確定性はユーザー体験に悪影響を及ぼします。たとえば、遅延期間が満了する前に、ユーザーはロールアップから資産を引き出すことができません。流動性提供者がこの問題を解決する可能性はありますが、引き出しが高価値の資産やNFTを含む場合、無効になる可能性があります。

対照的に、zkEVMは上記の問題を抱えていません。より迅速な最終確定性は、特にL1とL2の間で資産をシームレスに移動する必要があるNFTトレーダー、DeFi投資家、またはアービトラージトレーダーなどの高度なユーザーに非常に適しています。

zkEVMの難点

zkEVMの構築における主な困難は、EVM仮想マシンの設計の意図がゼロ知識計算を考慮していないことから来ています。このため、いくつかの特性が証明回路の設計にとってあまり友好的ではなく、主に以下の4つの側面が含まれます:

  • 特殊なオペコード
  • EVMはプログラムの実行やエラーハンドリングなどの操作で特殊なオペコード(CALL、DELEGATECALL、REVERT、INVALIDなど)を使用しており、これらのオペコードは証明回路の設計をより複雑にします。
  • スタックベースのアーキテクチャ
  • EVMが使用するスタックベースの構造は、レジスタベースの構造よりも簡単ですが、証明計算の難易度を上げます。このため、ZkSyncやStarkWareのStarkNetなどの著名なzkVMは、zkEVMを実現するためにレジスタベースのモデルを選択しています。
  • ストレージコスト
  • EVMのストレージレイアウトはKeccak関数とMerkle Patricia Trieに依存しており、これらの証明コストは非常に高いです。この問題を回避するために、ZkSyncなどのいくつかのzkVMはKeccak 256関数を置き換えることで解決しようとしていますが、これにより既存のイーサリアムツールやインフラとの互換性が損なわれる可能性があります。
  • 証明コスト
  • 上記の問題が解決されても、zkEVMの構築には証明生成プロセスの処理が必要であり、ゼロ知識証明の生成には専用のハードウェアと多くの時間、金銭、労力が必要です。

これらの困難な要因は、EVM互換のzkEVMの構築を妨げています。しかし、ゼロ知識技術の継続的な突破により、これらの問題がもたらす影響をある程度緩和できる可能性があり、zkEVMソリューションへの関心が再燃しています。

zkEVM トラック プロジェクト

以下は、さまざまなタイプのzkEVMプロトコルとその動作原理の比較です。

Polygon zkEVM

Polygon Hermezは、Polygon ZK-rollupに基づくゼロ知識仮想マシンで、EVM互換性をサポートすることを目的としています。EVMバイトコードをマイクロオペコードにコンパイルし、uVMで実行し、SNARKおよびSTARK証明を使用してプログラム実行の正当性を検証します。Polygon Hermez zkEVMはSTARK証明回路を使用して状態変換の有効性証明を生成し、それをイーサリアムに提出して検証します。STARKとSNARK証明の使用を組み合わせることで、STARK証明をより迅速に生成し、SNARK証明の検証コストを低く抑えることができます。

image

zkSync zkEVM

zkSyncは、EVM互換のZK-rollupで、Matter Labsによって開発およびサポートされています。Solidityで書かれたコントラクトコードを中間言語Yulにコンパイルし、それをzkSyncのzkEVM用に設計されたカスタムで回路互換のバイトコードセットに再コンパイルします。Polygon Hermezと同様に、zkSync zkEVMはバイトコードレベルではなく言語レベルでEVM互換性を実現しています。たとえば、zkSyncのzkEVMは従来の加算オペコード(ADDMOD、SMOD、MULMOD)をサポートしていません。

image

Scroll zkEVM

Scrollは、現在開発中の新しいゼロ知識EVM実装です。Scrollチームは、各EVMオペコードのためにゼロ知識回路を設計する計画です。これにより、開発者はScroll上にイーサリアムネイティブのスマートコントラクトEVMをデプロイでき、基盤となるEVMバイトコードを変更する必要がありません。さらに、Scroll zkEVMは、ストレージの正当性を検証するために暗号累積器を使用し、バイトコードと実行トレースをリンクさせる回路を提供して、計算が元のバイトコードと一致しているかを検証します。

image

ZKハードウェアアクセラレーション

ZKPの生成速度は遅く高価ですが、FPGAやASICなどの特殊ハードウェアの普及により、その効率は大幅に向上します。プライバシー計算の需要が高まる中で、ZKPの文の複雑性はさらに増加し、専用ハードウェアを使用して証明生成速度を向上させる必要があります。これにより、完全なZKマイニングと証明の産業が出現し、アマチュアが自分のCPUで証明を生成したり、GPUやFPGAを使用したりすることができるようになります。

ZKPの性能ボトルネックは、主に数字(ドメイン要素または群要素)のベクトル積とFFT計算に集中しています。ZKPの性能を向上させるために、以下の措置を講じることができます:

1、数字ベクトルの積計算を最適化します。より効率的なアルゴリズムと並列計算を使用してベクトル積の計算を加速し、証明生成に必要な時間を短縮します。さらに、より小さなドメインを使用して数字ベクトルのサイズを減少させ、計算時間をさらに短縮できます。

2、FFT計算を最適化します。より効率的なFFTアルゴリズムを使用して計算を加速し、分散計算を使用して計算負担を分担し、証明生成に必要な時間を短縮します。また、より小さなドメインと短いFFT周期を使用して計算時間を短縮できます。

3、証明システムの実装を最適化します。より効率的なコンパイラと最適化ツールを使用して、より効率的なコードを生成し、証明生成に必要な時間を短縮します。

4、ハードウェアとソフトウェア環境を最適化します。より高速なコンピュータと最適化されたオペレーティングシステム、コンパイラ、ライブラリを使用して、証明生成の性能を向上させます。

イーサリアムが合併する前に、約2700万台のGPUがそのネットワークで稼働しており、5月中にはピークで1.13Pの計算能力に達しました。イーサリアムの合併に伴い、これらの計算能力はETCなどのフォークチェーンに切り替わります。市場に存在する膨大なFilecoin(FIL)、ARなどの計算デバイスに加え、ZK証明計算はマイニングハードウェアに新たな用途を提供するかもしれません。

image

ZKPの証明速度に影響を与える主な要因は、証明システム、証明対象回路の規模、アルゴリズムのソフトウェアおよびハードウェアの最適化の3つの次元です。

証明システムについて、市場で主流のZK-SNARKアルゴリズム(Groth16、Galois2、PLONK)は、ポリノミアルコミットメントを生成するために楕円曲線(EC)アルゴリズムを使用し、大数点積(MSM)操作を含むため、証明プロセスの時間が長くなるボトルネックとなります。それに対して、FRIに基づくアルゴリズム(ZK-Starkなど)は、ハッシュ関数を使用してポリノミアルコミットメントを生成し、ECアルゴリズムを使用しないため、MSM演算が不要です。

証明システムは基盤であり、証明対象回路の規模もハードウェア最適化の核心的な要求の一つです。たとえば、zkEVMはネイティブイーサリアムとの互換性が異なるため、その回路の複雑さも異なります。たとえば、ZksyncやStarkwareは、ネイティブイーサリアムとは異なる仮想マシンを構築し、イーサリアムネイティブのコードがzkで処理するのに適さない問題を回避し、回路の複雑さを縮小しました。一方、ScrollやHermezなどのプロジェクトは、基盤となるzkEVMとの互換性を目指しているため、その回路設計はより複雑です。ハードウェアアクセラレーションは、より複雑な回路設計の要求がより緊急であるため、これも一定の変動を伴う問題であり、ZK-EVMにも同様です。

要するに、ハードウェアアクセラレーションはZKPスケーリングソリューションの実現の鍵の一つです。ハードウェアアクセラレーションの分野では、モースの法則がzkハードウェアアクセラレーションの分野に適用されることが期待されており、これにより証明速度が大幅に向上し、スケーリングソリューションの発展が加速されるでしょう。さらに、ハードウェアzkアクセラレーションの分野は、新しいハードウェアアクセラレーション技術やビジネスモデルに機会と挑戦を提供し、将来的には注目される分野となるでしょう。

Blockchain Academyについて

Blockchain AcademyはTalentreの教育プラットフォームであり、次世代Web3.0人材の育成と発展を目指す非営利組織です。香港科技大学、香港理工大学、香港大学、香港中文大学などの著名大学や、BNB、Fenbushi Capital、Aptosなどの業界のリーダーからの支援を受けており、Blockchain Academyはアジア最大のWeb3.0 GenZ教育プラットフォームとコミュニティです。学員は35以上の大学から集まり、学院は110,000人以上のGenZ個人に影響を与え、プラットフォームリソースを活用してWeb3.0に関連する知識とスキルを共有し、次の1億人をWeb3.0に導くことを目指しています。Blockchain Academyコミュニティに参加し、共にWeb3.0の世界を築きましょう。

Geek Cartelについて

Geekcartelは、初期のWeb3プロジェクトへの投資に特化したベンチャーキャピタル機関です。私たちは情熱と専門知識を持つギークの集まりであり、チームは異なる専門の暗号背景を持っています。私たちの使命は、新興企業に価値を追加し、技術と運営の実際的な支援を提供することであり、これには技術ソリューション、安全サービス、資金調達戦略、グローバルマーケティングなどが含まれます。

ChainCatcherは、広大な読者の皆様に対し、ブロックチェーンを理性的に見るよう呼びかけ、リスク意識を向上させ、各種仮想トークンの発行や投機に注意することを提唱します。当サイト内の全てのコンテンツは市場情報や関係者の見解であり、何らかの投資助言として扱われるものではありません。万が一不適切な内容が含まれていた場合は「通報」することができます。私たちは迅速に対処いたします。
チェーンキャッチャー イノベーターとともにWeb3の世界を構築する