以太坊的发展路线越来越倾向于ModularBlockchain,其本质就是Layer1的datasharding和Layer2的Rollups扩容相结合,成为一种模块化架构,从而推动以太坊实现“世界计算机”的初衷。其中Rollups的技术路径选择方面,ZKRollup被认为是以太坊扩容的最终目标。
ZKRollup
ZKRollup的核心工作机制是将链上的用户状态压缩存储在一棵Merkle树中,并将用户状态的变更转移到链下进行,同时通过zksnark/zkstark证明来保证该链下用户状态变更过程的正确性。通俗地理解,ZKRollup可以理解为通过zksnark或zkstark来使用亚线性处理以验证线性数量的语句。比如,1000条语句需要10次验证者检查,10000条语句需要11次验证者检查。所以,呈现出来的结果是,ZKrollup可以实现以太坊扩容。
ZKRollup的大致区块链事务处理过程如下:
用户将他们的资产锁定在L1上的zkrollup智能合约中;
数据:zkSync Era TVL跌至5亿美元下方:7月24日消息,据L2BEAT数据显示,zkSync Era TVL已跌至5亿美元下方,现为4.73亿美元,过去7日跌幅达18.13%;Starknet TVL涨至1.26亿美元,过去7日涨幅为31.96%。[2023/7/24 15:54:10]
用户将涉及这些资产的交易提交给L2,L2中的某些角色将这些交易通过某些规则收集成有序批次,并为每个批次生成有效性证明和聚合状态更新;
这个状态更新和证明被提交到L1的zkrollup智能合约并被验证,就会更新在L1的区块链上;
用户可以使用这种L1状态来检索他们的资产,从而实现完全的自我托管,所以zkrollup也被认为继承了以太坊安全。
zkEVM的必要性
众所周知,第一代的ZKRollups是不支持EVM的,可编程性和可组合性较差,只能限定在一些特定的场景,比如:Loopring只能限定在Payments&Swaps等场景;Immutable只能限定在NFTMinting&Trading&Games等场景;zksync1.0其实也不支持zkEVM。不具有通用性。
后来,头部的那些ZKRollups开始探索,在ZKRollup上研发支持EVM字节码的代码执行环境,从而使得以太坊上的智能合约可以从以太坊迁移到ZKRollup上,而无需从头开始编写代码。
zkSync发布生态进展更新:Celer Network已与zkSync 2.0测试网集成:11月21日消息,zkSync 发布生态系统的五个最新进展,包括跨链基础设施 Celer Network 已经与 zkSync 2.0 测试网集成,确认在 zkSync 的公平启动 Alpha 里程碑中增加了资产桥接和消息传递。MUX Protocol 的多链原生 DeFi 协议现已在 zkSync 2.0 测试网上运行。Pocket Network 确认其激励节点运行器网络即将进入 zkSync 生态系统。depocket.com 宣布其用户可以在其 DeFi 仪表板产品上跟踪 zkSync 的质押余额。BlockWallet 详细介绍了他们在零妥协 Web3 钱包中对 zkSync 2.0 测试网的支持的持续改进。[2022/11/22 7:53:49]
EVM是第一个图灵完备的区块链虚拟机,于2015年发布。它是迄今为止最久经考验的区块链虚拟机,也是以太坊非常重要的智能合约基础设施。甚至在谈到其他区块链时,也会将EVM兼容与否作为一个评判维度,因为EVM兼容的背后代表的不仅仅是智能合约执行环境,也代表着可用的以太坊生态和工具集,更代表着不可忽视的网络效应。所以,ZKRollups也没敢忽略这一块儿。
zkEVM则可以理解为将EVM作为智能合约引擎运行在ZKRollup中。zkEVM的目标是在不失去Rollup性能优势的基础上,将以太坊体验完全带入到L2。
Arweave生态存储解决方案Bundlr Network上线zkSync网络:5月11日消息,Arweave生态存储解决方案Bundlr Network已上线以太坊二层解决方案zkSync,zkSync开发人员可以访问Arweave上的Web3数据存储,zkSync上的用户可以使用任何代币(包括以太坊)支付数据上传费用,并为开发人员免费上传100kb以下的数据。[2022/5/11 3:06:54]
截至目前,zkSync2.0、PolygonHermez2.0、Scroll等头部的通用ZKRollup项目都已经先后推出了zkEVM测试网,StarkNet则已经进入到了AlphaMainnet阶段。
zkEVM的兼容性分类
当前的ZKRollups的zkEVM与Ethereum本身并非完全兼容,更遑论“以太坊等效”的终极愿景。所以,不仅以太坊本身的升级规划在迁就Rollup友好型,各个ZKRollup项目也一直在解决与以太坊的兼容性问题。
Vitalik根据与现有EVM基础设施的兼容性程度,将zkEVM通用ZKRollup分为4类:
ZKSwap过去24小时捕获21万美金手续费,名列所有DeFi项目第6名:过去24小时所有DeFi项目捕获手续费排名前五的为:Uniswap V2(309万美元)、Compound(122万美元)、SushiSwap(69万美元)、Aave(39万美元)、Balancer(26万美元)。 ZKSwap在24小时则捕获了21万美金手续费,在所有DeFi项目中排名第六。第七位和第八位则为Bancor Network(15万美元)和Ren Protocol(2.19万美元)。zkswap.info浏览器数据显示,截至发稿,ZKSwap流动性已达13.91亿美元,L2总资产达到15.3亿美元,另据Debank数据,目前ZKSwap锁仓量以及流动性均已接近Uniswap的30%。(Cryptofees)[2021/3/20 19:03:12]
Type-1:完全等效于以太坊
Type-1型zkEVM力求完全且毫不妥协地与以太坊等效。无需改变以太坊系统的任何部分,无需取代哈希、状态树、事务树、预编译或任何其他共识逻辑。简而言之,Type-1型的zkEVM完全等效于Ethereum。
Type-1型zkEVM能够像以太坊一样验证以太坊区块,或者至少验证执行层端。
Type-1型zkEVM是以太坊最终需要的,也是Rollups的最理想选择。一方面,Type-1型zkEVM可以让Rollups重用大量的基础设施;另一方面,Type-1型zkEVM能使得以太坊Layer1本身更具可扩展性,因为在Type-1型zkEVM上探索的一些对以太坊的修改,也许未来会被引入到Ethereum本身。
BiKi平台ZKS近两日涨幅63.07%:据BiKi平台行情显示,ZKS自上线以来连续上涨,近两日涨幅63.07%,现报价3.75702USDT,上线后累计涨幅5568.49%。
ZKSwap 是一套基于自动化做市商(AMM,Automated Market Maker)的Swap协议。[2021/2/18 17:26:45]
当然,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是在诸多性能中有所取舍,实际并没有绝对的优劣之分。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。