# 什么是ZK-EVM ?zk-EVM各个类型解读

By [kosen](https://paragraph.com/@2168.ethscriptions) · 2023-08-27

---

### 1、什么是ZK-EVM？

ZK-EVM可以简单的理解为一种兼容EVM的zk\_rollups。EVM是一种以太坊区块链上运行智能合约和账户的必须环境。zkRollup则是一种利用零知识证明技术的以太坊二层扩容方案，它可以提高以太坊的吞吐量，降低交易费并保证安全性和去中心化。而zk-evm，则是一种可以与零知识证明相容并且利用零知识证明技术的以太坊虚拟机。其目标是为开发和用户提供“等效以太坊”的使用和开发体验，特别是开发人员可以像在以太坊上一样在zk-evm上构建应用。

但由于EVM 中一些特定操作码进行零知识证明的难度较高，导致市面上出现了不同相容程度的ZK-EVM，有些是与EVM操作码集完全等效的，有些则进行了部分修改，还有的则采用完全不同的位元组码。

### 2、ZK-EVM的类型

由于一开始以太坊设计并没有考虑到ZK兼容的 友好性，因此理论上，越接近以太坊设计，生成ZK 证明就越困难且耗时。2022 年8 月，以太坊创办人Vitalik 曾发表文章 [「听Vitalik 解读不同型别ZK-EVM 的未来」](https://vitalik.ca/general/2022/08/04/zkevm.html)，对不同ZK-EVM 进行了分类，可以划分一下4种（4.5种）类型，基本涵盖了市面上的zk-evm方案。

![](https://storage.googleapis.com/papyrus_images/6c5f7204ff7482204f978282e73feb398b31c26da9832906d56745dca894b453.png)

（1）类型1：与以太坊完全等效，它们不会更改以太坊系统的任何部分，以使其更易于生成证明。优点是易于生成证明，也是最接近以太坊的一种类型，缺点是ZK 证明需要很长时间（几个小时）才能生成。【属于这一类型的项目：Taiko】

（2）类型2：与EVM完全等效，此类型力求与 EVM 完全等效，但不完全与以太坊等效。更改了一些不同的内部表示形式，比如链状态的储存方式，以加速ZK 证明的生成时间。优点是vm级别完美等价且对生成证明的时间有所提升，缺点是虽有改进但生成证明的时间，还是不达理想。【目前市面上没有这种类型，是Polygon、Linea 和Scroll的努力方向】

（3）类型2.5：介于类型2和类型3之间，这种型别完全与EVM 等效，只不过增加了某类操作的Gas 成本，以「大幅缩短最坏情况下的证明时间」。【目前市面上没有这种类型，是Kakarot的努力方向】

（4）类型3：几乎与EVM等效，但在精确等效方面做出了一些牺牲，以进一步缩短证明时间并使 EVM 更易于开发。优点是更容易构建，验证时间更快，缺点是EVM的兼容性还不够。【属于这一类型的项目：Polygon、Linea 和Scroll】

（5）类型4：高级语言等效，意味着它们都接受用Solidity 编写的智能合约，并将其编译为明确设计为 ZK-SNARK 友好的某种语言。优点是证明的时间非常快，缺点是不兼容是几种类型中最多的。【属于这一类型的项目：zkSync、 StarkNet】

![](https://storage.googleapis.com/papyrus_images/1fde077d762520ece5c1486c6487528cf8b438a5b248af344c7161e21a3bfb9d.png)

---

*Originally published on [kosen](https://paragraph.com/@2168.ethscriptions/zk-evm-zk-evm)*
