zkEVM 是一种适用于以太坊区块链的 EVM 兼容扩展解决方案,旨在实现可扩展性、安全性和去中心化。

以太坊区块链面临的最大挑战之一是可扩展性。由于吞吐量仅为每秒 15 笔交易,随着网络越来越受欢迎,EVM 很容易超载——导致交易速度变慢、gas 费用增加,以及 web3 生态系统的包容性降低。
尽管如此,以太坊基金会已同意他们不会牺牲安全性和去中心化来提高可扩展性——随着以太坊扩展竞赛的升温,它将引发侧链、第 2 层网络、乐观汇总等解决方案。
如果这还不够的话,zkEVM 现在已经进入了讨论范围:扩展解决方案的“圣杯”,以及区块链三难困境的所有 3 个属性(可扩展性、安全性和去中心化)的潜在答案——Polygon 、 ConsenSys和zkSync都在构建自己的 zkEVM 主网。
但首先,zkEVM 是什么?为什么它比其他扩展解决方案更好?如何使用它?
在这篇博文中,我们将解释什么是 zkEVM,它是如何工作的,为什么它被认为是最终的以太坊扩展解决方案,以及如何在其上开发智能合约。
什么是 zkEVM?
zkEVM(代表“零知识以太坊虚拟机”)是一种与以太坊兼容的软件计算环境,为基于以太坊的应用程序提供高度可扩展性。
它与以太坊的兼容性意味着现有的以太坊 dApp 可以轻松迁移到 zkEVM 以获得更高的速度和可扩展性,而不会影响安全性或去中心化。
顾名思义,zkEVM 将两项突破性的区块链技术结合在一起:以太坊虚拟机 (EVM) 和零知识证明 (ZKP)。让我们解开这些技术,以更好地理解 zkEVM 到底有什么作用,以及它为什么如此重要。
什么是以太坊虚拟机(EVM)?
EVM (即“以太坊虚拟机”)是在以太坊区块链上执行智能合约的软件环境。这称为“智能合约计算”。
EVM 还会在执行每个智能合约后计算并更新以太坊链的有效状态。这称为“状态计算”。
此外,EVM 还负责执行以太坊网络中的所有规则。在链上执行合约计算有助于 EVM 真正确信所有智能合约的执行都发生在网络规则范围内。
这种方法有两个局限性:
首先,EVM 依赖于一个由数千个节点组成的去中心化网络,这些节点各自代表其执行智能合约和状态计算并达成共识。这使网络保持高度去中心化,但计算速度却变慢了。
其次,每个以太坊区块用于存储交易数据和gas的空间都是有限的,也就是说每个区块用于存储计算数据的空间是有限的。
这些因素限制了以太坊在特定时间段内的计算能力。因此,EVM 无法超越一定限制进行扩展。
将合约计算与以太坊的状态计算分开可以使网络具有可扩展性。但这是一个巨大的挑战,因为将合约计算转移到链下意味着 EVM 不再规定计算发生的规则。
这就是零知识证明的用武之地。
什么是零知识证明(ZKP)?
零知识证明(或 ZKP)是一种加密技术,允许个人或计算机证明他们对某条信息或计算的了解,而无需透露有关它的任何细节。
经过多年的研究和实验,开发人员终于找到了一种在不损害安全性的情况下将 ZKP 有效集成到以太坊的方法。这就是 zkEVM 的诞生。
零知识以太坊虚拟机(zkEVM)
zkEVM 是一种虚拟机设置,可在以太坊网络之外执行合约和状态计算。一旦 zkEVM 进入新状态,它就会向以太坊节点提交状态转换的 ZKP,以证明计算符合 EVM 规则。而且这不需要与以太坊节点共享交易或计算详细信息。
因此,以太坊节点只需处理计算和状态的简洁证明,而无需处理计算本身。然后,它们可以根据最少但可证明的合法数据更新以太坊链的状态。
这大大减少了以太坊网络上的计算需求。因此,zkEVM 为以太坊应用程序提供了无与伦比的可扩展性,同时提供了更低的计算成本以及最佳的安全性和去中心化。
zkEVM 如何工作?
我们可以将 zkEVM 的操作分为三个大步骤:
链下计算
证明生成
链上验证
以下是每个步骤发生的情况:
1. 链下计算
zkEVM 具有执行环境,可在其中运行链下计算以执行智能合约交易。为此,zkEVM 获取当前状态和合约交易的详细信息以生成最终状态
2. 证明生成
计算完成后,zkEVM 使用证明电路来识别计算的所有细节以生成零知识证明。证明电路评估三个要素以创建有效的 ZKP:
字节码和操作码:字节码是智能合约代码的机器可读格式,而操作码是字节码中非常具体的单独指令。证明电路检查已执行的智能合约的字节码和操作码的真实性和有效性。
输入和输出值:然后,验证电路验证程序在计算之前是否获取了正确的信息和值。它还验证程序在计算后是否记录了正确的值。
计算:最后,验证操作码执行是否按照正确的顺序进行。
3. 链上验证
ZKP 生成后,证明连同初始状态和最终状态的数据一起提交给基于以太坊的验证者合约。然后,该合约自行执行,在 ZKP 上运行必要的计算以验证其合法性。一旦节点验证成功,EVM 就会更新以太坊的状态。
但是为什么 zkEVM 比其他扩展解决方案更好呢?让我们深入研究侧链、rollup 和其他类型的链 — — 以及它们的比较。
为什么 zkEVM 比其他扩展解决方案“更好”?
zkEVM 被视为以太坊扩展解决方案的圣杯。它们不仅使网络对开发人员和用户具有高度可扩展性和成本效益,而且还保持隐私、安全和去中心化。
但 zkEVM 还有很多竞争对手,比如 rollups 和 sidechains。那么,zkEVM 的优势在哪里呢?
为了理解这一点,让我们快速了解一下其他解决方案的作用:
侧链
侧链是一条独立的链,有自己的规则和共识机制。但它可以与以太坊网络通信以进行数据和代币传输。
汇总
Rollups 是第 2 层网络,它在单独的链上处理交易,并使用智能合约将它们分成批,以在以太坊上传递和发布信息。有两种类型的 Rollups:
1. 乐观汇总:
这些汇总假设第 2 层上的所有交易都是合法的,并立即执行它们。任何错误的交易都可以在记录发布到以太坊之前的一定时间内提出异议和纠正。
验证者有动力按照网络规则执行,否则会受到惩罚。
2. ZK Rollups:
这些汇总在第 2 层链上单独验证每笔交易,将已验证的交易捆绑在一起并将其发布在以太坊上。
它们基于证据而不是乐观假设运行。然而,它们仅限于简单的支付。
那么,是什么使得 zkEVM 比这些解决方案更好呢?
1. 快速最终性:区块链中的最终性是指已执行的交易无法逆转。zkEVM 比其他扩展解决方案提供更快的最终性。
2. 安全性: zkEVMs 不做任何安全假设,而是依靠可证明的合法计算来保证更好的安全性。
3. 隐私:通过为所有交易生成 ZKP,zkEVM 为交易带来了其他扩展解决方案所不具备的一定程度的隐私。
4. 可编程性: zkEVM 完全兼容 EVM,并且比其他可扩展性对应物(如 ZK rollups)具有更高的可编程性。
5. 可扩展性:通过将计算转移到链下,zkEVM 可以提供无与伦比的可扩展性,而不会损害安全性或去中心化。侧链和汇总通常会损害区块链的三个主要功能之一。
功能齐全的 zkEVM 列表
目前,有三种流行的实时 zkEVM,它们为扩展以太坊网络提供了一种有前途的方法。
多边形zkEVM
Polygon zkEVM是一个用于扩展以太坊的去中心化第 2 层网络。它于 2023 年 3 月 27 日上线。
该网络使用加密零知识证明,同时保持与 EVM 的操作码兼容性。这意味着两件事:
a. 开发者可以使用现有的以太坊工具和基础设施在 Polygon zkEVM 上构建新的合约和应用程序。
b. 一切可以在以太坊上构建的东西也可以在 Polygon zkEVM 上构建。
Polygon 在以太坊之上的零知识汇总将有助于将多笔交易汇总为一批,并安全地广播到以太坊网络。从而为以太坊带来高交易速度。
ConsenSys zkEVM
ConsenSyS(MetaMask 背后的公司)设计了 ConsenSyS,ConsenSys zkEVM与 Polygon zkEVM 非常相似。它具有 100% 的 EVM 字节码兼容性,可与所有兼容 EVM 的链提供最大的互操作性。
ConsenSys 声称开发人员可以在几分钟内在其 zkEVM 上部署现有的 dapp,无需进行任何更改。
虽然该链仍未上线,但 Consensys 已计划于 2023 年 3 月 28 日启动测试网。
zkSync zkEVM
zkSync由 Matter Labs 开发,目前在 zkEVM 竞赛中处于领先地位。该公司于 2020 年 12 月推出了zkSync Lite Mainnet,这是其基于 zk 的网络的初始版本。zkSync Lite 仅支持简单支付。
随后,Matter Labs 于 2022 年 10 月向开发人员打开了其成熟的 zkEVM 环境 zkSync Era 的大门。2023 年 3 月 24 日, zkSync Era Mainnet向所有人上线。
常见问题 (FAQ)
zkEVM 与其他扩展解决方案有何不同?
zkEVM 在链下执行快速计算,并与以太坊共享可验证的计算零知识证明,而不会损害可编程性、安全性或去中心化。其他扩展解决方案会牺牲其中一个或多个功能。
zkEVM 是否与以太坊以外的任何链兼容?
是的,因为 zkEVM 与 EVM 兼容,所以它可以与任何与 EVM 兼容的区块链一起使用。
EVM 和 zkEVM 有什么区别?
EVM 是以太坊网络的原生虚拟机,而 zkEVM 是一种新设计的虚拟机,它使用零知识证明来创建链下智能合约计算环境,以解决 EVM 的可扩展性挑战。
zkEVM 有哪些用例?
您可以使用 zkEVM 构建真正私密的应用程序,这些应用程序不会像以太坊等公链那样在公共账本上公开分享个人信息。此外,您可以开发在以太坊上构建的任何类型的应用程序,而且可扩展性更强。
总结性想法:zkEVM 是未来吗?
zkEVM 创建了一个新的计算生态系统,为以太坊网络及其应用程序带来了更大的可扩展性。该概念将多年的研究和开发整合成一个平衡的系统,这样开发人员的学习曲线就变得平缓,他们几乎可以立即开始构建可扩展的以太坊兼容应用程序。
我们希望这篇博文能帮助您更好地理解什么是 zkEVM,与其他以太坊扩展解决方案相比如何,以及为什么您可能考虑在 zkEVM 上构建基于区块链的应用程序。