什么是 zkEVM?

  • Chainlink
  • 发布于 2024-07-30 20:17
  • 阅读 29

本文介绍了零知识以太坊虚拟机(zkEVM)的概念、工作原理、面临的挑战以及优势。zkEVM 是一种与零知识证明计算和现有以太坊基础设施兼容的虚拟机,它作为layer2 解决方案,能够提高交易吞吐量并降低成本,同时zkEVM 分为不同的类型,每种类型在以太坊兼容性和证明速度之间做出不同的权衡。

markdown 定义

零知识以太坊虚拟机 (zkEVM) 是一种虚拟机,它以与零知识证明计算和现有以太坊基础设施兼容的方式执行智能合约交易。这使得它们可以成为零知识 Rollup 的一部分,零知识 Rollup 是一种Layer2扩展解决方案,可在降低成本的同时提高交易吞吐量。

零知识以太坊虚拟机 (zkEVM) 是一种虚拟机,它以与零知识证明计算和现有以太坊基础设施兼容的方式执行智能合约交易。这使得它们可以成为零知识 Rollup 的一部分,零知识 Rollup 是一种Layer2扩展解决方案,可在降低成本的同时提高交易吞吐量。

如果Layer2可以运行为以太坊环境创建的程序,而无需修改底层的智能合约逻辑,则该Layer2是 EVM 兼容的。这使得第2层与现有的以太坊智能合约模式、代币标准和工具兼容。EVM 兼容性对于这些Layer2的广泛采用非常重要,因为它使熟悉以太坊 Solidity 编程语言的开发人员能够使用他们已经习惯的经过实战检验的工具来构建高度可扩展的应用程序。

在本文中,我们将探讨 zkEVM 的工作原理、构建 zkEVM 的挑战、zkEVM 的优势、各种类型的零知识项目等等。

zkEVM 如何工作?

zkEVM 工作原理概述。

zkEVM 获取初始状态,处理交易,并输出更新后的状态以及零知识证明。

zkEVM 将以太坊环境复制为零知识 Rollup,从而将以太坊开发人员的体验和现有工具引入到高度可扩展且安全的Layer2。这使开发人员可以无缝地将现有的 dApp 和智能合约引入到新环境,或者轻松构建新的应用程序。

zkEVM 执行环境

EVM 执行智能合约并计算在将每个新区块添加到链后以太坊网络的状态。它解析人工编写的 Solidity 代码,将其转换为计算机可读的字节码,然后更新以太坊状态。它管理有关更改状态的特定规则,并定义开发人员可以编写的智能合约。

zkEVM 是一种新型的 EVM,智能合约可以在其上运行。它获取初始状态,计算交易,并输出新的、更新的状态以及随附的零知识证明。由于 zkEVM 基于以太坊的 EVM,因此开发人员可以轻松地将以太坊 dApp 和代币移植到 zkEVM。

zkEVM 证明电路

零知识证明 (ZKP)是一种一方以密码学方式向另一方证明他们掌握关于一段信息的知识,而无需透露实际底层信息的方法。

zkEVM 的证明电路生成零知识证明,以验证和确认交易,证明用户交易已正确计算并且新状态正确。

什么是零知识证明 (ZKP)? - YouTube

Chainlink 的照片

Chainlink

14.8 万订阅者

什么是零知识证明 (ZKP)?

Chainlink

搜索

信息

购物

点击取消静音

如果稍后没有开始播放,请尝试重启设备。

你已退出账号

你观看的视频可能会被添加到电视的观看历史记录中,并影响电视的推荐内容。为避免这种情况,请在计算机上取消并登录 YouTube。

取消确认

分享

添加播放列表

检索分享信息时出错。请稍后重试。

稍后观看

分享

复制链接

在以下设备上观看

0:00

/ •直播

在 YouTube 上观看

zkEVM 验证器合约

在以太坊上,每笔交易都必须由每个节点验证。相比之下,零知识 Rollup 是一种Layer2扩展解决方案,它可以“rollup”大批量交易,并使用发布在以太坊等Layer1区块链上的 ZKP 来验证其正确性。这提高了吞吐量并降低了成本,同时保持了安全性。

Layer2零知识 Rollup 将有效性证明提交到部署在底层Layer1上的验证器智能合约。他们使用提交的零知识证明来检查输出是否基于初始状态是正确的,从而验证更新后的状态是否正确,而无需单独处理所有交易。

构建 zkEVM 的挑战

零知识证明和以太坊虚拟机是分别开发的技术,直到最近才将它们结合在一起以创建 zkEVM。为了使它们协同工作,需要克服许多挑战和内在的低效率。

基于堆栈的架构

EVM 使用基于堆栈的架构,该架构遵循后进先出 (LIFO) 原则,添加到调用堆栈的最后一个数据是第一个被删除的数据。此模型简单易用。但是,在创建 zkEVM 时,基于寄存器的模型(其中数据存储在虚拟 CPU 寄存器中)对于 zkEVM 通常需要的高性能计算和零知识计算会更有效。

操作码复杂性

与典型的虚拟机不同,EVM 使用特殊的操作码来指示 EVM 在执行智能合约时执行某些操作,例如 CALL、DELEGATECALL、REVERT 和 INVALID。这增加了复杂性,使得更难准确理解 EVM 正在做什么。

存储开销

EVM 使用 Merkle Patricia Trie 来组织数据,并使用 Keccak 哈希函数来帮助通过将其转换为哈希来跟踪该数据。这具有很高的证明开销,因为需要大量的计算来检查哈希是否正确。

证明成本

生成零知识证明是一个资源密集型过程,需要专门的硬件。

探索 zkEVM 的优势

zkEVM 与Layer1和其他Layer2 Rollup 相比,具有许多优势。

安全的可扩展性

与以太坊不同,zkEVM 不必遵循以太坊的共识协议规则。但是,zkEVM 上的所有Layer2交易仍然通过使用有效性证明在底层Layer1上进行验证。这意味着 zkEVM 可以优化速度和交易吞吐量,而不会影响安全性。

低成本

Layer2 Rollup 将批量的交易发布到以太坊等Layer1区块链。Optimistic Rollup 必须将所有交易数据(包括签名)发布到链上,这可能会导致高昂的 Gas 成本。但是,zkEVM 只需要在链上发布最终状态更改,因为零知识证明保证了批次中所有交易的有效性。这种较低的成本会传递给 zkEVM 的应用程序和最终用户。

快速最终性

最终性是指区块链交易无法更改、取消或撤销的时刻。对于 Optimistic Rollup(一种竞争性的Layer2架构),交易有一个为期一到两周的挑战期,在此期间网络参与者才能获得其有效性的客观证明并且可以最终确定。相比之下,零知识 Rollup 在发布到底层Layer1区块链后立即最终确定。更快的最终性对于需要快速在 DeFi 生态系统中转移资产的交易者来说非常重要,有助于吸引流动性并提高资本效率。

网络效应

EVM 兼容性使 zkEVM 能够利用以太坊现有的开发人员生态系统、广泛的工具、文档、代码库和经过实战检验的基础设施。此外,Avalanche、Polygon 和其他区块链使用 EVM 环境,进一步巩固了 EVM 作为 Web3 的标准。

zkEVM 的类型

高亮显示 zkEVM 类型之间差异的图表。

Vitalik Buterin 的 zkEVM 类型总结(来源

以下类别由以太坊创始人 Vitalik Buterin 确定。一般来说,编号较低的类型与以太坊基础设施的兼容性更高,而编号较高的类型具有更快的证明时间。

1 型(完全以太坊等效)

zkEVM 1 型不会更改当前以太坊系统的任何部分,以使其更容易生成零知识证明。这使得它们与所有以太坊原生应用程序完全兼容,并使区块浏览器和执行客户端等工具能够被重用。但是,以太坊协议的某些部分需要大量的计算才能生成零知识证明,从而导致 zkEVM 的证明时间较长。

1 型项目:

2 型(完全 EVM 等效)

2 型 zkEVM 旨在与现有的以太坊应用程序完全兼容,但会进行细微修改以加快证明生成速度并简化开发。虽然证明时间更快,但当前的实现仍然被认为太慢。

2 型项目:

  • Scroll 和 Polygon Hermez 旨在创建 2 型 zkEVM,尽管它们目前更接近于 3 型。

2.5 型(EVM 等效,Gas 成本除外)

增加特定操作的 Gas 成本可以改善某些最困难的证明生成情况的证明时间。但是,这可能会破坏某些应用程序并需要开发人员进行修改。

3 型(几乎 EVM 等效)

3 型 zkEVM 牺牲了一些 EVM 功能,以实现更轻松的应用程序开发和证明生成,例如更改预编译、VM 内存、堆栈以及智能合约代码的处理方式。虽然大多数以太坊应用程序可以在此环境中工作,但有些可能需要重写。

3 型项目:

4 型(高级语言等效)

4 型系统采用以 Solidity 或 Vyper 等高级语言编写的代码,并将其编译为一种旨在与零知识证明兼容的语言。从本质上讲,它们等同于高级语言,但不等同于实际的 EVM。这可以大大加快证明生成速度并降低成本,尽管合约可能没有相同的地址。

4 型项目:

zkEVM 项目概述。

zkEVM 项目概述,包括 StarkNet、ZKsync、Polygon Hermez 和 Scroll(来源

结论

有限的交易和高昂的 Gas 费限制了以太坊和其他区块链成功扩展的能力。zkEVM 将以太坊体验及其现有基础设施引入到高度可扩展且低成本的Layer2 Rollup,同时通过生成链上证明来保持底层安全性。最终,通过结合零知识证明和以太坊虚拟机,zkEVM 克服了之前的限制,并提供了实现广泛 Web3 采用所需的可扩展且安全的基础设施。

什么是知识证明?

安全多方计算

同态加密

什么是 Schnorr 签名?

零知识证明:应用和用例

零知识区块链项目概述

什么是 Zk-Rollup(零知识 Rollup)?

什么是零知识加密?

了解 zk-SNARK 和 zk-STARK 之间的区别

什么是零知识证明?

同态加密

零知识区块链项目概述

安全多方计算

了解 zk-SNARK 和 zk-STARK 之间的区别

什么是 Zk-Rollup(零知识 Rollup)?

什么是知识证明?

什么是零知识加密?

什么是 Schnorr 签名?

什么是 zkEVM?

零知识证明:应用和用例

  • 原文链接: chain.link/education-hub...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Chainlink
Chainlink
顶尖的智能合约去中心化预言机网络解决方案 https://chain.link/