ブロックチェーン界隈でよく聞く「zkEVM」。
ざっくり言うと――
Ethereum(EVM)と互換性を保ちながら、ZK(ゼロ知識証明)で処理を圧縮するL2技術
です。
まず前提:Ethereumの課題
Ethereumは安全で分散性も高いですが、
- ガス代が高い
- トランザクションが遅い
- スケールしにくい
という課題があります。
そこで登場したのが Layer2(L2)。
Layer2の代表例
| 種類 | 代表例 | 特徴 |
|---|---|---|
| Optimistic Rollup | Arbitrum / Optimism | 「不正があれば指摘する」前提 |
| ZK Rollup | zkSync / Starknet | 「数学的証明で正しさを保証」 |
その中でも ZK Rollup × EVM互換 を実現しようとしたのが zkEVM です。
zkEVMの正体
ZKとは?
ZK = Zero-Knowledge Proof(ゼロ知識証明)
簡単に言うと:
「中身を全部公開しなくても、計算が正しいことだけ証明できる技術」
L2では、
- 大量のトランザクションをまとめて処理
- その計算が正しいことを数学的証明(SNARKなど)で生成
- その証明だけをEthereumに提出
という流れになります。
これにより、
- データ量が激減
- Ethereum側での検証コストが激減
- セキュリティはEthereum依存
という構造になります。
EVMとは?
EVM = Ethereum Virtual Machine
Solidityで書いたスマートコントラクトが動く実行環境です。
zkEVMとは?
つまり:
「EVMの動きをゼロ知識証明で再現できるようにしたもの」
です。
これがめちゃくちゃ難しい。
なぜなら:
- EVMは非常に複雑
- スタックマシン構造
- ガス計算
- メモリ管理
- opcodeごとの挙動
これ全部をZK回路で再現しないといけないから。

