作者:Manta Network 联合创始人Kenny Li 翻译:金色财经0xnaitive
本文要点:
零知识以太坊虚拟机 (zkEVM) 是一种以太坊状态机,可以与零知识证明 (ZKP) 技术兼容的方式执行智能合约。
zkEVM 扩展了以太坊上零知识rollup (zk-rollups) 的功能,以支持去中心化应用程序 (DApp)。
zkEVM 可以轻松部署现有的以太坊项目和使用ZKP的新项目,以增强以太坊生态系统。
前言
以太坊开发人员在 2014 年**提出以太坊网络时并没有考虑ZKP 技术。然而,近年来,ZKP 受到了关注,并有望在区块链领域发挥更加突出的作用。因此,将 ZKP 技术与以太坊的虚拟机相结合的努力已经加强。
要了解什么是 zkEVM,让我们首先简要回顾一下它的两个基本概念:zk-rollups 和 EVM。
什么是 Zk-Rollup?
Rollup 是一种扩展解决方案,它在主链之外编译大量交易执行,并将数据作为单个交易发送回主网络。这个过程增加了吞吐量,同时降低了执行这些交易的成本。
在以太坊上,一个Rollup中的交易被压缩并提交给以太坊主网,支付验证单笔交易的费用。以太坊主网提供结算并验证汇总中包含的交易数据。
zk-rollup是一种使用 ZKP 技术的rollup,ZKP 技术是一种加密技术,可以在不泄露信息本身的情况下验证一条信息的有效性。zk-rollups 不需要将所有交易数据发布到以太坊主网;他们只需要状态差异(例如用户帐户状态的更改)和有效性证明,从而降低过程中Gas费。
zk-rollups的安全性来自于ZKP密码学,通过密码学的手段来验证证明,实现去信任化。这与optimistic rollups等其他 rollup 不同,后者的安全性来自经济学博弈论,在该理论中,不良行为者会因潜在损失而失去动力,而挑战者会受到激励。
什么是 EVM?
EVM 是运行以太坊账户系统和智能合约的状态机。每次智能合约执行都会触发 EVM 从旧状态转换到新状态。EVM 定义了计算从一个区块到另一个区块的新状态和有效状态的规则。
状态是以太坊中的一个重要概念。它是一个 Merkle Patricia Trie 数据结构,代表以太坊的当前状态,并允许任何人从当前区块一直追踪交易信息回到创世区块。
所有参与维护以太坊的节点都存在以确保连续性和共识,这使得每个节点都可以看到确切的当前状态。EVM 在保持这种一致性方面发挥着关键作用。
ZkEVM 如何工作?
EVM 默认不支持 ZKP。zkEVM 旨在确保以太坊状态的连续性,同时提供所有信息正确的证据。这样,在维护安全性和隐私性的同时,验证了这些过程计算中涉及的各种因素。
zkEVM 通过将以太坊环境**为 zk-rollups 来做到这一点。它获取初始状态,计算所有交易,然后输出一个新的更新状态以及随附的 ZKP。该证明被提交给验证者智能合约,该合约检查初始状态和新状态输出的正确性,而无需单独验证所有交易。
由于 zkEVM 基于 EVM,开发人员能够轻松地将以太坊 DApp 和智能合约移植到 zkEVM,而无需进行 ZKP 开发工作。换句话说,zkEVM 允许 zk-rollups 执行智能合约,此外还有以前在没有 zkEVM 的情况下支持的代币交换和支付。
由于 EVM 的兼容性特性,开发人员可以使用现有的 EVM 工具和编程语言 Solidity 构建新产品,同时享受 zkEVM 带来的增强安全性。同样的好处也适用于用户——他们可以继续使用相同的 DApps 和熟悉的工具,但具有更高的安全性和隐私性。
EVM 兼容性与 EVM 等效性
当区块链被称为 EVM 兼容时,这意味着它提供了一个可以部署以 Solidity 编程语言编写的 DApp 的环境。Solidity 专为开发在以太坊网络上运行的智能合约而设计。
事实上,以太坊开发人员可以从以太坊**和粘贴现有 DApp 的代码,并以最少的修改将其部署到其他 EVM 兼容链上。对于用户来说,任何兼容 EVM 的链地址都与他们的以太坊地址相同。
这意味着地址与 Metamask 和 Trust Wallet 等主流钱包兼容。目前,主要的EVM兼容链包括BNB Chain、Avalanche C-Chain和Pogon。
不要将 EVM 兼容性与 EVM 等效性混淆,EVM 等效性意味着从 DApp 开发人员的角度来看,2 层rollup与以太坊第 1 层几乎相同。
如果用操作系统来类比,EVM 等效性类似于通过 Apple Cloud 恢复文件和设置,如果用户之前的计算机和新计算机都运行在 Apple 的操作系统上。
相比之下,EVM 兼容性意味着如果一台新电脑切换到 Windows 系统,则需要通过云存储下载原始文件并转换以恢复**设置和旧文件。
不同类型的 ZkEVM
直接使用 EVM 生成和验证 ZKP 非常慢,因为以太坊最初设计并不支持 ZKP 技术。在某些情况下,这可能需要长达几个小时。然而,必须在 EVM 兼容性和 ZKP 效率之间取得平衡。
以太坊创始人 Vitalik Buterin 将 zkEVM 分为以下四种类型。类似于区块链不可能三角,它们各自在 ZKP 性能效率和 EVM 兼容性之间有不同的权衡。
类型一:共识级等价——zkEVM完全等价于以太坊
在共识层面,Type 1 zkEVM——也称为 enshrined rollup——相当于以太坊,zkEVM 链状态和交易与以太坊相同。它们可以相互验证块并直接与以太坊执行客户端一起使用。
Type 1 zkEVM 使以太坊本身更具可扩展性,可以直接引入以太坊主网上。缺点是ZKP效率极差,需要大量的计算来验证。解决方案是在未来为zk-SNARKs使用大规模并行验证者或专用集成电路。
具有高 ZK 效率的类型 1 zkEVM 将是最理想的 zkEVM 形式。目前,有许多项目正在构建或探索这种类型的 zkEVM。
类型 2:字节码级等价——完全等价于 EVM
Type 2 完全等价于 EVM 而不是以太坊。它在数据结构(如区块结构和状态树)方面不同于以太坊,并删除了一些对 ZK 不友好的堆栈操作。
它与以太坊现有的 DApp、调试工具和开发者基础设施完全兼容。字节码级等价可以加快证明时间,尽管不是很明显。Type 2 一个明显的缺点是它很昂贵,与 ZK 没有协同作用,效率低且昂贵。
类型2.5:与 Type 2 类似,但修改了 gas 费用
Type 2.5 具有 Type 2 的优点和缺点,但 gas 费用略低。
类型 3:字节码级等价——几乎等同于 EVM
Type 3在Type 2的基础上进一步牺牲了兼容性来提高ZK效率。它删除了一些在 zkEVM 上难以实现的功能,例如预编译,因此一些需要使用此功能的 DApp 代码必须重写。
类型4:开发语言级等价——**语言等价于EVM
类型 4 EVM 具有**的 ZK 性能,但兼容性相对较差。
结束语
zkEVM 实现的主要目的是将 ZKP 计算的支持扩展到智能合约执行,并在此过程中将DApps扩展到所有 EVM 兼容协议。但 ZKP 的应用并不止于此。
ZKP 技术可能与Web2用例兼容。将各种 Web2 用例与 ZKP 相结合可以使 Web3 应用程序更加流畅和用户友好。它还会授予已经习惯使用传统互联网浏览器的用户访问Web3 的权限,进而推动 Web3 的采用。
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
文章链接:https://www.btchangqing.cn/518325.html
更新时间:2023年04月17日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。