zkSync2.0主网上线在即 先行了解各类zkEVM_ROL:ROLL

Vitalik是希望随着时间的推移,通过zkEVM的改进和以太坊本身的改进相结合,最终所有zkEVM都成为Type-1类。这样的好处在于,未来会有多个zkEVM,既可以用于ZKRollup,也可以用于验证以太坊链本身。

作者:0x1

原文:《zkSync2.0主网上线之际浅析各类zkEVM》

以太坊的发展路线越来越倾向于ModularBlockchain,其本质就是Layer1的datasharding和Layer2的Rollups扩容相结合,成为一种模块化架构,从而推动以太坊实现“世界计算机”的初衷。其中Rollups的技术路径选择方面,ZKRollup被认为是以太坊扩容的最终目标。

ZKRollup

ZKRollup的核心工作机制是将链上的用户状态压缩存储在一棵Merkle树中,并将用户状态的变更转移到链下进行,同时通过zksnark/zkstark证明来保证该链下用户状态变更过程的正确性。通俗地理解,ZKRollup可以理解为通过zksnark或zkstark来使用亚线性处理以验证线性数量的语句。比如,1000条语句需要10次验证者检查,10000条语句需要11次验证者检查。所以,呈现出来的结果是,ZKrollup可以实现以太坊扩容。

数据:zkSync桥接存储总价值突破20万枚ETH:金色财经报道,据 Dune Analytics 数据显示,以太坊 Layer2 扩容解决方案 zkSync 跨链桥接存储总价值已突破 20 万枚 ETH,截至目前达到 200,003 ETH(按照当前 ETH 价格计算超过 3.3 亿美元),参与桥接交易的用户量为 530,753 个。其他 L2 存储总价值方面,当前 Arbitrum 跨链桥存储总价值约为 211.23 万枚 ETH,Optimism 约为 46.65 万枚 ETH,StarkNet 约为 1.04 万枚 ETH。金色财经此前报道,zkSync 开发公司 Matter Labs 于去年 11 月中旬完成 2 亿美元 C 轮融资,Blockchain Capital 和 Dragonfly 共同领投。[2023/1/21 11:24:26]

ZKRollup的大致区块链事务处理过程如下:

用户将他们的资产锁定在L1上的zkrollup智能合约中;

用户将涉及这些资产的交易提交给L2,L2中的某些角色将这些交易通过某些规则收集成有序批次,并为每个批次生成有效性证明和聚合状态更新;

这个状态更新和证明被提交到L1的zkrollup智能合约并被验证,就会更新在L1的区块链上;

用户可以使用这种L1状态来检索他们的资产,从而实现完全的自我托管,所以zkrollup也被认为继承了以太坊安全。

zkEVM的必要性

zkSync呼吁开发者就其技术文档提供改善反馈:9月25日消息,Layer2扩容项目zkSync官方发推称,由于距离zkSync 2.0主网启动的时间已越来越近,为了提供更好的开发支持,希望开发者们就其技术文档的检索便捷性、完整性、可读性等多个方面提供全面的建议与反馈。[2022/9/25 7:19:45]

众所周知,第一代的ZKRollups是不支持EVM的,可编程性和可组合性较差,只能限定在一些特定的场景,比如:Loopring只能限定在Payments&Swaps等场景;Immutable只能限定在NFTMinting&Trading&Games等场景;zksync1.0其实也不支持zkEVM。不具有通用性。

后来,头部的那些ZKRollups开始探索,在ZKRollup上研发支持EVM字节码的代码执行环境,从而使得以太坊上的智能合约可以从以太坊迁移到ZKRollup上,而无需从头开始编写代码。

EVM是第一个图灵完备的区块链虚拟机,于2015年发布。它是迄今为止最久经考验的区块链虚拟机,也是以太坊非常重要的智能合约基础设施。甚至在谈到其他区块链时,也会将EVM兼容与否作为一个评判维度,因为EVM兼容的背后代表的不仅仅是智能合约执行环境,也代表着可用的以太坊生态和工具集,更代表着不可忽视的网络效应。所以,ZKRollups也没敢忽略这一块儿。

zkEVM则可以理解为将EVM作为智能合约引擎运行在ZKRollup中。zkEVM的目标是在不失去Rollup性能优势的基础上,将以太坊体验完全带入到L2。

zkSync在测试网中被意外触发安全开关Exodus Mode,可证明其安全机制有效:据官方消息,Matter Labs 表示昨日在以太坊测试网(Ropsten)上有用户触发了扩容方案 zkSync 1.0 的“Exodus Mode”(出埃及记模式),这并不是计划内的操作,但是也证明了 zkSync 1.0 的安全机制是有效的。该模式的触发是由于 Matter Labs 在测试一个新的系统,最终导致了系统认为 zkSync 的操作节点已下线了或者是恶意的,也就导致了该模式可以被触发。Matter Labs 表示,Exodus Mode 是 zkSync 可以与以太坊主链安全性一致的保证,在触发该模式后,用户可以重构状态数据并从 zkSync 网络中提现资产。[2021/4/24 20:53:50]

截至目前,zkSync2.0、PolygonHermez2.0、Scroll等头部的通用ZKRollup项目都已经先后推出了zkEVM测试网,StarkNet则已经进入到了AlphaMainnet阶段。

zkEVM的兼容性分类

当前的ZKRollups的zkEVM与Ethereum本身并非完全兼容,更遑论“以太坊等效”的终极愿景。所以,不仅以太坊本身的升级规划在迁就Rollup友好型,各个ZKRollup项目也一直在解决与以太坊的兼容性问题。

Vitalik根据与现有EVM基础设施的兼容性程度,将zkEVM通用ZKRollup分为4类:

ZKSwap开发负责人 Alex Lee:构建支持通用 EVM 的 rollup 扩容解决方案 ZKSwap在路上:据官方消息,2021年04月12日晚,由Gate.io主办的直播专访节目《酒局币赴》邀请到ZKSwap开发负责人 Alex Lee直播分享近期最新发展。直播期间Alex与Gate.io合伙人酒儿就面对市场竞争格局产生变化后,ZKS将如何把握机遇与挑战进行了探讨与交流。

Alex 表示,目前,Layer2赛道已经是一片繁荣了,技术上不断创新,各种产品也层出不穷。ZKSwap推出的 Zkspeed 扩容方案兼顾了 ZK-Rollup、Validium 和 Optimistic rollup 方案的特点。即实现所有与 Layer1 交互的交易数据全部上链(ZK-Rollup),把单纯 Layer2 的交易数据存放在链下(Validium),交易 hash 数据上链,同时 ZKSpeed 也会提供一个完全上链的版本,这样可以实现更高的安全性,并提供零知识证明保证状态转换的有效性。虽然目前 ZKSwap 的方案还不兼容 EVM,但ZKSwap 团队的愿景正是构建一个支持通用 EVM 的 rollup 扩容解决方案,使得其他应用无需重新编写智能合约就能实现快速迁移,目前 ZKSwap 团队已经投入研究,并取得了一些进展。[2021/4/12 20:12:00]

Type-1:完全等效于以太坊

Type-1型zkEVM力求完全且毫不妥协地与以太坊等效。无需改变以太坊系统的任何部分,无需取代哈希、状态树、事务树、预编译或任何其他共识逻辑。简而言之,Type-1型的zkEVM完全等效于Ethereum。

ZKSwap已恢复Uniswap上ZKS/USDT资金池,并重新添加1089万美元流动性:据官方消息,基于ZKRollup扩容技术的AMM去中心化交易所ZKSwap表示空投已全部发放完成,原于Uniswap上的ZKS/USDT流动性资金池现已恢复。

在重新添加Uniswap上的流动性时,由于市场价格高于移除流动性时价格的50%,已按照市场价格重新添加1089万美元流动性。

目前ZKSwap功能已开发完毕,正在进行最后阶段压力测试。[2021/2/8 19:14:43]

Type-1型zkEVM能够像以太坊一样验证以太坊区块,或者至少验证执行层端。

Type-1型zkEVM是以太坊最终需要的,也是Rollups的最理想选择。一方面,Type-1型zkEVM可以让Rollups重用大量的基础设施;另一方面,Type-1型zkEVM能使得以太坊Layer1本身更具可扩展性,因为在Type-1型zkEVM上探索的一些对以太坊的修改,也许未来会被引入到Ethereum本身。

当然,Type-1型zkEVM也有缺陷。以太坊最初并非围绕ZK友好型设计的,因此以太坊协议的许多部分需要大量计算才能进行ZK证明。Type-1型与以太坊一样,无法缓解在这个事情上的低效。针对这个问题,目前行业里提出的解决方案主要是:通过巧妙的工程大规模并行化证明,或通过ZK-SNARKASIC来实现硬件加速。

目前,主要有两个团队在尝试探索Type-1ZK-EVM,一个是PrivacyandScalingExplorationsteam,一个是Taiko。

Type-2:完全等效于EVM

Type-2型zkEVM力求完全等效于EVM,但不完全等效于以太坊。它们与现有的应用程序也完全兼容,但需要对以太坊进行一些小的修改,以使开发更容易并更快地生成证明。

Type-2型zkEVM对区块结构和状态树之类的数据结构有一些修改。由于这些是EVM本身无法直接访问的结构,所以在以太坊上运行的应用程序几乎可以直接在Type-2型zkEVMRollup上运行。虽然无法按原样直接使用以太坊执行客户端,但通过一些修改仍可以使用它们,并且还可以使用EVM调试工具和大多数其他开发工具。

通过删除部分不必要的和ZK不友好的以太坊堆栈,Type-2zkEVM的证明时间比Type-1zkEVM更快些。这些修改虽然显著提高了证明者的效率,但并没有根本性解决证明时间慢的问题。总而言之,Type-2的证明时间还是很慢。

Type-3:几乎等效于EVM

Type-3型zkEVM几乎与EVM等效,在兼容性方面也有所牺牲,但其EVM更易于开发。

Type-3型zkEVM通过删除一些在zkEVM中很难实现的功能,以及在处理合约代码、内存或堆栈方面的调整,总体在等效性方面做出了一些牺牲,实现了更多的验证器时间、并使EVM更易于开发。

在兼容性方面有所牺牲,由于有一些应用程序使用了被Type-3型zkEVM删除的预编译,这些应用程序需要对其中的部分进行重写。

目前,Scroll和Polygon都属于Type-3。当然,从长远来看,还没有哪个zkEVM团队公开表明愿意长期停留在Type-3。Scroll和PolygonHermez都在朝着Type-2型zkEVM的方向发展,虽然还有许多复杂的预编译还没有实现。

Type-4:高级语言等效

Type-4类实际上属于zkVM。Type-4系统通过获取以高级语言编写的智能合约源代码,并将其编译为明确设计为ZK-SNARK友好的某种语言来工作。

优劣势都很明显。有非常快的验证时间,因为Type-4类不对每个EVM执行步骤的所有不同部分进行ZK证明,而是从更高级别的代码开始,从而降低成本并获得更快验证时间。兼容性较差,合约在Type-4系统中的地址与它们在EVM中的地址不同;手写的EVMbytecode更难使用;很多调试的基础设施不能被继承,因为这些基础设施是运行在EVM字节码上。

总而言之,Type-4属于语言级别等效,与字节码级别等效相比在兼容性方面有较大差距。根据Vitalik的观点,目前主要有Zksync属于Type-4类,尽管随着时间的推移它可能会增加对EVM字节码的兼容性;基于Nethermind的warp项目正在构建从Solidity到Starkware的Cairo编译器也会把StarkNet变成Type-4型。

各类zkEVM的比较

这些zkEVM并没有绝对的优劣之分。它们只是在兼容性与速度之间有所取舍,Type-1型zkEVM与以太坊的兼容性最高,但证明速度较慢;Type-4型zkEVM与以太坊的兼容性较差,但验证速度更快。而且我们会发现,现有的ZKRollup的明星项目,包括Zksync、StarkNet、Polygon、Scroll等都属于Type-4/Type-3这样的与以太坊兼容性没有那么高的zkVM/zkEVM类型。

Vitalik是希望随着时间的推移,通过zkEVM的改进和以太坊本身的改进相结合,最终所有zkEVM都成为Type-1类。这样的好处在于,未来会有多个zkEVM,既可以用于ZKRollup,也可以用于验证以太坊链本身。

Vitaliki提出的观点,一般来说很容易达成整个行业的共识,我也非常认可。Type-1型zkEVM的项目在Ethereum生态自然是最受欢迎的、也比较匹配EthereumL1。但Type-4类zkVM也未尝不是执行层项目的一个好的技术方案选择。主要有两点考虑:

放在ModularBlockchain的叙事下,zkVM更方便对接其他L1。如果跳出只是做以太坊生态L2的思维,没有在字节码级别兼容以太坊虚拟机,而是选择采用zkVM,也许反而方便未来对接到其他的L1共识层;

现在ZKRollup的性能顶板是受限于证明生成速度,Type-4类zkVM有优势。执行层的生成证明的速度还是非常重要的,L2把执行层的性能做到极致,也未尝不是一个好的思路。虽然说未来能够通过ASIC硬件加速来提高生成证明的效率,但效果犹未可知,Type-4类zkVM的证明生成速度较快是个挺重要的优势。

当然,zkEVM的兼容性和速度实际上并不是开发者考量基于哪个ZKRollup去做应用的唯一指标。还有许多其他的因素会影响他们的选择,比如:

费用:以哪些代币支付费用,L2费用的降低程度也是一个非常重要的考量因素,但由于多数通用ZKRollup项目还处于测试网阶段,尚无法做对比;

生成证明的规则:支持哪些人作为Prover,甚至采用哪种硬件来加速生成证明;

L2交易排序的规则:采用单个Sequencer还是采用去中心化的方式;

自托管:是否有明确的机制来确保L2发生事故的时候仍然能够在L1恢复用户资产;

数据可用性:完整的数据可用性成本自然要高些,是否可接受有些ZKRollup采用的较低成本的数据可用性模式。

总而言之,每种ZKRollup的zkEVM是在诸多性能中有所取舍,实际并没有绝对的优劣之分。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-1:260ms