最近,很多“ZK-EVM”项目很快相继发出公告。Polygon 开源了他们的 ZK-EVM 的项目,ZKSync 发布了 ZKSync 2.0 的计划,而 Scroll 作为相对的新秀,最近也宣布了他们的 ZK-EVM 项目。还有 Privacy and Scaling Explorations(隐私和扩容探索)团队、Nicolas Liochon et al 的团队,以及 Nethermind 团队致力于将 EVM 的 Solidity 语言转译为 StarkWare 的 ZK 友好语言 Cairo 的一个 Alpha 编译器,这些团队都在为此不断努力,当然,还有一些项目我没有例举出来。
这些项目的核心目标是一致的:利用 ZK-SNARK 技术对以太坊类交易的执行生成加密证明,不是让证明更易于验证以太坊链本身,就是构建(接近)相当于以太坊所提供的一些功能,但比它更具有可扩展性的 ZK-rollups。但这些项目之间也有些细微区别,并且他们在实用性和速度之间所做的权衡也有差异。这篇文章将描述不同 EVM 等效“类型”的分类学,以及每种类型的优势和开销。
概览(图表形式)
类型 1:完全以太坊等效的 ZK-EVM
第一类 ZK-EVM 力图成为完全不妥协的以太坊等效 ZK-EVM 。他们不会更改以太坊系统的任何部分来让它更容易生成证明:不会替换哈希、状态树、交易树、预编译或是共识中的其他逻辑,不管这些部分多么次要。
优势:完美的兼容性
ZK-EVM 的目标在于,能够像目前以太坊验证区块那样 —— 或者至少,验证执行层上面的区块(因此,虽然信标链的共识逻辑没有囊括进来,但是所有执行的交易、智能合约和账户逻辑都包含在内)。
第一类的 ZK-EVM 正是我们最终所需要的,能让以太坊 L1 本身更具有可扩展性。长期来看,在第二类和第三类的 ZK-EVM 中试验得出的对以太坊的修改,可能会被合理引入至以太坊上,但是这种重新架构本身具有复杂性。
第一类 ZK-EVM 对 Rollup 来说也是理想的,因为它们让 Rollup 可以重复利用基础设施。比如,以太坊执行层客户端可以像原来那样生成和处理 Rollup 的区块(至少,一旦实现提款功能,它们可以重新使用该功能来支持 ETH 存入 Rollup),所以区块浏览器、区块生成等工具可以轻松重新使用。
劣势:证明生成时间慢
以太坊原本的设计并不是 ZK 友好的,因此,以太坊协议中的许多