本文介绍了4种级别的EVM等效性,以太坊上的zkEVM项目概览,构建zkEVM所面临的的挑战,zkEVM的竞争展望。
介绍
零知识以太坊虚拟机(zkEVM)是一项雄心勃勃且改变游戏规则的技术,可在短期和长期内提高以太坊的可扩展性。今年,三个主要的以太坊扩容项目——zkSync、Polygon和Scroll——各自宣布了其zkEVM实施的重大进展,其中许多项目已在今年的早期alpha阶段启动,如今作为独立的第2层(L2)运行区块链。随着时间的推移,zkEVM有可能直接从以太坊的基础层运行。
简而言之,zkEVM是虚拟机,可以执行与以太坊虚拟机(EVM)相同的高级编程语言或低级字节码,并使用零知识证明(ZKP)证明此代码,加密证明可在不泄露的情况下验证数据有关数据本身的任何信息,例如其属性或内容。早在1982年,计算机科学家Goldwasser、Micali和Rackoff首次将ZKP作为概念引入。ZKP经常与同态加密相混淆,同态加密是密码学的另一个分支,它允许对加密数据执行操作而无需解密数据。同态加密方案于1978年由Rivest、Adleman和Dertouzos首次提出,已成为实现云计算和存储的关键技术之一。值得注意的是,同态加密也被用于一些公共区块链协议,如隐私币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和rollup等核心概念为理解zkEVM奠定基础。然后,我们将总结以太坊上可以存在的不同类型的zkEVM,并比较目前生产中的5种主要zkEVM实现。然后,我们将重点介绍这项新兴技术在实施中面临的挑战,以及我们对zkEVM随时间推移的竞争格局的展望。总体而言,zkEVM仍处于以太坊开发和采用的早期阶段,尽管它们成为L2区块链和最终以太坊协议本身的首选扩展技术的潜力很高。
今天的以太坊
在深入研究zkEVM的复杂性之前,重要的是首先要从高层次理解交易是如何包含在以太坊的区块中的。
区块生产
当用户向以太坊提交新交易时,连接到网络的计算机将交易存储在称为内存池的本地数据结构中,内存池负责维护未确认交易的列表。然后,随机选择运行节点和抵押32ETH作为网络抵押品的验证者,将内存池中的交易批量处理并处理成块。选择将新区块附加到以太坊区块链的验证者有时被称为“提议者”。一些提议者在构建区块时将依赖第三方区块构建器而不是本地内存池,以从最大可提取价值(MEV)中获得额外奖励。有关MEV的更多信息,请阅读这份GalaxyResearch报告。
区块按顺序组织,并通过父哈希链接在一起。每个区块都包含其父区块的前一个哈希,将区块链接在一起并形成区块链数据结构。通过父哈希链接区块如下图所示:
直到2022年9月15日,以太坊依赖工作量证明(PoW)共识机制,矿工代替验证者负责区块生产,矿工无需消耗大量资金,而是需要消耗大量电力处理用户交易。如需PoS对以太坊影响的完整分类,请在此处?阅读Galaxy的Merge研究纲要。
在PoW和PoS共识协议下,以太坊区块链缺乏可扩展性的根源在于有限的区块空间问题。区块空间在以太坊上以gas为单位测量。需要更多计算量才能执行的交易通常以较高的gas单位定价,而计算成本较低的交易具有较低的gas成本。gas通过以太坊网络自动设置的称为基本费用的动态gas费率转换为ETH。以太坊协议限制区块,因此它们最多只能包含3000万单位的gas。这个最大区块gas限制保持了快速的区块传播时间并降低了链分裂的风险。有关以太坊费用动态的更多信息,请阅读这份GalaxyResearch报告?。
LayerZero:已上线Polygon zkEVM主网:金色财经报道,全链互操作性协议LayerZero官方表示,已上线Polygon zkEVM主网,并将继续寻求将LayerZero引入每条链。[2023/4/26 14:26:45]
以太坊虚拟机
一旦交易被包含在以太坊上的一个区块中,这些交易就会通过称为以太坊虚拟机(EVM)的自定义运行时环境执行。EVM旨在在以太坊上部署任意复杂度的代码。这本质上是使以太坊成为通用区块链的根本原因,有时也称为图灵完备系统。
EVM执行交易的方式有规则。首先,EVM将人类可读的编程语言编译为面向机器或“低级”语言,称为EVM字节码。然后,EVM将字节码解析为称为“操作码”的顺序指令列表。每个操作码命令EVM执行不同的任务,并以十六进制形式在EVM字节码中表示。例如,在链上执行智能合约时命令EVM保留瞬态数据的操作码以助记符表示为“MSTORE”,以十六进制形式表示为“0x52”。为了帮助读者概念化操作码,以下是以太坊黄皮书中定义的简单操作码的快照?:
多年来,以太坊开发人员向EVM添加了新的操作码。他们还添加了预编译,使用户能够在网络上执行更高级的操作,例如哈希函数和标量乘法。作为同类中的第一个运行时环境,EVM已被广泛用作通用公共区块链上智能合约部署的标准。然而,作为同类技术中的第一项,EVM确实存在设计限制,其中与本报告最相关的是EVM缺乏与ZKP的兼容性。
rollup
为了提高以太坊的可扩展性,有几个L2网络将交易执行从基础层抽象到rollup。Rollups压缩交易数据,使得将一批交易提交到基础层所需的区块空间量明显低于通过链上的内存池单独确认这些交易。rollups由被称为“排序器”的网络运营商运营,而不是验证者或矿工。排序器负责验证rollup的状态转换。它们是将用户交易打包成一个rollup批次,然后将这批交易的证明提交给以太坊基础层的实体。下图说明了排序器在rollup中的作用:
有关以太坊L2生态系统的完整概述,请阅读这份Galaxy研究报告?。
Rollup不同于以太坊上的其他扩展解决方案,例如Plasma和状态通道,这些方案在以太坊的历史进程中,核心开发人员已经研究并从以太坊的可扩展性路线图中废弃。rollup有两种主要类型:Optimistic和零知识(ZK)。Optimisticrollups依赖于欺诈证明,这意味着对L2网络状态的更改会在没有直接证明其有效性的情况下发布到以太坊。只要至少有一个诚实的参与者在观察optimisticrollup的状态转换,就可以检测并取消无效的状态转换。就Arbitrum和Optimism而言,可以提交欺诈证明的“挑战窗口”持续一周。一旦挑战窗口结束,optimisticrollup的状态转换就被认为是最终的和有效的。
另一方面,ZKrollup依赖于ZKP,每次在L2上处理交易批次时,ZKP都会生成有效性证明并发布到以太坊。自动生成所有交易批次的有效性证明,增加了ZKrollup的安全保障。这也意味着每次向以太坊提交新的有效性证明时都可以从ZKrollups中提取资金,而对于optimisticrollups通常有大约7天的等待期以允许争议和欺诈证明的生成。ZKrollups还提供了比optimisticrollups更好的数据压缩。下表总结了optimistic和ZK-rollup之间的高级差异:
optimisticrollup相对于ZKrollup的主要优势是optimisticrollup的虚拟机与EVM的虚拟机几乎相同。目前在以太坊上运行的optimsitcrollup实现,如Optimism和Arbitrum,模拟了与以太坊相同的交易执行环境,分别称为OVM和AVM。大多数ZKrollup都是特定于应用程序的,这意味着它们不支持所有类型的基于以太坊的交易和dapp。
Loopring、StarkExrollups和zkSync1.0是特定应用程序ZKrollups的示例,它们支持特定类型的支付、代币交换和/或NFT铸币。
StarkNet等某些ZKrollup是通用的,这意味着它们支持所有类型的交易和dapp。然而,这些ZKrollup要求dapp开发人员学习如何在新的自定义执行环境中执行他们的智能合约代码,该环境针对生成ZKP而优化,而不是EVM兼容性。鉴于现有的去中心化应用程序和用户难以加入新的执行环境,这对在以太坊上采用ZKrollups提出了挑战。为了克服这个问题,PolygonHermez、zkSync和Scroll等ZKrollup项目正在致力于实现与EVM兼容的ZKrollup,EVM是以太坊上所有智能合约代码的原生执行环境。
STARK、SNARK、Volitions和validiums
在实践中,rollup不仅通过链上发布的证明类型来区分,而且还通过rollup的数据可用性策略和证明算法来区分。
Celer cBridge和IM已支持ConsenSys zkEVM测试网:金色财经报道,Celer Network发推称,cBridge和Celer链间消息传递技术 ( Celer IM ) 现已支持ConsenSys zkEVM测试网,BNB、BUSD、MATIC和AVAX代币的无缝跨链桥已上线。[2023/3/8 12:49:18]
如本报告前面所述,有两大类有效性证明,称为SNARK和STARK。
SNARKs依靠椭圆曲线密码学,这是一种在比特币和以太坊中最常用的数据加密技术。SNARK通常还依赖于可信设置,这意味着该算法需要由可信实体提前生成一段数据。可信设置仪式不是重复的事件,而是一个人或一群人生成核心数据的一次性过程。此数据称为公共参考字符串(CRS),它是一个值,然后在zk-SNARK算法中用于生成可信赖的证明。如果生成CRS所需的输入受到损害,那么这可能会导致错误的证明生成。因此,重要的是所有仪式参与者销毁用于生成CRS/SRS的输入,或者在仪式完成后使其无法恢复。基于SNARK的算法的一些示例包括Sonic、Plonk、Redshift和Marlin。STARKS不要依赖椭圆曲线或可信设置。STARKS依赖哈希函数,一些开发人员认为哈希函数有利于抗量子加密。然而,STARK更复杂,需要更多的计算资源才能运行。它们在2018年推出的时间也晚于SNARKs,而SNARKs自2012年以来一直存在。由于这些原因,作为证明算法,SNARKs比STARKs被更广泛地使用。基于STARK的算法的一些示例包括Fractal、SuperSonic、Fri-STARKs和genSTARK。
除了生成有效性证明的不同方法外,ZKrollup的数据可用性策略也不同,这意味着它们对交易批次的哪些组件最终发布在链上的策略。Rollups,包括optimistic和ZK,通常在每次处理一批交易时将三份数据提交到主网以太坊。首先,rollup的验证者将新网络状态的根哈希提交给以太坊。状态记录在一个Merkle树数据结构中,如下图:
根哈希是整个Merkle树的密码承诺,有时也称为状态承诺。并不要求所有ZKrollup都将根哈希提交给以太坊,但它们这样做的目的很常见,目的是使用发布在以太坊上的数据轻松重建和验证在rollup上执行的交易。
除了用于确认第2层区块链新状态的高级根哈希之外,以太坊上还记录了加密证明。在optimisticrollups的情况下,此证明可以是ZKP或欺诈证明。它可以通过STARK或SNARK算法生成。最后,除了这两条数据之外,ZKrollups还向以太坊发布了批处理交易的压缩版本,也称为状态增量。Statedelta是一种将大量交易数据提交到以太坊的经济高效的方式,这是ZKrollups独有的。Optimisticrollups代替状态增量,使用其他数据压缩技术来批量处理事务并将它们提交到链上。
使用来自Merkle树最低层的数据,并将其与来自Merkle树最高层的根哈希相结合,允许任何人重建和验证在链上提交的交易批次的内容。大多数汇总的一个决定性特征是能够使用链上提交给以太坊的数据重新创建在第2层网络上执行的交易。然而,某些rollup避免将状态delta或其他压缩交易数据提交给以太坊,而是将数据发布到其他地方以降低运营成本并提高网络可扩展性。某些开发人员会争辩说,避免将交易数据提交给以太坊并因此破坏交易重建保证的第2层网络不应归类为rollup。
rollup处理状态delta的方式决定了该网络是可以归类为validium还是volition。
Validium最好将其理解为仅在链上提交有效性证明和根哈希,同时将状态delta存储在链下的单独网络上的rollup。这在理论上将rollup的交易吞吐量提高到9,000TPS,因为rollup不再依赖以太坊的数据可用性并受网络区块空间的限制。validiums的缺点是安全性。用于发布链下数据的独立网络不继承与以太坊相同的安全保证。volitions让用户决定在链下或链上发布状态delta。它们首先由以太坊扩展初创公司Starkware开创。这是一种新颖的方式,通过直接在链上向以太坊或Starkware可信数据可用性委员会(DAC)等链下网络确认,让用户决定他们的交易是否需要增强的安全性,但成本可能更高。EVM等效的4个主要层面
给出了理解以太坊上交易执行的上述框架、EVM和ZKrollups,我们现在可以讨论zkEVMs。zkEVM是一种ZKrollup,它模仿与主网以太坊相同的交易执行环境。zkEVM的实现在证明算法和数据可用性策略上有所不同。zkEVM的EVM等效级别也不同。EVM等效性有四个主要级别。以下是不同级别的高级摘要:
语言层面等效
为了实现语言层面的EVM等效性,zkEVM必须能够理解并本地编译EVM友好的语言。换句话说,这些类型的zkEVM可以将EVM友好的编程语言翻译成一种为生成ZKP而优化的定制语言。这被认为是在ZK-rollups中实现EVM兼容性的最简单和最有效的方法之一。然而,这些类型的zkEVM在为用户和智能合约开发人员提供与EVM交互相同的体验方面最受限制。
OffChain Labs联创: zkEVM远未成熟,任何推动这种叙事的团队都在损害社区:10月17日消息,Arbitru m开发公司OffChain Labs联创Steven Goldfeder在其社交平台表示,目前有团队声称首个zkEVM将于本月底上线主网,但其对此持否定态度,并称任何推动这种叙事的团队都在损害社区。
Goldfeder表示,当前推出的zkEVM测试网并没有启用zk-proofs,也没有经过安全审计,这表明我们还没有为黄金时段做好准备。[2022/10/17 17:29:00]
与EVM的语言层面兼容性意味着通过编译器运行Solidity,该编译器将EVM的高级编程语言翻译成定制的低级语言,可以由专为生成ZKP而设计的虚拟机解释。对于大多数只关心通过Solidity代码与EVM交互的以太坊用户和智能合约开发人员来说,zkEVM的底层行为可能并不重要,只要可以通过zkEVM执行与以太坊主网上相同类型的代码即可。另一方面,为EVM构建的复杂开发工具、框架和测试环境可能需要修改才能在仅具有语言层EVM兼容性的zkEVM上使用。
字节码层面等效
EVM等效的第二个和第三个层面是字节码层面,这需要ZKrollup才能解释从更高级语言编译下来的EVM字节码。zkEVM可以模仿与EVM相同的高级编程语言和低级字节码,从而实现与EVM更深层次的兼容性。这些类型的zkEVM构建起来更复杂,因为它们需要更高级的工程设计。
如本报告前面所述,虚拟机执行EVM字节码的方式是通过称为操作码的特定指令列表。每个操作码命令EVM执行不同的任务。字节码兼容的zkEVM的目标是创建一个ZK系统,该系统可以证明EVM字节码并解析字节码包含的各种操作码。这些类型的zkEVM的优势在于它们与基于EVM的应用程序和工具的兼容性。完全字节码兼容的zkEVM将能够支持与基于以太坊的原生应用程序相同的调试工具和开发人员基础设施。然而,实现完全的字节码兼容性通常会带来创建低效且昂贵的ZK系统的负面结果。为了降低成本和提高效率,部分字节码兼容的zkEVM可能会删除EVM的某些功能,例如使用ZK数学和密码学更难证明的预编译。
目前,有两种字节码兼容的zkEVM,PolygonzkEVM和ScrollzkEVM。两者都将在本报告的后面部分进行更详细的讨论。在他们当前的设计中,这两个实现仅部分兼容EVM字节码。但是,随着时间的推移,这些实现正朝着完全兼容的方向努力。
共识层等效
EVM等效的第四个也是最后一个层面是共识层。这是ZKrollups可以实现的对EVM的最高原生兼容性。它有时被称为“enshrinedrollups”,尽管并非所有enshrinedrollups都需要基于ZK,但可以是optimisticrollups。这个想法是由zkEVM生成的加密证明不需要以任何身份在以太坊上重新执行。证明本身可用于验证主网以太坊上生成的区块。从某种意义上说,实现共识层面兼容性的zkEVM是zkEVM的最真实形式。
对于一些开发者来说,能够实现共识层面兼容性的ZKrollup是唯一一种应该称为zkEVM的ZKrollup,而其他具有语言和字节码兼容性的ZKrollup应该分别被认为是EVM兼容的和EVM等效的,但不是一个zkEVM。关于zkEVM的精确定义及其不同层面的EVM等效性,以太坊开发人员之间存在大量争议。事实上,EVM等效是一个范围,上面描述的每个层面都不是严格的类别。zkEVM开发的早期性质意味着为语言层面兼容性而构建的项目也可能提供某种类型的字节码层面兼容性,而字节码层面兼容的zkEVM最终可能会发展成为具有大量共识层面等效性的混合rollup。
在本报告的下一节中,我们将深入了解目前在以太坊上生产的五个zkEVM实现。
以太坊上的zkEVM项目概览
目前,还没有接近生产就绪的zkEVM实现可以实现共识层面的兼容性。这是一个正在进行的研究和开发领域,以太坊核心开发人员将其描述为“多年工程努力”。然而,有些实现在语言和字节码层面上实现了等效,这仍然为以太坊上当前主要以应用程序为中心的ZKrollupLayer2生态系统提供了改进。构建ZKrollup来执行一般的智能合约和用户交易而不是以应用程序为中心的交易是一项艰巨的任务,到目前为止,只有少数项目在主网上成功启动。
以下是以太坊上五个zkEVM项目的高级概述:
zkSync2.0
MatterLabs是一个区块链工程团队,成立于2018年12月。该团队于2020年6月在以太坊上推出了自己的ZKrollup协议,称为zkSync。zkSync是以太坊上锁定总价值第六大L2网络,支持有限范围的智能合约操作,包括ETH、ERC20代币和原生NFT的低gas传输,以及原子互换和限价订单。该公司最近通过由AndreessenHorowitz牵头的B轮融资筹集了5000万美元,并宣布了一项2亿美元的国库基金,致力于在未来几年扩展zkSync生态系统。
Layer2 ZK Rollup的NFT市场Mint Square上线.stark域名:9月17日消息,基于以太坊Layer2 ZK Rollup的NFT市场Mint Square上线由Starknet.id提供支持的.stark域名。.stark个人资料URL现已支持Mint Square测试网,主网即将推出,目前可按长度过滤或按类别进行搜索浏览。[2022/9/17 7:02:48]
zkSync2.0是一种语言级兼容的zkEVM,旨在支持所有类型的智能合约操作。zkSync2.0依赖于一种基于SNARK的证明算法,称为UltraPLONK。它还依赖于称为LLVM的开源编译器基础架构,将Solidity和其他类型的编程语言编译成zkEVM字节码。该项目于2022年10月在“婴儿alpha”阶段启动,预计到2022年底将对外部用户全面开放,尽管MatterLabs团队仍未披露zkSync2.0证明生成的全部细节。一旦启动,zkSync2.0将是一种volition,让用户可以选择将状态delta从他们的链下交易发布到一个称为zkPorter的单独协议,而不是在链上发布到以太坊。该策略理论上会将zkSync2.0的每秒交易吞吐量从2,000TPS提高到超过20,000TPS。
StarkNet
与zkSync一样,StarkNet是Starkware团队构建的已经在以太坊上运行的通用ZKrollup。Starknet的交易执行环境称为StarkNetOS,其原生智能合约编程语言称为Cairo。与其他ZKrollups相比,Starknet是功能最全面的网络之一。StarkNet为用户提供了一个可选的链下数据解决方案,以实现比非volition类型的rollup成倍降低的交易费用。StarkNet操作系统依赖于基于STARK的证明算法。与zkSync2.0一样,在StarkNetOS上生成证明的过程不是开源的。与zkSync等竞争对手类似,随着时间的推移,开源关于证明生成的细节,以便任何人都可以连接到网络,运行专用硬件,并通过生成证明获得奖励,这是rollup长期发展路线图的一部分。
StarkNet本身不支持与EVM的语言层面兼容性。但是,以太坊执行层软件客户端Nethermind背后的团队正在积极构建名为Warp的SoliditytoCairo语言编译器。使用Warp编译器,StarkNet用户可以部署基于以太坊的智能合约,而无需在Cairo重写代码。此外,还有一个名为Kakarot的社区驱动项目,用于构建另一个Solidity到Cairo语言的编译器,以帮助支持StarkNet与EVM的兼容性。
Starkware团队在7月公布了他们推出原生StarkNet代币和新基金会的计划。在透露初始100亿供应量的三分之一将分配给StarkNet核心贡献者后,代币的拟议分配成为争议的根源。今年,Starkware作为一家公司以80亿美元的估值筹集了1亿美元。该轮融资由投资公司GreenoaksCapital、Coatue和TigerGlobal领投。除了StarkNet之外,StarkWare还为用户提供了一种可定制的区块链可扩展性解决方案,称为StarkEx,它利用了该公司新颖的基于STARK的ZK技术。与StarkNet不同,StarkEx是一个以应用程序为中心的ZKrollup。使用StarkEx在以太坊上实现更大可扩展性的一些值得注意的DeFi应用程序包括soRare、Immutable和DeversiFi。
polygonzkEVM
Polygon团队构建的zkEVM实现实现了与EVM的字节码级别兼容性。Polygon的zkEVM预计将于2023年初的某个时候在以太坊上推出,并且最近已开源供公众审查。Polygon的zkEVM实现依赖于基于SNARK和STARK的证明。具体来说,zk-SNARKs用于证明zk-STARKs的正确性。这具有利用与zk-STARK相关的快速证明时间以及生成zk-SNARK所需的相对较轻的计算资源的优势。关于数据可用性,Polygon的zkEVM实现不会立即支持链下数据解决方案。但是,Polygon正积极致力于通过开发PolygonAvail使他们的zkEVM实现成为一种意愿。
Polygon成立于2017年,是一家主要专注于以太坊不同扩展解决方案的公司。它于2020年6月推出了基于权益证明的以太坊侧链,称为PolygonPoS。从那时起,Polygon的产品套件得到了显着发展和多样化。除了该公司的zkEVM实施之外,它还在积极开发另外两个ZKrollup实施,PolygonMiden和PolygonZero,以及结合了optimisticrollup和ZKrollup的混合rollup实施,称为PolygonNightfall。今年早些时候,Polygon团队完成了自首次代币发行MATIC代币以来的第一轮重大融资,并从40家风险投资公司筹集了4.5亿美元。该轮融资由红杉资本印度领投。
Scroll
L2 扩容方案 zkSync 2.0 公开三项资产安全保护措施,将成立安全委员会:Matter Labs 公开其以太坊二层扩容方案 zkSync 2.0 能确保资金安全的三个保护措施,分别依赖于隔离 / 冗余、最小化信任的可升级能力以及引入 zkSync 安全委员会机制。[2021/5/22 22:31:43]
Scroll是另一个字节码层面兼容的zkEVM实现。Scroll由SandyPeng、YeZhang和HaichenShen于2021年创立,他们于2022年宣布为白名单用户推出他们的pre-alpha版本测试网。值得注意的是,围绕其zkEVM实现的所有代码都是公开的,并在开源许可下发布。Scroll将依赖于一种基于SNARK的证明算法,并且不支持链下数据可用性解决方案。此外,Scroll团队正在设计一个用于证明生成的去中心化市场,以支持他们的zkEVM。为此,他们还专注于构建可以由世界各地的用户运行的专用硬件,以无需许可和抗审查的方式生成ZKP。
Scroll团队与以太坊基金会的扩展解决方案研发团队密切合作,称为隐私扩展以太坊(PSE)团队。PSE在zkEVM方面的工作将在本报告的下一节中讨论。与zkSync、StarkWare和Polygon等其他团队相比,Scroll更小,更专注于研究。他们也只专注于他们的zkEVM实施,而其他竞争团队拥有一套其他与ZK相关的产品和服务。Scroll今年在A轮融资中筹集了3000万美元,投资方包括PolychainCapital和BainCapitalCrypto等领先的加密货币风险投资公司,以及包括以太坊基金会的YingTong和CarlosAria在内的几位天使投资人。
隐私与扩展探索(PSE)
PSE是以太坊基金会的一个研究机构,专注于探索ZKP的前沿研究及其在以太坊上的应用。他们以前被称为“AppliedZKP”小组。与本报告中强调的其他zkEVM实施相比,PSE的zkEVM并不专注于在不久的将来成为生产就绪。PSE正在研究的zkEVM专注于根据enshinedrollup模型实现与EVM的共识层兼容性。
PSE研究中使用的证明算法是称为Halo2的zk-SNARK,由Zcash(ZEC)加密货币的核心开发团队ElectricCoinCompany开发。PSE团队构建的zkEVM开发是开源的,任何人都可以参与。除了zkEVM,PSE团队还在推进其他几个项目,包括研究反共谋去中心化应用程序基础设施、增强用户交易隐私以及替代加密签名方案。如需PSE正在处理的项目的完整列表,请单击此处。
构建zkEVM的挑战
与在以太坊上构建生产就绪的zkEVM实现有关,存在一些持续的挑战。实施zkEVM等新技术、zkEVM的去中心化操作以及构建用于生成zkEVM证明的专用硬件的未经证实和未经测试的性质是开发人员面临的障碍。本节提供了对这些挑战的一些见解。
新奇点
zkEVM是以太坊上的一个新概念,工作在2022年才正式开始。这项技术面临的一个简单挑战是其未经证实和未经大规模测试的性质。大多数zkEVM实现在生成证明的方式、生成证明的硬件要求以及去中心化排序器的细节方面仍然存在很大的模糊。建立对zkEVM作为可靠的可扩展性解决方案的信任是Scroll、Polygon、StarkNet和zkSync等团队关注的一个重要领域。
去中心化的挑战
围绕去中心化zkEVM操作的前进道路的问题广泛适用于所有rollup,因为有效性和欺诈证明的生成在很大程度上取决于中心化排序器。如上所述,排序器是L2利益相关者,负责批处理用户交易并将这些批次的证明提交给以太坊的L1。
目前在以太坊上运行的每个rollup都由中心化排序器运营,并依赖于由单个实体管理的可升级智能合约。今天rollup的中心化性质的一个主要原因是由于技术的初期以及在代码中出现意外错误时需要快速修复。此外,尤其是zkEVM背后的技术在不断变化,因此很难自信地激励用户在自己的设备上运行这项新兴技术。为rollup去中心化排序器通常意味着启动一个代币并充实一个共识协议,以一种无需许可的方式组织多个排序器和证明者。虽然启动代币和创建共识协议的挑战对于公共区块链来说并不新鲜,但它们需要时间和大量的考虑才能负责任地启动。由于设计和最初的供应分配,StarkWare宣布的代币计划引起了争议,而Polygon预计将在其zkEVM推出后改进其现有MATIC代币的代币经济学。zkSync也有望在未来几个月为其rollup推出专用代币,而Scroll推出代币的计划仍不明朗。
在zkEVM的背景下,用于排序器去中心化的重要的第一步是开源项目软件,在撰写本文时很少有人这样做。在去中心化zkEVM操作方面,可以依赖于大量预先存在的用户进行rollup的zkEVM实现可能具有优势。
zkEVM硬件挑战
虽然zkEVM证明验证起来很简单,但生成它们需要大量计算,部分原因是ZKP背后的数学依赖于线性计算序列。这使得并行化工作以在机器上生成证明变得困难。最近使用递归证明在这方面取得了进展。递归证明是一种减少证明生成延迟的技术。它指的是重复生成证明的证明以进一步压缩交易,从而可以并行处理ZK-rollup上的小批量交易。这是StarkNetVM和Polygon的zkEVM用于生成有效性证明的技术。
由于生成ZKP所需的密集计算性质,zkEVM可能不得不依赖高级硬件,例如图形处理单元(GPU)、现场可编程门阵列(FPGA),甚至专用集成电路(ASIC)。需要专门的硬件来运行必要的计算来生成证明,这与需要专门的硬件来根据工作量证明(PoW)共识协议有效地挖掘区块没有什么不同。这两个硬件行业的增长差异在于证明者与矿工的选择过程。
证明者是负责生成有效性证明的网络利益相关者。另一方面,排序器负责将用户交易排序和打包成批次,并将数据提交到第1层区块链。从技术上讲,排序者和证明者的职责可以合并为一个角色。然而,因为证明生成和交易排序都需要高度专业化的技能才能很好地执行,所以拆分这些职责可以防止汇总功能不必要的集中。
如果证明者和排序器的选择过程类似于矿工的选择过程,依赖于达成中本聪共识并用最高效的硬件奖励参与者,那么ZKP“挖矿”行业就有可能沿着相同的轨迹发展作为比特币的PoW挖矿业。然而,有几个原因可以解释为什么特定证明者的选择过程更可能是一个在设计上类似于权益证明(PoS)而不是中本聪风格的PoW共识的确定性过程。
首先,对证明者使用中本聪式的选择过程意味着拥有最高效硬件的证明者将主导证明市场。为了避免证明者市场的垄断,以及证明者重复用电,像Scroll这样的项目正在寻找替代设计来选择证明者,这需要证明者将资产作为抵押品,这与以太坊验证者被要求抵押32ETH的方式不同。staking模型的实施确保证明者在游戏中拥有皮肤,可以因破坏网络安全性和活跃性的行为而受到惩罚,例如未能为指定的一批交易计算有效性证明。重要的是,奖励和惩罚证明者的激励与在ZK-rollup上选择排序器的模型相平衡,以便网络利益相关者有足够的参与来履行这两项责任。
确定性地选择证明者生成证明而不是让所有证明者竞争生成证明的另一个好处是可以提高交易吞吐量和网络可扩展性。选择证明者意味着几个证明者可以并行地为不同批次的交易生成证明,而不是所有证明者都为同一批交易生成证明。然而,依赖于某种形式的staking和slashing的领导人选举系统的弱点之一是复杂性。与中本聪风格的PoW系统相比,PoS系统依靠更复杂的制衡设计来保持参与者的诚实。例如,中本聪式的共识通常只需要参与者,即矿工,产生他们工作的证明来获得奖励。确定性PoS系统可能对参与者提出更多要求,例如存入资产、委托资产、对交易和区块进行投票、提议区块以及监控其他验证者的行为。
大多数zkEVM可能会尝试通过选择确定性而不是概率性的无需许可的证明者选择过程来尽量减少rollup的用电量。以太坊联合创始人VitalikButerin估计,根据PoW共识协议,计算zkEVM的有效性证明所需的电力不到用于开采ETH的1%。zkEVM设计人员的目标是尽可能减少证明时间,同时让尽可能多的用户可以经济地访问证明生成。实现共识层兼容的zkEVM的要求之一是将证明生成时间减少到与以太坊第1层块时间相当。
只有当zkEVM背后的规范变得清晰和标准化后,ZKP硬件制造商才能真正成长和成熟。最后,预测有效性证明计算行业的用电量仍然很困难,直到rollups采用并实施一种无需许可地选择证明者和排序器的模型。
zkEVM竞争展望
在短期内,各种zkEVM正在竞争成为第一个在主网上启动。然而,从长远来看,他们将在EVM兼容性层面和VM效率方面展开竞争。一旦支持zkEVM的技术得到更广泛的测试、使用和理解,zkEVM很可能还必须与optimisticrollups和其他L2可扩展性解决方案竞争以吸引用户采用。
先发优势和后发优势
zkSync、Polygon和Scroll团队的zkEVM实现正在竞相率先在主网上推出。首先在主网上启动的优势归结为在吸引dapp开发人员方面领先于其他zkEVM实现。鉴于rollup之间的互操作性和dapp可组合性很困难,这可能是一个特别重要的收获。Dapp可组合性是指像积木一样在dapp之上构建dapp的能力,是以太坊去中心化金融(DeFi)生态系统的一个特别重要的特征,它使dapp开发人员更有可能被L1或L2所吸引,而这些L1或L2已经拥有最多的采用。
另一方面,由于zkEVM作为一项技术的新颖性,首批推出的zkEVM实现不太可能针对以太坊dapp开发人员进行最优化。正如本报告中提到的,在字节码层面和共识层面上与EVM完全兼容的zkEVM实现尚未准备好用于生产。可以更原生地支持以太坊dapp部署的zkEVM实现可能不会首先启动,而是具有更多EVM等效的后发优势。等效性水平越深,zkEVM的开发人员入职体验就越容易。换句话说,从2015年以来一直是主要dapp的执行环境的EVM可以转移的工具越多,zkEVMdapp开发人员的采用就越好。
通过EVM等效性吸引dapp开发人员是zkEVM实现之间第一个明显的竞争领域,虽然dapp开发人员采用的先发优势很强,但该技术还处于初期阶段,因此仍有进行重大迭代和改进的空间。来构建一个生产就绪的zkEVM。最终,该游戏类似于从零开始的创新者困境——成为第一个并尝试建立分销和社区更好,还是成为第二个并以更好的功能推翻先行者更好?
虚拟机设计
随着时间的推移,zkEVM的另一个竞争和改进领域是效率。如前所述,EVM并未针对ZK系统进行优化,构建通用的ZKrollup可以证明基于以太坊的智能合约和dapps需要大量开销。随着时间的推移,为SNARK或STARK证明优化的其他VM设计可能会降低EVM兼容性,这是Starkware团队强烈持有的观点。将Solidity编译为Cairo的Warp工具和其他类似工具都是社区驱动的举措,因为内部StarkWare团队专注于使StarkNet的VM尽可能高效,而不是简单地与EVM兼容。
在以太坊上,值得注意的是,EVM不能在不破坏dapp向后兼容性的情况下进行重大更改或升级。自EVM于2015年发布以来,开发人员对EVM及其高级编程语言Solidity进行了修补,以在较小的方面提高可用性和安全性。例如,在2019年以太坊伊斯坦布尔硬分叉升级期间,核心开发人员向EVM添加了一个名为“CHAINID”的新操作码,它将返回规范链的唯一标识号。这是为了通过允许节点检查CHAINID来防止升级的节点连接到未升级的节点,这是一种特别有用的升级,有助于防止“重放攻击”,在这种攻击中,恶意行为者可以利用不良的节点发现。
以太坊核心开发人员一直坚称,以太坊的发展路线图中仍将对EVM进行进一步的更改。新的操作码和预编译可能会继续添加到EVM中,这表明现有的zkEVM实现必须灵活地适应EVM中的变化。然而,即使有了这些改进,Mina、Sui和Aptos等替代第1层区块链仍然有机会尝试不同的VM设计和智能合约语言设计,从长远来看,这可能会使EVM过时。zkEVM实现主要侧重于在字节码和共识层面与EVM的深度兼容性,长期押注EVM在智能合约开发中的相关性和主导地位。
Optimisticrollups过渡到ZKrollups
最后,本报告中讨论的五个zkEVM实现击败了Optimism或Arbitrum等乐观汇总,这并不是一个必然的结论。在技术层面上,ZKrollups比optimisticrollups更安全、更高效,并且有可能更具成本效益。但是,它们在证明为EVM设计的通用计算方面的灵活性并未经过测试和大规模广泛部署。一旦zkEVM推出并且其背后的技术更加成熟和稳健,以欺诈为动力的乐观汇总就有可能升级并过渡到生成有效性证明。此外,混合汇总和多证明者系统使用欺诈证明乐观地验证用户交易并间歇性地发布有效性证明,随着zkEVM背后的技术成熟,逐渐加快有效性证明的生成时间是一个活跃的研究领域,今天正在认真讨论由像VitalikButerin这样的以太坊核心开发人员和像Optimism的KelvinFichter这样的L2开发人员。
已经在以太坊上推出的Rollup具有预先存在的用户群的优势,理论上可以很容易地移植到Rollup的新升级版本,类似于2022年推出的ArbitrumNitro。这种可能性可能是团队为什么选择zkEVM的支持者对完全开源他们项目的代码犹豫不决,直到他们的主网启动,直到他们的rollup建立了一个相当大的用户群以与其他现有rollup的网络护城河竞争。随着时间的推移,optimisticrollups到ZKrollups的可升级性表明zkEVM实现不仅相互竞争,而且在更广泛的以太坊L2生态系统的背景下。
结论
最近对zkEVM的兴趣激增引发了几个关于以太坊可扩展性路线图终局的问题。在最真实的意义上,zkEVM代表了对EVM主导地位的长期押注,并且通过关联,以太坊作为智能合约执行的主要平台。zkEVM也是对以太坊可扩展性路线图的长期押注,因为它以汇总和将交易执行抽象为rollup而不是与共识和数据可用性相结合。
尽管今年宣布了几个接近生产就绪的zkEVM,但该技术仍处于起步阶段。实现与EVM具有共识层面兼容性的zkEVM仍然是一项研究计划,距离准备好投入生产可能还需要数年时间。然而,对于仅在一年前实现与EVM的字节码级兼容性的zkEVM,情况也是如此。Polygon、zkSync、StarkWare和Scroll对zkEVM实现的快速发展继续推动计算机科学和数学的界限,并且超出了预期。在以太坊主网上推出PolygonzkEVM和zkSync2.0将是使用真实用户和dapp活动测试zkEVM的重要起点。
两个生产就绪的zkEVM的可用性和可扩展性可能会不仅颠覆zkEVM协议的竞争格局,而且还会颠覆optimisticrollups和替代L1区块链的竞争格局。如果zkEVM成功,optimisticrollups将不得不转换为ZKrollup设计以保持长期竞争力。替代的L1区块链还必须在其VM设计上进行创新,以与可扩展的EVM竞争。关于ZKP在以太坊上的就绪性和适用性还有很多待证明,而生产就绪zkEVM的推出应该被视为这项新技术竞争格局的开始。
zkEVM的一些持续关注和发展领域包括它们的硬件设计和代币经济学。用于生成ZKP的硬件环境以及哪种rollup成功地去中心化证明生成仍有待观察。这在很大程度上将归结为各个团队的社区建设,以及这些汇总中的任何一个能够在多大程度上成功地引发dapps,尤其是DeFidapps向其网络的大规模迁移。这些发展领域需要时间和迭代才能正确。然而,鉴于zkEVM试图在以太坊上实现的先进性,以及它们对公共区块链未来的广泛潜在影响,这一进展将受到以太坊利益相关者、研究人员、密码学家和学者等的密切关注。
在加密行业你想抓住下一波牛市机会你得有一个优质圈子,大家就能抱团取暖,保持洞察力。如果只是你一个人,四顾茫然,发现一个人都没有,想在这个行业里面坚持下来其实是很难的。
想抱团取暖,或者有疑惑的,欢迎加入我们-----公众号:佩佩梭哈
感谢阅读,我们下期再见!
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。