ブロックチェーン界隈でよく聞く「zkEVM」。
ざっくり言うと――

Ethereum(EVM)と互換性を保ちながら、ZK(ゼロ知識証明)で処理を圧縮するL2技術

です。


まず前提:Ethereumの課題

Ethereumは安全で分散性も高いですが、

  • ガス代が高い
  • トランザクションが遅い
  • スケールしにくい

という課題があります。

そこで登場したのが Layer2(L2)


Layer2の代表例

種類代表例特徴
Optimistic RollupArbitrum / Optimism「不正があれば指摘する」前提
ZK RollupzkSync / Starknet「数学的証明で正しさを保証」

その中でも ZK Rollup × EVM互換 を実現しようとしたのが zkEVM です。


zkEVMの正体

ZKとは?

ZK = Zero-Knowledge Proof(ゼロ知識証明)

簡単に言うと:

「中身を全部公開しなくても、計算が正しいことだけ証明できる技術」

L2では、

  1. 大量のトランザクションをまとめて処理
  2. その計算が正しいことを数学的証明(SNARKなど)で生成
  3. その証明だけをEthereumに提出

という流れになります。

これにより、

  • データ量が激減
  • Ethereum側での検証コストが激減
  • セキュリティはEthereum依存

という構造になります。


EVMとは?

EVM = Ethereum Virtual Machine

Solidityで書いたスマートコントラクトが動く実行環境です。


zkEVMとは?

つまり:

「EVMの動きをゼロ知識証明で再現できるようにしたもの」

です。

これがめちゃくちゃ難しい。

なぜなら:

  • EVMは非常に複雑
  • スタックマシン構造
  • ガス計算
  • メモリ管理
  • opcodeごとの挙動

これ全部をZK回路で再現しないといけないから。