万字详解zkEVM:以太坊可扩展性的未来

avatar
ODAILY
12-06

原文作者:Christine Kim

原文编译: aididiaojp.eth、0x11,ForesightNews

简介

零知识以太坊虚拟机zkEVM 是一项备受关注且可能改变游戏规则的技术,它可在短期和长期内提高以太坊的可扩展性。今年三个主要的以太坊扩容项目zkSync、Polygon 和Scroll 都各自宣布了其zkEVM 实施的重大进展,其中许多项目已在今年的早期启动Alpha阶段,如今已作为L2 区块链独立运行。随着时间的推移,zkEVM 有可能直接在以太坊的基础层运行。

zkEVM 是可以执行与以太坊虚拟机(EVM) 相同的高级编程语言或低级字节码的虚拟机,并使用零知识证明ZKP 证明此代码,另外加密证明可在不泄露的情况下验证有关数据本身的任何信息,例如其属性或内容。早在1982 年,计算机科学家Goldwasser、Micali 和Rackoff(Silvio Micali 是Algorand 区块链的创始人)首次引入ZKP 概念。 ZKP 经常与密码学的另一个分支同态加密混淆。同态加密允许对加密数据执行操作而无需解密数据,由Rivest、Adleman 和Dertouzos 于1978 年首次提出,并已成为实现云计算和存储的关键技术之一。值得注意的是,同态加密也被用于一些公共区块链协议利用,如隐私币Grin 用它来混淆交易金额。

在过去的40 年里,计算机科学家发明了多种算法来安全高效地生成ZKP,其中许多算法属于两大类:可扩展的透明知识论证(STARKs) 或简洁的非交互式知识论证(SNARKs)。这些算法是为大范围用例开发的,包括核裁军(消除和减少核武器的行为)、身份认证系统,以及最近可扩展的公共区块链和加密货币。特别是在以太坊上,许多开发人员认为ZKP 是扩展的「圣杯」,因为与其他加密方案相比,ZKP 具有简洁和易于验证的特点。难以构建或破解但易于验证是密码协议开发人员的共同目标,因为这样它就可以被广泛而有效地使用。

零知识系统很难被推广和应用于证明任意复杂性的代码,构建ZKP 以本地支持和证明以太坊区块链上所有类型的交易活动一直是开发人员在过去几年中进行的一项持续研究计划。直到2021 年11 月,Starkware 才推出了第一个用于证明基于以太坊交易的通用ZK 系统,这是通过Starkware 团队创建的自定义编程语言Cairo 实现的。然而在2022 年7 月,三种不同基于以太坊的L2 协议包括zkSync、Polygon 和Scroll 宣布在利用ZKP 以zkEVM 的形式扩展以太坊方面取得了突破。

注意:虽然通俗地称为zkEVM,但这些虚拟机并没有利用ZKP 的隐私优势,而是完全受益于ZKP 的安全和效率优势。因此,这些类型的虚拟机更准确的名称是有效性证明生成EVM,但在本报告中,它们将使用更流行的名称zkEVM。

本报告旨在让读者熟悉zkEVM 的一般概念,并了解其在以太坊开发中的各种实现方式。由于zkEVM 是一个比较抽象的主题,本报告首先简要概述以太坊网络的现状,并通过介绍区块生产、EVM 和Rullups 等核心概念为理解zkEVM 奠定基础。然后,我们将总结以太坊上可以存在的不同类型的zkEVM,并比较目前生产中的5 种主要zkEVM 实现。我们将重点介绍这项新兴技术在实施中面临的挑战,以及我们对zkEVM 随时间推移的竞争格局的展望。总体而言,zkEVM 仍处于以太坊开发和采用的早期阶段。

今天的以太坊

在深入研究zkEVM 的复杂性之前,首先要从高层次理解交易是如何包含在以太坊区块中的。

区块产生

当用户向以太坊提交新交易时,连接到网络的计算机(也称为节点)将交易存储在称为内存池的本地数据结构中。内存池负责维护未确认交易的列表,然后随机选择运行节点和抵押32 ETH 的验证者,通过它们将内存池中的交易批量处理成块。选择将新区块添加到以太坊区块链的验证者有时被称为「提议者」。为了从最大可提取价值MEV 中获得额外奖励,一些提议者在构建区块时将依赖第三方区块构建器而不是本地内存池。

区块按顺序排列,并通过父块(前一个区块头)链接在一起。每个区块都包含其父块的哈希值,并通过将区块链接在一起形成区块链数据结构。通过父块哈希链接块如下图所示:

万字详解zkEVM:以太坊可扩展性的未来

在2022 年9 月15 日之前,以太坊依赖工作量证明PoW 共识机制,矿工代替验证者负责区块生产,矿工无需抵押大量资本,而是需要消耗大量电力来处理用户交易。

在PoW 和PoS 共识协议下,以太坊区块链缺乏可扩展性的根源在于有限的区块空间。区块空间在以太坊上以Gas 为限制单位。需要更多计算工作才能执行的交易通常以较高的Gas 单位定价,而具有较低计算成本(即较少资源密集型)的交易具有较低的Gas 成本。 Gas 通过以太坊网络自动设置称为基本费用的动态Gas 费率转换为ETH。以太坊协议限制了区块空间,它们最多只能包含3000 万单位的Gas。这个最大区块gas 限制确保了快速的区块传播时间并降低了硬分叉的风险。

以太坊虚拟机

一旦交易被包含在以太坊上的一个区块中,它们就会通过称为以太坊虚拟机(EVM) 的自定义运行环境执行。 EVM 旨在在以太坊上部署任意复杂度的代码,这是使以太坊成为通用区块链的根本,有时也称为图灵完备系统。

EVM 执行交易的方式存在一定规则。首先,EVM 将人类可读的编程语言(如Solidity 和Yul)编译为面向机器或「低级」语言,称为EVM 字节码。然后,EVM 将字节码解析为称为「操作码」的顺序指令列表。每个操作码命令EVM 执行不同的任务,并以十六进制形式在EVM 字节码中表示。例如,在链上执行智能合约时命令EVM 保留瞬态数据的操作码以助记符表示为「MSTORE」,或以十六进制形式表示为「 0 x 52 」。为了帮助读者概念化操作码,以下是以太坊黄皮书中定义的简单操作码:

万字详解zkEVM:以太坊可扩展性的未来

多年来,以太坊开发人员向EVM 不断添加新的操作码,他们还添加了预编译,使用户能够在网络上执行更高级的操作,例如哈希函数和标量乘法。作为同类中的第一个运行环境,EVM 已被广泛用作通用公共区块链上智能合约部署的标准。然而,作为同类技术中的第一项,EVM 确实存在设计限制,其中与本报告最相关的是EVM 缺乏与ZKP 的兼容性。

Rollups

为了提高以太坊的可扩展性,有一些L2 网络将交易执行从基础层抽象到Rollups。 Rollups 压缩交易数据,使得将一批交易提交到基础层所需的区块空间量明显低于通过链上的内存池单独确认这些交易所需要的区块空间。 Rollups 由被称为「排序器」的网络运营商运营,而不是验证者或矿工。排序器负责验证Rollups 的状态转换。它们是将用户交易打包成一个Rollups 批次,然后将这批交易的证明提交给以太坊基础层的实体。下图说明了排序器在Rollups 中的作用:

万字详解zkEVM:以太坊可扩展性的未来

Rollups 不同于以太坊上的其他扩展解决方案,例如Plasma 和状态通道。在以太坊的历史进程中,核心开发人员已经研究并废弃了以太坊的可扩展性路线图。 Rollups 有两种主要类型:Optimistic Rollups 和ZK Rollups。 Optimistic Rollups 依赖于欺诈证明,这意味着L2 网络状态的更改会在没有直接证明其有效性的情况下部署到以太坊。只要至少有一个诚实参与者在观察Optimistic Rollup的状态转换,就可以检测并取消无效的状态转换。就Arbitrum 和Optimism 而言,可以提交欺诈证明的「挑战窗口」持续一周。一旦挑战窗口结束,optimistic Rollup的状态转换就被认为是最终的和有效的。

另一方面,ZK Rollups 依赖于ZKP,每次在L2 上处理交易批次时,ZKP 都会生成有效性证明,并发布到以太坊。自动生成所有交易批次的有效性证明同时也增加了ZK Rollup的安全保障。这也意味着每次向以太坊提交新的有效性证明时都可以从ZK Rollups 中提取资金,而对于optimistic Rollups 来说,为了允许争议和欺诈证明的生成,通常需要大约7 天的等待期。 ZK Rollups 还提供了比optimistic Rollups 更好用的数据压缩功能。下表总结了optimistic 和ZK Rollup之间的差异:

万字详解zkEVM:以太坊可扩展性的未来

Optimistic Rollup相对于ZK Rollups 的主要优势是Optimistic Rollup的虚拟机与EVM 的虚拟机几乎相同。目前在以太坊上运行的Optimistic Rollup实现,如Optimism 和Arbitrum,模拟了与以太坊相同的交易执行环境,分别称为OVM 和AVM。大多数ZK Rollups 都是为某些应用程序特定的,这意味着它们不支持所有类型的基于以太坊的交易和DApp。 Loopring、StarkEx Rollups 和zkSync 1.0 是特定应用程序ZK Rollups 的示例,它们支持特定类型的支付、代币交易和NFT 铸币。

StarkNet 等某些ZK Rollups 是通用的,这意味着它们支持所有类型的交易和DApp。然而,这些ZK Rollup要求DApp 开发人员学习如何在新的自定义执行环境中执行他们的智能合约代码,通常该环境针对生成ZKP 而优化,而不是EVM 兼容性。鉴于现有的去中心化应用程序和用户难以加入新的执行环境,这对在以太坊上采用ZK Rollups 提出了挑战。为了克服这个问题,Polygon Hermez、zkSync 和Scroll 等ZK Rollups 项目正在致力于实现与EVM 兼容的ZK Rollups,另外,EVM 是以太坊上所有智能合约代码的原生执行环境。

STARKs、SNARKs、Volitions and Validiums

在实践中,Rollups 不仅根据链上发布的证明类型(optimistic Rollup中的欺诈证明或ZK Rollups 中的有效性证明)进行区分,还根据Rollups 的数据可用性策略和证明算法进行区分。

目前存在两大类有效性证明,称为SNARKs 和STARKs。

  • SNARKs 依靠椭圆曲线密码学,一种在比特币和以太坊中最常用的数据加密技术。 SNARKs 通常还依赖于可信设置,这意味着该算法需要由可信实体提前生成一段数据。可信设置并不是重复的事件,而是一个人或一群人生成核心数据的一次性过程。此数据称为公共参考字符串(CRS),它是一个在zk-SNARK 算法中用于生成可信赖的证明的数值。如果生成CRS 所需的输入受到损害,那么可能会导致错误的证明生成。因此,重要的是所有可信设置参与者需销毁用于生成CRS/SRS 的输入,或者在仪式完成后使其无法恢复。

  • STARKs 不依赖于椭圆曲线或可信设置。 STARKs 依赖哈希函数,一些开发人员认为哈希函数有利于对抗量子加密。然而,STARKs 更复杂,它需要更多的计算资源才能运行。它在2018 年被推出,晚于SNARKs,而SNARKs 自2012 年以来一直存在。由于这些原因,SNARKs 比STARKs 被更广泛地使用。基于STARKs 的算法的一些示例包括Fractal、SuperSonic、Fri-STARKs 和genSTARK。

除了生成有效性证明的不同方法外,ZK Rollups 的数据可用性策略也不同。数据可用性策略将决定交易批次的哪些组件最终发布在链上。 Rollups,包括Optimistic 和ZK,通常在每次处理一批交易时将三份数据提交到主网以太坊。首先,Rollups 的验证者将新网络状态的根哈希提交给以太坊。 (状态是指L2 上交易和账户余额的更新记录。)状态记录在一个Merkle 树数据结构中,如下图:

万字详解zkEVM:以太坊可扩展性的未来

根哈希是整个Merkle 树的密码承诺,有时也称为状态承诺。虽然并不要求所有ZK Rollup都将根哈希提交给以太坊,但为了使发布在以太坊上的数据能够轻松重建和验证在Rollup上执行的交易,他们通常会这么做。

除了用于确认L2 区块链新状态的高级根哈希之外,以太坊上还记录了加密证明。在如果是Optimistic Rollup的情况下,此证明可以是ZKP 或欺诈证明。它可以通过STARKs 或SNARKs 算法生成。最后,除了这两条数据之外,ZK Rollups 还向以太坊发布了处理交易批次的压缩版本,也称为State delta。 State delta 是一种将大量交易数据以经济高效的特点提交到以太坊的方式,这是ZK Rollups 独有的。 Optimistic Rollups 是使用其他数据压缩技术来批量处理事务并将它们提交到链上。

此外,某些ZK Rollups 项目,例如Scroll 团队,实际上并不依赖于将State delta 发布到以太坊来获得额外的数据压缩收益。 Scroll 开发人员认为即将到来的代码更改,例如以太坊改进提案EIP-4844 和danksharding 将显着降低将交易数据提交给以太坊的成本,这样State delta 相对于其他数据压缩技巧的效率提升可以忽略不计。

Rollups 使用来自Merkle 树最低层的数据,并将其与来自Merkle 树最高层(根)的根分布式相结合,能够允许任何人重建和验证在链上提交的交易批次的内容。大多数Rollups 的一个决定性特征是能够使用链上提交给以太坊的数据重新创建在L2 网络上执行的交易。然而,某些Rollups 避免将State delta 或其他压缩交易数据提交给以太坊,而是将数据发布到其他地方以降低运营成本并提高网络可扩展性。某些开发人员会争辩说,避免将交易数据提交给以太坊并因此破坏交易重建保证的L2 网络不应归类为Rollups。

Rollup处理State delta 的方式决定了网络是可以归类为Validium 还是Volition。

  • Validium 可以被理解为Rollups,它仅在链上提交有效性证明和根哈希,同时将State delta 存储在链下的单独网络上。因为Rollups 不再依赖以太坊的数据可用性和受网络块空间的限制,这在理论上可以将Rollups 的交易吞吐量提高到9, 000 TPS。 Validiums 的缺点是安全性,用于发布链下数据的独立网络不具有与以太坊相同的安全保证。

  • Volitions 是将在链下或链上发布State delta 的决定留给用户,由以太坊扩展初创公司Starkware 开创。这是一种新颖的方式,通过直接在链上向以太坊或Starkware 可信数据可用性委员会(DAC) 等链下网络确认,让用户决定他们的交易是否需要增强的安全性,但成本可能更高。

EVM 等效的4 个主要级别

上述内容帮助理解以太坊上交易执行的整体框架、EVM 和ZK Rollups,现在讨论zkEVMs。

zkEVM 是一种ZK Rollup,它可以模仿与主网以太坊相同的交易执行环境。 zkEVM 的实现在证明算法和数据可用性策略上有所不同,另外zkEVM 的EVM 等效级别也不同。 EVM 等效性有四个主要级别。以下是不同级别的摘要:

万字详解zkEVM:以太坊可扩展性的未来

语言水平等效

为了实现语言级别的EVM 等效性,zkEVM 必须能够理解并本地编译EVM 友好的语言。换句话说,这些类型的zkEVM 可以将EVM 友好编程语言(如Solidity 或Yul)翻译成一种为生成ZKP 而优化的定制语言。这被认为是在ZK-Rollups 中实现EVM 兼容性的最简单和最有效的方法之一。然而,这些类型的zkEVM 在为用户和智能合约开发人员提供与EVM 交互相同的体验方面最受限制。

与EVM 的语言级兼容性意味着需要通过编译器运行Solidity,该编译器将EVM 的高级编程语言翻译成定制的低级语言,由专为生成ZKP 而设计的虚拟机解释。对于大多数只关心通过Solidity 代码与EVM 交互的以太坊用户和智能合约开发人员来说,zkEVM 的底层行为可能并不重要,只要可以通过zkEVM 执行与以太坊主网上相同类型的代码即可。另一方面,为EVM 构建的复杂开发工具、框架和测试环境可能需要修改才能在仅具有语言级EVM 兼容性的zkEVM 上使用。

字节码级等效

EVM 等价的第二个和第三个级别是字节码级别,这需要ZK Rollups 才能解释从更高级语言(例如Solidity 或Yul)编译下来的EVM 字节码。 zkEVM 可以模仿与EVM 相同的高级编程语言和低级字节码,从而实现与EVM 更深层次的兼容性。这些类型的zkEVM 构建起来更复杂,需要更高级的工程设计。

虚拟机执行EVM 字节码的方式是通过称为操作码的特定指令列表,每个操作码命令EVM 执行不同的任务。字节码兼容的zkEVM 的目标是创建一个ZK 系统,该系统可以证明EVM 字节码并解析字节码包含的各种操作码。这些类型zkEVM 的优势在于它们与基于EVM 的应用程序和工具相互兼容。完全字节码兼容的zkEVM 将能够支持与基于以太坊的原生应用程序相同的调试工具和开发人员基础设施。然而,实现完全的字节码兼容性通常会导致创建低效且昂贵的ZK 系统,而降低成本,提高效率是不得不考虑的问题。

目前,有两种字节码兼容的zkEVM,包括Polygon zkEVM 和Scroll zkEVM。在他们当前的设计中,这两个仅实现部分兼容EVM 字节码,但是,随着时间的推移,这些实现正朝着完全兼容的方向努力。

共识水平等效

EVM 等价的第四个也是最后一个级别是共识级别。这是ZK Rollups 可以实现的对EVM 的最高原生兼容性。它有时被称为「enshrined Rollups 」,尽管并非所有「enshrined Rollups 」 都需要基于ZK,也可以是Optimistic Rollups。这个想法是由zkEVM 生成的加密证明不需要以任何身份在以太坊上重新执行,证明本身可用于验证主网以太坊上生成的区块。从某种意义上说,实现共识级别兼容性的zkEVM 是zkEVM 的最真实形式。

对于一些开发者来说,能够实现共识级别兼容性的ZK Rollups 是唯一一种应该称为zkEVM 的ZK Rollups,而其他具有语言和字节码兼容性的ZK Rollup应该分别被认为是EVM 兼容的和EVM 等效的,但不是一个zkEVM。关于zkEVM 的精确定义及其不同级别的EVM 等价性,以太坊开发人员之间存在大量争议。事实上,EVM 等效是一个范围,上面描述的每个层次都不是严格的类别。 zkEVM 开发的早期性质意味着为语言级别兼容性而构建的项目也可能提供某种类型的字节码级别兼容性,而字节码级别兼容的zkEVM 最终可能会发展成为具有大量共识级别等价性的混合Rollups。

以太坊上的zkEVM 项目概览

目前,还没有实用性的zkEVM 可以实现共识级别的兼容性,开发者仍在不断的研究和开发,以太坊核心开发人员将其描述为「多年工程努力」。有些zkEVM 已经实现在语言和字节码级别上的等效,为以太坊上当前主要以应用程序为中心的ZK Rollup Layer 2 生态系统提供了改进思路。构建ZK Rollup来执行一般的智能合约和用户交易而不是以应用程序为中心的交易是一项艰巨的任务,到目前为止,只有少数项目在主网上成功启动。

以下是以太坊上五个zkEVM 项目的概述:

万字详解zkEVM:以太坊可扩展性的未来

zkSync 2.0

区块链开发团队Matter Labs 成立于2018 年12 月, 2020 年6 月曾在以太坊上推出了他们自己的ZK Rollups 协议,称为zkSync 。按总锁仓价值,zkSync 是以太坊上第6 大L2 网络,支持有限范围的智能合约操作,包括ETH、ERC 20 代币和原生NFT 的低Gas 传输,以及原子互换和限价订单。该公司最近通过由Andreessen Horowitz 牵头的B 轮融资筹集了5000 万美元,并宣布了一项2 亿美元的国库基金,致力于在未来几年扩展zkSync 生态系统。

zkSync 2.0 是一种语言级兼容的zkEVM,旨在支持所有类型的智能合约操作。 zkSync 2.0 依赖于称为UltraPLONK 的基于SNARKs 的证明算法。此外它还依赖于称为LLVM 的开源编译器基础架构,通过LLVM 可以将Solidity 和其他类型的编程语言编译成zkEVM 字节码。该项目将于2022 年10 月开始「baby Alpha」阶段,预计到2022 年底将对外部用户完全开放,但Matter Labs 团队仍未披露zkSync 2.0 证明生成的全部细节。由于L2 网络之间的激烈竞争,以及由于Rollup技术的初期阶段导致了更大的技术漏洞风险,大多数Rollups 项目都在高度保密的情况下运行,并不支持开源。一旦成功启动,zkSync 2.0 将是一种可以让用户可以选择将State delta 从他们的链下交易发布到一个称为zkPorter 的单独协议,而不再需要在链上发布到以太坊。该策略理论上会将zkSync 2.0 的每秒交易吞吐量从2, 000 TPS 提高到超过20, 000 TPS。

StarkNet

与zkSync 一样,StarkNet 是Starkware 团队构建的已经在以太坊上运行的通用ZK Rollup。 Starknet 的交易执行环境称为StarkNet OS,其原生智能合约编程语言称为Cairo。与其他ZK Rollups 相比,Starknet 是功能最全面的区块链网络之一。 StarkNet 为用户提供了一个可选的链下数据解决方案,以实现比非Volitions 类型的Rollups 成倍降低的交易费用。 StarkNet 操作系统依赖于基于STARKs 的证明算法。与zkSync 2.0 一样,在StarkNet OS 上生成证明的过程不是开源的。与其竞争对手zkSync 类似,随着时间的推移,围绕证明生成的细节将会逐渐开源,以便任何人都可以通过专用线路连接到网络。

StarkNet 本身不支持与EVM 的语言级兼容性,但是以太坊执行层软件客户端Nethermind 背后的团队正在积极构建名为Warp 的Solidity to Cairo 语言编译器。使用Warp 编译器,StarkNet 用户可以部署基于以太坊的智能合约,而无需再用Cairo 重写代码。此外,还有一个名为Kakarot 的社区驱动项目,用于构建另一个Solidity 到Cairo 语言的编译器,以帮助支持StarkNet 与EVM 的兼容性。

Starkware 团队在7 月公布了原生StarkNet 代币和新基金会计划。在透露初始100 亿供应量的三分之一将分配给StarkNet 核心贡献者后,代币的分配方案成为争议的根源。今年Starkware 以80 亿美元的估值筹集了1 亿美元。该轮融资由投资公司Greenoaks Capital、Coatue 和Tiger Global 领投。除了StarkNet 之外,StarkWare 还为用户提供了一种可定制的区块链可扩展性解决方案,称为StarkEx。该解决方案利用了基于STARK 的ZK 新技术。与StarkNet 不同,StarkEx 是一个以应用程序为中心的ZK Rollup。使用StarkEx 在以太坊上实现更大可扩展性的一些值得注意的DeFi 应用程序包括soRare、Immutable 和DeversiFi。

Polygon zkEVM

Polygon 团队构建的zkEVM (以前称为Matic Network)实现了与EVM 的字节码级别兼容性。 Polygon 的zkEVM 预计将于2023 年初的某个时候在以太坊上推出,并且最近已开源,供公众审查。当然虽然代码可以公开查看,但不能使用、修改或共享,因为它不是在开源代码许可下发布的。 Polygon 的zkEVM 实现依赖于基于SNARKs 和STARKs 的证明,具体来说,zk-SNARKs 用于证明zk-STARKs 的正确性,这具有利用与zk-STARK 相关的快速证明时间以及生成zk-SNARK 所需的相对较轻的计算资源的优势。关于数据可用性问题,Polygon 的zkEVM 实现不会立即支持链下数据解决方案,然而,Polygon 正积极致力于通过开发可用性更高的应用程序。

Polygon 成立于2017 年,是一家主要专注于以太坊扩展解决方案的公司。它于2020 年6 月推出了基于权益证明的以太坊侧链,称为Polygon PoS。之后,Polygon 的产品插件得到了显着发展,变得更加多样化。除了zkEVM 实现方式之外,Polygon 还在积极开发另外两个ZK Rollups 实施,即Polygon Miden 和Polygon Zero。它们是结合了Optimistic Rollup和ZK Rollup的混合Rollups 实施,称为Polygon Nightfall。今年早些时候,Polygon 团队完成了自首次代币发行以来的第一轮重大融资,并从40 家风险投资公司筹集了4.5 亿美元,由红杉资本印度领投。

Scroll

Scroll 是另一个字节码级别兼容的zkEVM 实现。 Scroll 由Sandy Peng、Ye Zhang 和Haichen Shen 于2021 年创立, 2022 年宣布为白名单用户推出他们的pre- Alpha版本测试网。值得注意的是,围绕其zkEVM 实现的所有代码都是公开的,并在开源许可下发布。 Scroll 将依赖于一种基于SNARKs 的证明算法,并且不支持链下数据可用性解决方案。此外,Scroll 团队正在设计一个用于证明生成的去中心化市场,以支持他们的zkEVM。为了无需许可和抗审查的方式生成ZKP,他们还专注于构建可以由世界各地的用户运行的专用硬件设施。

Scroll 团队与以太坊基金会的扩容解决方案研发团队密切合作,其被称为隐私扩容以太坊(PSE) 团队。与zkSync、StarkWare 和Polygon 等其他团队相比,Scroll 规模较小,并且更专注于研究,商业属性较轻。他们只专注于他们的zkEVM 实施,而其他竞争团队拥有一套其他与ZK 相关的产品和服务。 Scroll 今年在A 轮融资中筹集了3000 万美元,投资方包括Polychain Capital 和Bain Capital Crypto 等领先的加密货币风险投资公司,以及包括以太坊基金会的Ying Tong 和Carlos Aria 在内的几位天使投资人。

Privacy & Scaling Explorations (PSE)

PSE 是以太坊基金会的一个研究机构,专注于探索ZKP 的前沿研究及其在以太坊上的应用。他们以前被称为「AppliedZKP」小组。与本报告中强调的其他zkEVM 实施相比,PSE 的zkEVM 并不专注于在不久的将来满足大规模使用(PSE 研究的实用性组件正在由Scroll 团队实施)。 PSE 正在研究的zkEVM 专注于根据「enshined Rollup」模型,实现与EVM 的共识级兼容性。

PSE 研究中使用的证明算法是称为Halo 2 的zk-SNARK ,它由Zcash (ZEC) 加密货币的核心开发团队Electric Coin Company 开发。 PSE 团队构建的zkEVM 实施是开源的,任何人都可以参与。除了zkEVM,PSE 团队还在推进其他几个项目,包括研究反共谋去中心化应用程序基础设施、增强用户交易隐私以及替代加密签名方案。

构建zkEVM 的挑战

在以太坊上构建生产就绪的zkEVM 实现还存在一些持续的挑战。实施zkEVM 等新技术、zkEVM 的去中心化操作以及构建用于生成zkEVM 证明的专用硬件,这些未经证实和测试的性质是开发人员面临的主要障碍。本节讨论对这些挑战的一些见解。

新领域

zkEVM 是以太坊上的一个新概念,从2022 年才正式开始运行。这项技术面临的一个简单挑战是其未经证实和大规模测试的性质。大多数zkEVM 实现在生成证明的方式、生成证明的硬件要求以及去中心化定序器的细节方面仍然存在大量未知因素。建立对zkEVM 作为可靠的扩展性解决方案的信任是Scroll、Polygon、StarkNet 和zkSync 等团队关注的一个重要领域。

去中心化的挑战

围绕去zkEVM 操作去中心化路径的问题适用于所有Rollup(包括Optimistic Rollups),因为有效性和欺诈证明的生成在很大程度上取决于中心化排序器。如上所述,定序器是L2 利益相关者,负责批处理用户交易并将这些批次的证明提交给以太坊L1。

目前以太坊上运行的每个Rollup都由中心化排序器操作,并依赖于由单个实体管理的可升级智能合约。今天Rollup中心化性质的一个主要原因是:在技术初期,代码中出现意外错误时需要快速修复。此外,尤其是zkEVM 背后的技术在不断变化,因此很难自信地激励用户在自己的设备上运行这项新兴技术。为Rollup实现去中心化排序器通常意味着要启动一个代币,并创建一个共识协议,以一种无需许可的方式组织多个排序器和证明者。虽然启动代币和创建共识协议对公共区块链来说并不新鲜,但也需要时间和深思熟虑才能负责任地启动。 StarkWare 的代币计划就因供应设计和初始分配引起了争议,Polygon 也预计将在其zkEVM 推出后改进当前的代币经济学。 zkSync 有望在未来几个月为其Rollup推出代币,而Scroll 的代币计划仍不明朗。

当前zkEVM 的背景下,排序器去中心化重要的第一步是开源项目软件,在撰写本文时很少有人这样做。在去中心化zkEVM 操作方面,已经拥有大量用户的Rollup zkEVM 实现可能具有优势。

zkEVM 硬件挑战

虽然zkEVM 证明验证起来很简单,但生成它们需要大量计算,部分原因是ZKP 背后的数学依赖于线性计算序列。这使得并行化工作在机器上生成证明变得困难。最近使用递归证明在这方面取得了进展。递归证明是一种减少证明生成延迟的技术,它指的是重复生成证明的证明以进一步压缩交易,从而可以并行处理ZK Rollup上的小批量交易。这是StarkNet VM 和Polygon 的zkEVM 用于生成有效性证明的技术。

由于生成ZKP 需要密集计算,zkEVM 可能不得不依赖高级硬件,例如图形处理单元(GPU)、现场可编程门阵列(FPGA),甚至专用集成电路(ASIC)。需要专门的硬件来运行必要的计算来生成证明,这与需要专门的硬件来根据工作量证明(PoW) 共识协议有效地挖掘区块没有什么不同。这两个硬件行业的增长差异在于证明者与矿工的选择过程。

证明者是负责生成有效性证明的网络利益相关者。另一方面,定序器负责将用户交易排序和打包成批次,并将数据提交到第1 层区块链。从技术上讲,排序者和证明者的职责可以合并为一个角色。然而,因为证明生成和交易排序都需要高度专业化的技能才能有效执行,所以拆分这些职责可以防止Rollup功能中不必要的中心化。

如果证明者和排序器的选择过程类似于矿工的选择过程,依赖于达成中本聪共识并奖励最高效的硬件参与者,那么ZKP“挖矿”行业就有可能沿着与比特币挖矿相同的轨迹发展。然而,有几个原因可以解释为什么特定证明者的选择过程更可能在设计上类似于权益证明(PoS) 而不是PoW 共识。

首先,中本聪式的选择过程意味着拥有最高效硬件的证明者将主导证明市场。为了避免证明者市场的垄断,同时减少电能消耗,像Scroll 这样的项目正在寻找替代设计,这需要证明者将资产作为抵押品,这与以太坊验证者被要求抵押32 ETH 的方式不同。质押模型的实施确保证明者可能因破坏网络安全性和活跃性的行为而受到惩罚,例如未能为指定的一批交易计算有效性证明。

确定性地选择证明者生成证明,而不是让所有证明者竞争生成证明的另一个好处是可以提高交易吞吐量和网络可扩展性。选择证明者意味着几个证明者可以并行地为不同批次的交易生成证明,而不是所有证明者都为同一批交易生成证明。然而,依赖于某种形式的质押和惩罚的领导人选举系统存在一个弱点:复杂性。与中本聪式的PoW 系统相比,PoS 系统依靠更复杂的制衡设计来保持参与者的诚实。例如,中本聪式的共识通常只需要参与者,即矿工,产生他们工作的证明来获得奖励。

大多数zkEVM 可能会尝试通过选择确定性(基于分配)而不是概率性(基于竞争)的无需许可的证明者选择过程来尽量减少Rollup的用电量。以太坊联合创始人Vitalik Buterin 估计,计算zkEVM 的有效性证明所需的电能不到用于开采ETH 的1% 。 zkEVM 设计人员的目标是尽可能减少证明时间,同时让尽可能多的用户可以经济地访问证明生成。实现共识级别兼容的zkEVM 的要求之一是将证明生成时间减少到与以太坊L1 的出块时间(平均13.5 秒)相当。

只有当zkEVM 背后的规范变得清晰和标准化后,ZKP 硬件制造商才能真正成长和成熟。最后,预测有效性证明计算行业的用电量仍然很困难,除非Rollups 采用并实施一种无需许可地选择证明者和定序器的模型。

zkEVM 竞争展望

短期内,zkEVM 参与者正在竞争成为第一个在主网上启动的项目。然而,从长远来看,他们将在EVM 兼容性水平(从语言到共识水平)和VM 效率方面展开竞争。一旦支持zkEVM 的技术得到更广泛的测试、使用和理解,zkEVM 很可能还必须与optimistic Rollups 和其他L2 可扩展性解决方案竞争以获取用户。

先发优势和后发优势

zkSync、Polygon 和Scroll 团队的zkEVM 实现正竞相在主网上推出。更早启动主网可以在可吸引DApp 开发人员方面占据先发优势,鉴于Rollup之间互操作性和DApp 可组合性的难度,这可能是一个特别重要优势。 DApp 可组合性是指像积木一样在DApp 之上构建DApp 的能力,是以太坊去中心化金融(DeFi) 生态系统的一个特别重要的特征,它使DApp 开发人员更有可能被已经广泛采用的L1 或L2 所吸引。

另一方面,由于zkEVM 作为一项技术的新颖性,首批推出的zkEVM 实现不太可能针对以太坊DApp 开发人员进行最优化。正如本报告中提到的,在字节码级别和共识级别上与EVM 完全兼容的zkEVM 实现尚未准备好用于生产。可以更原生地支持以太坊DApp 部署的zkEVM 实现可能不会首先启动,拥有更多EVM 等效的zkEVM 具备后发优势。等效程度越深,zkEVM 开发人员的进入门槛就越低。换句话说, 2015 年以来一直是主要DApp 执行环境的EVM 可以迁移的工具越多,zkEVM DApp 开发人员的采用就顺利。

通过EVM 等效性吸引DApp 开发人员是zkEVM 实现之间第一个明显的竞争领域,虽然DApp 开发人员采用的先发优势很强,但该技术还处于初期阶段,因此仍有进行重大迭代和改进的空间来构建一个生产就绪的zkEVM。最终,这场游戏类似于从零开始的创新者困境:成为第一个并尝试建立布局和社区更好,还是成为第二个并以更好的功能推翻先行者更好?

虚拟机设计

随着时间的推移,zkEVM 的另一个竞争和改进领域是效率。如前所述,EVM 并未针对ZK 系统进行优化,构建通用的ZK Rollup可以证明基于以太坊的智能合约和DApps 需要大量开销。随着时间的推移,为SNARK 或STARK 证明优化的其他虚拟机设计可能会降低EVM 兼容性,这是Starkware 团队强烈持有的观点。将Solidity 编译为Cairo 的Warp 工具和其他类似工具都是社区驱动的举措,因为内部StarkWare 团队专注于使StarkNet 的虚拟机尽可能高效,而不是简单地与EVM 兼容。

在以太坊上,值得注意的是,在不破坏DApp 向后兼容性的情况下,EVM(以及关联的Solidity)不能被显着改变或升级。自EVM 于2015 年发布以来,开发人员对EVM 及其高级编程语言Solidity 进行了修补,以在较小的方面提高可用性和安全性。例如,在2019 年以太坊伊斯坦布尔硬分叉升级期间,核心开发人员向EVM 添加了一个名为“CHAINID”的新操作码,它将返回规范链的唯一标识符。这是为了通过允许节点检查CHAINID 来防止升级的节点连接到未升级的节点,这是一种特别有用的升级,有助于防止“重放攻击”。

以太坊核心开发人员一直坚称,以太坊的发展路线图中仍将对EVM 进行进一步的升级。新的操作码和预编译可能会继续添加到EVM 中,这表明现有的zkEVM 实现必须灵活地适应EVM 中的变化。然而,即使有了这些改进,Mina、Sui 和Aptos 等L1 区块链仍然有机会尝试不同的虚拟机和智能合约语言设计,从长远来看,这可能会使EVM 过时。 zkEVM 实现主要侧重于在字节码和共识级别与EVM 的深度兼容性,长期押注EVM 在智能合约开发中的相关性和主导地位。

Optimistic Rollups 到ZK Rollups

最后,本报告中讨论的五个zkEVM 实现打败了Optimism 或Arbitrum 等Optimistic Rollups,这并不是一个必然的结论。在技术层面上,ZK Rollups 比optimistic Rollups 更安全、更高效,并且有可能更具成本效益。但是,它们在证明为EVM 设计的通用计算方面的灵活性并未经过测试和大规模部署。一旦zkEVM 推出并且其背后的技术更加成熟和稳健,基于欺诈证明的Optimistic Rollup(例如Optimism 和Arbitrum)就有可能升级并过渡到生成有效性证明。此外,混合Rollup和多证明者系统使用欺诈证明乐观验证用户交易并间歇性地发布有效性证明。

随着zkEVM 背后的技术发展,逐渐加快有效性证明生成时间将是一个活跃的研究领域,今天以太坊核心开发人员如Vitalik Buterin 和L2 开发人员如Optimism 的Kelvin Fichter 正在认真讨论这个问题。

已经在以太坊上推出的Rollup具备用户群优势,理论上可以很容易地移植到Rollup的新升级版本,类似于2022 年推出的Arbitrum Nitro。这可能是为什么zkEVM 团队(不包括Scroll)在他们主网启动和建立庞大的用户群之前,对完全开源他们的项目代币犹豫不决的原因之一。随着时间的推移,optimistic Rollups 到ZK Rollups 的可升级性表明:竞争不仅存在于zkEVM 实现不之间,也存在于更广泛的以太坊L2 生态。

结论

市场近来对zkEVM 的兴趣激增引发了几个关于以太坊可扩展性路线图终局的问题。在最真实的意义上,zkEVM(与EVM 具有共识级别兼容性的ZK Rollup)代表了对EVM 主导地位的长期押注,同时也押注以太坊作为智能合约执行的主要平台。 zkEVM 也是对以太坊可扩展性路线图的长期押注,因为它以Rollup为中心将交易执行抽象为Rollup,而不是与共识和数据可用性相结合。

尽管今年宣布了几个接近生产就绪的zkEVM,但该技术仍处于起步阶段。实现与EVM 具有共识级别兼容性的zkEVM 仍然是一项研究计划,距离准备好投入生产可能还需要数年时间。然而,仅在一年前,实现与EVM 的字节码级兼容性的zkEVM,情况也是如此。 Polygon、zkSync、StarkWare 和Scroll 对zkEVM 实现的快速发展继续推动计算机科学和数学的界限,并且超出了预期。在以太坊主网上推出Polygon zkEVM 和zkSync 2.0 将是使用真实用户和DApp 活动测试zkEVM 的重要起点。

两个生产就绪的zkEVM 的可用性和可扩展性可能不仅会颠覆zkEVM 的竞争格局,而且还会颠覆Optimistic Rollups 和L1 竞争链的格局。如果zkEVM 成功,Optimistic Rollups 将不得不转换为ZK Rollup设计以保持长期竞争力。 L1 竞争链还必须在其虚拟机设计上进行创新,以与可扩展的EVM 竞争。关于ZKP 在以太坊上的就绪性和适用性还有很多待证明,而生产就绪zkEVM 的推出应该被视为这项新技术竞争格局的开始。

zkEVM 的一些持续关注和发展领域包括它们的硬件设计和代币经济学。用于生成ZKP 的硬件环境以及哪种Rollup成功地去中心化证明生成仍有待观察。这在很大程度上将归结为各个团队的社区建设,以及这些Rollup中的任何一个能够在多大程度上成功地吸引DApps,尤其是DeFi DApps 向其网络的大规模迁移。这些发展领域需要时间和迭代才能逐渐走上正轨。然而,鉴于zkEVM 试图在以太坊上实现的先进性,以及它们对公共区块链未来的广泛潜在影响,这一进展将受到以太坊利益相关者、研究人员、密码学家和学者等的密切关注。

原文链接

来源
免责声明:以上内容仅为作者观点,不代表Followin的任何立场,不构成与Followin相关的任何投资建议。
喜欢
收藏
评论