文章主要介绍了zkEVM的概念,它是为特定ZK Rollup网络量身定制的EVM实现,旨在支持零知识证明生成和智能合约执行。文章还讨论了zkEVM的不同类型,包括兼容性优先型和速度优先型,并介绍了Polygon zkEVM、zkSync Era和Scroll等项目。
在过去的几年里,rollup已经成为解决 Layer 1 网络自 区块链 技术诞生以来一直面临的可扩展性问题最有希望的解决方案之一。
正如我们已经在这些页面上讨论过的,rollup有两种类型——乐观rollup和零知识rollup(zk rollup)。后者尤其受到了一些知名人士的认可,包括以太坊的创建者 Vitalik Buterin 本人,他说 zk rollup 在长期内将胜过乐观rollup。也就是说,乐观rollup到目前为止已经表明它们更适合黄金时段,通过为当今两个最有希望的 Layer 2 扩展平台提供动力而抢占了先机——Optimism和Arbitrum。那这是为什么呢?
好吧,虽然 zk rollup 具有许多理想的属性,但它们也有一个显着的缺点——它们不支持以太坊虚拟机(EVM),这意味着它们无法执行智能合约。对于一种基于以太坊的技术来说,这是一个非常重要的限制,因为智能合约是以太坊平台上 dApp 开发的核心。
幸运的是,我们已经接近解决这个问题了,有几个项目正在致力于实现以太坊虚拟机。这项新技术被称为 zkEVM,预计将释放零知识 rollup 的全部潜力。
“零知识以太坊虚拟机”,简称 zkEVM,本质上是以太坊虚拟机的实现,它是为特定 zk rollup 网络的规范量身定制的。换句话说,zkEVM 旨在支持零知识生成和智能合约执行。最终,目标是确保 zk rollup 可以处理在以太坊主网上发生的任何交易,并且可以支持 L1 以太坊 dApp,尽管,正如我们将在下面看到的,目前一些项目选择优先考虑性能而不是与现有以太坊基础设施的兼容性。
虽然所有 zkEVM 实现的主要目标是相同的,但基于每个项目选择优先考虑与以太坊的兼容性还是速度,存在不同的方法。
zkEVM 实现追求与以太坊的兼容性有一个非常好的理由——它实际上确保了 rollup 开发人员可以重复使用许多现有的基础设施和工具,从而实现平稳的开发。
这种方法的主要缺点是,通过如此紧密地模拟以太坊,这些类型的 zkEVM 不可避免地会继承源于协议设计的局限性。具体来说,以太坊在设计时从未考虑过对 zk-rollup 的原生支持,因此生成零知识证明需要大量的计算并花费大量时间。当然,优先考虑与以太坊兼容性的 zkEVM 不会对缓解这些限制做出重大改变。
这并不是说没有任何改变,因为有不同的方法来追求这种兼容性。一些 zkEVM 的目标是完全的以太坊等效性,并且不更改系统的任何部分。其他 zkEVM 的目标是完美的 EVM 等效性,这意味着它们按原样实现以太坊虚拟机,但对一些数据结构(如负责存储以太坊状态的数据结构)进行了一些修改。这些更改导致证明生成时间的一些细微改进,并且足够微妙,可以允许大多数以太坊应用程序在 zkEVM rollup 上运行,只需进行少量修改。
还有另一种方法可以在不显着降低兼容性的情况下缩短证明者时间。该方法要求提高对于zk证明特别困难的操作的gas价格,从而激励优化。Vitalik Buterin 将此类 zkEVM 称为 2.5 型。
另一方面,zkEVM 正在共同努力优化更短的证明者时间(证明生成时间)。在这里,我们也有不同的方法。一方面,我们有一些项目仍然重视兼容性,但愿意牺牲完整的 EVM 等效性来换取更快的证明者时间。为此,他们删除了预编译等难以进行 zk 证明的操作。当然,与我们已经提到的类型相比,这会导致更大的 EVM 不兼容性。虽然这里的目标是允许大多数以太坊应用程序进行少量更改即可工作,但这并非总是可能的,特别是当相关应用程序使用预编译或其他已删除的操作时。
最后,一些 zKEVM 团队将优化提升到了一个新的水平,他们采用以 Solidity 或其他语言编写的智能合约代码,并将其编译为对 zkSNARK 友好的语言。这种方法在证明者时间优化和成本效率方面提供了显着的优势。然而,这种类型的 zkEVM 系统与以太坊的兼容性甚至更差,这可能会导致开发人员应始终牢记的重大复杂情况。
在过去的几个月中,一些 zkEVM 项目越来越受到关注。以下是该领域最有前途的项目。
去年市场上最大的扩展解决方案展示了其征服 rollup 领域的雄心,因为它收购了最有前途的 ZK rollup 项目之一——Hermez。从那时起,Hermez 项目已更名为 Polygon zkEVM,这表明 Polygon 更加专注于构建自己的 zkEVM 实现。
根据 Buterin 提出的分类,Polygon zkEVM 属于 3 型 zkEVM 实现。正如我们上面提到的,3 型 zkEVM 几乎与 EVM 等效,但进行了一些更改以提高性能。也就是说,Polygon 的计划是让该项目最终拥有 2 型(与 EVM 等效)zkEVM 实现。
Polygon zkEVM 引入的一些值得注意的更改包括对支持的操作码的更改、对预编译合约的部分支持以及添加 zk 计数器。根据 Polygon 的说法,这些更改对开发人员体验没有影响,并且 zkEVM 支持流行的库,例如 Web3.js 和 Ethers.js、gas 优化技术和无缝合约部署。
同时,Polygon zkEVM 的设计非常注重性能,具有快速的网络最终性和低交易费用。网络使用的共识机制在实现这一目标方面发挥着关键作用。Polygon zkEVM 使用效率证明 (PoE) 机制,该机制非常高效并可防止恶意攻击。此外,Polygon 使用专有的快速 zk 证明生成技术,该技术利用递归 STARK 来实现可扩展性。
网络的另一个重要组成部分是 zkEVM Bridge,它旨在将 Polygon zkEVM 连接到以太坊主网以及构建在以太坊上的任何 Layer 2 网络。
Polygon zkEVM 网络目前处于测试阶段。
ZkSync Era 是 zkEVM 领域的另一个著名名称。这是一种“4 型”实现,它对 EVM 进行了显着更改,旨在优化性能。尽管如此,根据 zkSync 团队的说法,Era 可以处理大多数 EVM 合约。
一些更改包括:许多已删除或修改的操作码;CREATE 和 CREATE2 操作码的不同行为,这可能导致智能合约与 EVM 相比具有不同的地址;不同的 gas 模型等等。
在这里,我们也侧重于性能,旨在实现快速的证明者和验证者时间。Era 使用 zk-SNARK,与 STARK 相比,它的证明大小要小得多。
Scroll 网络 是几个“1 型”zkEVM 项目之一,其目标是完全的以太坊等效。为此,Scroll 使用最流行的以太坊客户端 GETH,这使其与 Layer 1 dApp 完全兼容。然而,正如我们上面提到的,这种兼容性的代价是较慢的证明者时间。
尽管如此,Scroll 使用用于 ZKP 生成的尖端技术。该网络依赖于 Halo 2——Zcash 团队开发的用于可扩展证明生成的基于 Plonk 的系统。
Scroll 网络目前处于第 3 阶段,最近在以太坊公共测试网 Goerli 上启动了一个 alpha 测试网。第 4 阶段涉及启动 Scroll 主网。
上面列出的项目只是参与 zkEVM 技术的一些参与者。其他如 Taiko 和 StarkNet 也在该领域做出了令人印象深刻的工作,为人们对该技术的日益增长的兴奋和兴趣做出了贡献。zkEVM 研究人员在短短一年多的时间里取得的令人印象深刻的进展是许多 Web3 观察家认为 zk-rollup 是以太坊可扩展性的未来的原因之一。情况是否如此还有待观察,但到目前为止,这些迹象一直非常有希望。
- 原文链接: limechain.tech/blog/bloc...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!