重要なポイント
zkEVMは、ゼロ知識証明(ZKP)技術に互換性のある方法でスマートコントラクトを実行できるゼロ知識Ethereum仮想マシンです。
zkEVMは、Ethereum上のzk-rollupsを拡張して、単純なトークン転送だけでなく、分散型アプリケーション(DApps)をサポートします。
開発者は、ゼロ知識暗号を学ぶ必要なしに、既存のEthereum DAppやスマートコントラクトをzkEVMに移植できます。
zkEVMは、EVM互換性とZK証明効率のトレードオフに基づいて4つの主要なタイプに分類されます。
はじめに
Ethereumの開発者は、2014年にネットワークを提案したとき、ゼロ知識証明(ZKP)を考慮していませんでした。その後の数年間で、ZKP技術はブロックチェーン分野で大きな勢いを得ており、チームはEthereumにZKP機能を持ち込むために懸命に取り組んできました。
その結果、zkEVMが誕生しました。これは、Ethereumスマートコントラクトを実行し、正確性の暗号的証明を生成できる仮想マシンの一種です。この記事では、zkEVMとは何か、どのように機能するのか、そしてどのネットワークがこの技術を実践しているのかを説明します。
zk-rollupとは何か?
ロールアップは、Ethereumメインネットのオフチェーンで多くの取引を処理し、その後、圧縮された要約を単一の取引としてEthereumに提出するレイヤー2のスケーリングソリューションです。このアプローチは、すべての取引をレイヤー1で実行するのに比べてスループットを増加させ、コストを削減します。
zk-rollupは、すべてのオフチェーン取引が正しく処理されたことを証明するためにZKP技術を使用するロールアップです。すべての取引データを公開するのではなく、有効性証明と状態更新を一緒に提出します。楽観的ロールアップは、暗号的保証の代わりに詐欺証明や経済的インセンティブに依存する異なるアプローチを取ります。
初期のzk-rollupは、トークン転送などの単純な操作に限定されていました。zkEVMはこれを拡張し、スマートコントラクトの実行の全範囲をカバーし、zk-rollupを一般的なDAppに適したものにします。
EVMとは何ですか?
Ethereum仮想マシン(EVM)は、スマートコントラクトが実行されるEthereum内部の実行環境です。スマートコントラクトが実行されるたびに、EVMはある状態から別の状態に遷移します。ネットワーク上のすべてのノードがこの状態に同意する必要があります。
EVMは、低水準の命令であるオペコードのセットによって定義されています。開発者がSolidityやVyperでコントラクトを書くと、それらのコントラクトはEVMが解釈できるEVMバイトコードにコンパイルされます。この共有スタンダードが、Ethereumのスマートコントラクトを互換性のあるチェーン間でポータブルにします。
zkEVMはどのように機能しますか?
zkEVMは、zk-rollup内にEthereum環境を複製します。初期状態を取り、EVMルールに従って取引のバッチを処理し、新しい状態と有効性証明を出力します。Ethereumメインネット上の検証コントラクトは、この証明を再実行せずにチェックします。
このアプローチにより、すべての状態遷移の正確性が暗号的に保証され、単に仮定されることはありません。開発者は、メインネットと同じルールに従っているため、ほとんど修正なしで既存のEthereumスマートコントラクトをzkEVMに展開できます。
EVM実行のためのZK証明を生成するのは計算負荷が高いです。最近のハードウェアアクセラレーションとアルゴリズムの改善により、多くの実装で証明生成時間が大幅に短縮され、以前は数時間かかっていたものが、いくつかの設定では数分または数秒に短縮されていますが、これはネットワークやバッチサイズによって異なります。
EVMの互換性とEVMの同等性
EVMの互換性とは、ブロックチェーンが最小限の変更でSolidityベースのコントラクトを展開して実行できることを意味します。多くのチェーン(BNB Smart Chainを含む)はEVM互換です。開発者は通常、Ethereumコントラクトをコピーして、わずかな調整で展開できます。
EVMの互換性はさらに進化しています。これは、zkEVMが技術的にEthereumと全く同じ動作をすることを意味し、既存のツールやデバッグ環境、開発者インフラが変更なしで機能します。zkEVMが完全な互換性に近いほど、移行が容易になりますが、効率的なZK証明を生成するのは難しくなります。
さまざまなタイプのzkEVM
ブログ記事で、Ethereumの共同創設者であるヴィタリック・ブテリンは、ZK効率とEVM互換性のトレードオフに基づいてzkEVMを4つのタイプに分類しました。
タイプ1: コンセンサスレベルの互換性
タイプ1のzkEVMは、コンセンサスレベルでEthereumと完全に互換性があります。Ethereumのブロックを直接検証できます。これにより、最も互換性のあるタイプですが、ZK証明の生成は最も計算負荷が高くなります。これの一例は、2024年半ばに立ち上がったTaikoのタイプ1 zkEVMメインネットです。
タイプ2: バイトコードレベルの互換性
タイプ2のzkEVMはEVMと完全に互換性がありますが、状態ツリーなどの内部データ構造がEthereumとは異なります。すべての既存のEthereum DAppやツールをサポートしています。証明時間はタイプ1に比べて改善されていますが、依然として重要です。ScrollやPolygon zkEVMがタイプ2ネットワークの例です。
タイプ2.5: ガスコストが調整されたタイプ2
タイプ2.5はタイプ2に似ていますが、証明が高コストな操作のガスコストを調整します。これにより、完全な互換性には小さな影響を与えつつ、証明者の効率が向上します。
タイプ3: EVMに近い互換性
タイプ3のzkEVMは、より良いZKパフォーマンスのために一部の互換性を犠牲にします。効率的に証明するのが難しい特定のプレコンパイルやその他のEVM機能を削除する場合があります。一部のDAppは展開に小さな修正が必要になるかもしれません。
タイプ4: 高水準言語の互換性
タイプ4のzkEVMは、高水準言語(例:Solidity)をZKフレンドリーなバイトコードに直接コンパイルし、EVMバイトコードを完全にバイパスします。これにより、最も良い証明パフォーマンスが得られますが、互換性は最低になります。zkSync Eraはタイプ4アプローチを使用しています。
FAQ
zkEVMとは何ですか?
zkEVMとは、zk-rollup内でスマートコントラクトを処理し、すべての取引が正しく実行されたことを示す暗号的証明を生成するゼロ知識Ethereum仮想マシンです。これにより、開発者は既存のEthereumコードを利用しつつ、ZKP技術の追加的なセキュリティとスケーラビリティの利点を享受できます。
zkEVMは通常のzk-rollupと何が違うのですか?
初期のzk-rollupは、トークン転送のような単純な操作のみをサポートしていました。zkEVMは、EVM命令セット全体に拡張され、複雑なDeFiプロトコルやNFTプラットフォームを含む任意のEthereumスマートコントラクトが最小限の修正でzkEVM上で実行できます。
zkEVMの4つのタイプは何ですか?
ヴィタリック・ブテリンは4つのタイプを定義しました。タイプ1はコンセンサスレベルでEthereumと完全に互換性があります。タイプ2は完全にEVM互換ですが、一部の内部データ構造が異なります。タイプ3は、より良いZKパフォーマンスのために一部の互換性を犠牲にします。タイプ4は高水準言語を直接ZKフレンドリーなバイトコードにコンパイルし、最高の証明効率を提供します。
zkEVMはEthereumをより安全にしますか?
zkEVMは、正しい実行を保証するために経済的ゲーム理論に依存するのではなく、暗号的な有効性証明を使用します。これは、各バッチの正確性が数学的に検証可能であることを意味し、詐欺をキャッチするために挑戦者に依存するシステムと比較してセキュリティの保証を強化できます。しかし、すべてのブロックチェーンシステムと同様に、zkEVMにはスマートコントラクトリスクやその他の技術的リスクが伴い、ユーザーは独自に調査する必要があります。
まとめ
zkEVMは、ZKP暗号のセキュリティと完全なスマートコントラクト互換性を組み合わせ、高スループットと低コストでDAppsを実行できるようにしつつ、Ethereum規模のセキュリティ保証を犠牲にしません。異なるタイプを理解し、技術がWeb2のユースケースとどのように互換性があるかを理解する価値があります。
さらなる読み物
ゼロ知識証明とは何か、そしてそれがブロックチェーンに与える影響
楽観的ロールアップとゼロ知識ロールアップ: 違いは何か?
ゼロ知識証明でクリプトの透明性を向上させる
zk-rollupとは何か?レイヤー2のスケーラビリティ技術
ブロックチェーンレイヤー1とレイヤー2のスケーリングソリューション
免責事項: このコンテンツは、一般情報および教育目的で、「現状有姿」で提供されています。金融、法務またはその他の専門的アドバイスとして解釈されるべきではなく、特定の製品やサービスの購入を推奨することを意図していません。適切な専門家からのアドバイスを求めるべきです。第三者の寄稿によるコンテンツでは、表明された見解は第三者の寄稿者に属し、必ずしもBinance Academyの見解を反映するものではありません。デジタル資産の価格は変動が激しいです。投資の価値は下がることも上がることもあり、投資した金額が戻ってこない可能性があります。投資決定は自己責任で行ってください。Binance Academyは、あなたが被る損失に対して責任を負いません。詳細については、利用規約、リスク警告およびBinance Academyの規約を参照してください。
