Vitalik是希望随着时间的推移,通过zkEVM的改进和以太坊本身的改进相结合,最终所有zkEVM都成为Type-1类。这样的好处在于,未来会有多个zkEVM,既可以用于ZK Rollup,也可以用于验证以太坊链本身(未来以太坊会对ZK-SNARK更加友好)。
作者:0x1
原文:《zkSync2.0主网上线之际浅析各类zkEVM》
以太坊的发展路线越来越倾向于Modular Blockchain,其本质就是Layer1的data sharding和Layer2的Rollups扩容相结合,成为一种模块化架构,从而推动以太坊实现“世界计算机”的初衷。其中Rollups的技术路径选择方面,ZK Rollup被认为是以太坊扩容的最终目标。
ZK Rollup的核心工作机制是将链上的用户状态压缩存储在一棵Merkle树中,并将用户状态的变更转移到链下进行,同时通过 zksnark/zkstark证明来保证该链下用户状态变更过程的正确性。通俗地理解,ZK Rollup可以理解为通过zksnark或zkstark来使用亚线性处理以验证线性数量的语句。比如,1000条语句需要10次验证者检查,10000条语句需要11次验证者检查。所以,呈现出来的结果是,ZK rollup可以实现以太坊扩容。
ZK Rollup的大致区块链事务处理过程如下:
zkSync Era已支持Paradigm创建的模块化工具包Foundry:6月6日消息,据官方消息,开发人员现在可以使用 zkSync Era 的 Foundry alpha 版本来部署合约、桥接 L1 与 L2 间的资产、发送交易等。Foundry 由 Paradigm 等创建和维护,是一个用于以太坊开发的模块化工具包,可增强 EVM 链上的安全智能合约开发。
zkSync Era 的 Foundry alpha 版本中的 zkCast 与合约交互并存入、提取或查询区块链数据,如账户余额或区块信息;zkForge 使用特殊的编译器编译合约,并将它们部署到 zkSync Era Localnet、测试网和主网。[2023/6/6 21:19:50]
用户将他们的资产锁定在L1上的zk rollup智能合约中;
用户将涉及这些资产的交易提交给L2,L2中的某些角色(Sequencer,早期多数项目是中心化的,也有项目开始采用去中心化方式)将这些交易通过某些规则收集成有序批次,并为每个批次生成有效性证明(zksnark/zkstark)和聚合状态更新;
这个状态更新和证明被提交到L1的zk rollup智能合约并被验证,就会更新在L1的区块链上;
用户可以使用这种L1状态(取决于不同的数据可用性机制)来检索他们的资产,从而实现完全的自我托管,所以zk rollup也被认为继承了以太坊安全。
众所周知,第一代的ZK Rollups是不支持EVM的,可编程性和可组合性较差,只能限定在一些特定的场景,比如:Loopring只能限定在Payments&Swaps等场景;Immutable只能限定在NFT Minting&Trading&Games等场景;zksync1.0其实也不支持zkEVM。不具有通用性。
在zkSync上部署Uniswap V3的提案已开启投票:10月9日消息,据相关页面信息显示,在zkSync上部署Uniswap V3的提案已开启投票。该投票将于10月14日结束。
此前报道,9月14日,Uniswap社区发起关于在zkSync上部署UniswapV3的新提案,该提案由PennBlockchain(FranklinDAO)与MatterLabs合作创建。提案指出尽早部署到zkSync有助于巩固Uniswap作为第一大DEX的地位,它将有助于增加可在UniswapV3上构建的项目。[2022/10/9 12:50:07]
后来,头部的那些ZK Rollups开始探索,在ZK Rollup上研发支持EVM字节码的代码执行环境,从而使得以太坊上的智能合约可以从以太坊迁移到ZK Rollup上,而无需从头开始编写代码。
EVM是第一个图灵完备的区块链虚拟机,于2015年发布。它是迄今为止最久经考验的区块链虚拟机,也是以太坊非常重要的智能合约基础设施。甚至在谈到其他区块链时,也会将EVM兼容与否作为一个评判维度,因为EVM兼容的背后代表的不仅仅是智能合约执行环境,也代表着可用的以太坊生态和工具集,更代表着不可忽视的网络效应。所以,ZK Rollups也没敢忽略这一块儿。
zkEVM则可以理解为将EVM作为智能合约引擎运行在ZK Rollup中。zkEVM的目标是在不失去Rollup性能优势的基础上,将以太坊体验完全带入到L2。
截至目前,zkSync2.0、Polygon Hermez2.0、Scroll等头部的通用ZK Rollup项目都已经先后推出了zkEVM测试网,StarkNet则已经进入到了Alpha Mainnet阶段。
以太坊二层解决方案zkSync 2.0上线zkEVM测试网Alpha版:据官方消息,以太坊扩容项目Matter Labs宣布,以太坊二层解决方案zkSync 2.0上线zkEVM测试网Alpha版,用户已经可以使用区块浏览器查看zkSync 2.0上的活动。该版本主要成果包括完成zkEVM指令集;用Solidity和Zinc编写的智能合约现在可以编译成zkEVM字节码;完成全节点集成,能够成功部署和执行编译后的智能合约。[2021/6/1 23:00:17]
当前的ZK Rollups的zkEVM与Ethereum本身并非完全兼容,更遑论“以太坊等效”的终极愿景。所以,不仅以太坊本身的升级规划在迁就Rollup友好型,各个ZK Rollup项目也一直在解决与以太坊的兼容性问题。
Vitalik根据与现有EVM基础设施的兼容性程度,将zkEVM通用ZK Rollup分为4类:
Type-1:完全等效于以太坊
Type-1型zkEVM力求完全且毫不妥协地与以太坊等效。无需改变以太坊系统的任何部分,无需取代哈希、状态树、事务树、预编译或任何其他共识逻辑。简而言之,Type-1型的zkEVM完全等效于Ethereum。
Type-1型zkEVM能够像以太坊一样验证以太坊区块,或者至少验证执行层端(包括所有交易执行、智能合约和账户逻辑,不包括信标链共识逻辑)。
Dogeswap新增ZKS、1INCH等11个币种:据官方消息,DogeSwap新增11个热门币种:ZKS、1INCH、NPXS、CRV、HOT、RSR、MANA、ACH 、MUSK、MX、YCC,用户可自主在交易区创建任意代币与以上热门资产的流动池,均可获得平台币DOG空投。
据悉,Huobi Global已同步开放以上资产的HECO网络锚定Token的充币和提币业务。
DogeSwap是由全球狗狗社区在Heco上发起的去中心化交易所项目,0私募,0预挖,完全社区自治,通过了慢雾科技安全代码审计。DogeSwap.com将秉承“狗狗币”社区的自由共享的精神,在2.0挖矿生态上线后,将会用大部分手续费回购DOGE并回馈所有平台币DOG的持有者。注:DOG暂未发行,注意区分真伪。[2021/3/15 18:46:35]
Type-1型zkEVM是以太坊最终需要的,也是Rollups的最理想选择。一方面,Type-1型zkEVM可以让Rollups重用大量的基础设施(例如:Ethereum Execution Clients、Block Explorers、Block Production等);另一方面,Type-1型zkEVM能使得以太坊Layer1本身更具可扩展性,因为在Type-1型zkEVM上探索的一些对以太坊的修改,也许未来会被引入到Ethereum本身。
当然,Type-1型zkEVM也有缺陷。以太坊最初并非围绕ZK友好型设计的,因此以太坊协议的许多部分需要大量计算才能进行ZK证明。Type-1型与以太坊一样,无法缓解在这个事情上的低效(在生成证明方面,需要较长时间)。针对这个问题,目前行业里提出的解决方案主要是:通过巧妙的工程大规模并行化证明,或通过ZK-SNARK ASIC来实现硬件加速。
ZKSwap回应Matter Labs质疑:用户资金安全,智能合约和电路代码将开源:关于Matter Labs提到的一些疑问,ZKSwap作出如下回复:
1. ZKSwap在ZKSync Layer2转账的基础上完整实现了Layer2 AMM Swap电路,并实现了数项改进;
2. ZKSwap上用户的资金安全是得到保障的,智能合约和电路部分的代码已经获得了慢雾,Certik和ABDK三家权威安全审计机构的审计认证,审计报告已公开在项目github仓库中接受社区监督;
3. ZKSwap所有智能合约和电路的代码都将完全开源,其中,智能合约部分已经完全审计完成,将会在2021年3月1日开源;电路部分ABDK还在进行最后的审计报告编辑,将会在获得报告并在系统稳定运行一段时间后逐步开源,请社区保持关注;
4. 关于Matter Labs提到的智能合约中关于合约作者的疑问,ZKSync和ZKSwap都严格遵守MIT开源协议,必须保留原作者的版权声明和许可声明。ZKSwap在ZKSync合约的基础上进行的修改也将在合约开源时进行备注,并添加新的版权和许可声明,请社区监督。
此前消息,Matter Labs质疑ZKSwap克隆zkSync代码,担心其用户资金安全问题。[2021/2/24 17:47:58]
目前,主要有两个团队在尝试探索Type-1 ZK-EVM,一个是Privacy and Scaling Explorations team,一个是Taiko。
Type-2:完全等效于EVM
Type-2型zkEVM力求完全等效于EVM,但不完全等效于以太坊。它们与现有的应用程序也完全兼容,但需要对以太坊进行一些小的修改,以使开发更容易并更快地生成证明。
Type-2型zkEVM对区块结构和状态树之类的数据结构有一些修改。由于这些是EVM本身无法直接访问的结构,所以在以太坊上运行的应用程序几乎可以直接在Type-2型zkEVM Rollup上运行。虽然无法按原样直接使用以太坊执行客户端,但通过一些修改仍可以使用它们,并且还可以使用EVM调试工具和大多数其他开发工具。
通过删除部分不必要的和ZK不友好的以太坊堆栈,Type-2 zkEVM的证明时间比Type-1 zkEVM更快些。这些修改虽然显著提高了证明者的效率,但并没有根本性解决证明时间慢的问题。总而言之,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和Polygon Hermez都在朝着Type-2型zkEVM的方向发展,虽然还有许多复杂的预编译还没有实现。
Type-4:高级语言等效
Type-4类实际上属于zkVM。Type-4系统通过获取以高级语言(Solidity、Vyper)编写的智能合约源代码,并将其编译为明确设计为ZK-SNARK友好的某种语言来工作。
优劣势都很明显。有非常快的验证时间,因为Type-4类不对每个EVM执行步骤的所有不同部分进行ZK证明,而是从更高级别的代码开始,从而降低成本并获得更快验证时间。兼容性较差,合约在Type-4系统中的地址与它们在EVM中的地址不同;手写的EVM bytecode更难使用;很多调试的基础设施不能被继承,因为这些基础设施是运行在EVM字节码上。
总而言之,Type-4属于语言级别等效,与字节码级别等效相比在兼容性方面有较大差距。根据Vitalik的观点,目前主要有Zksync属于Type-4类,尽管随着时间的推移它可能会增加对EVM字节码的兼容性;基于Nethermind的warp项目正在构建从Solidity到Starkware的Cairo编译器也会把StarkNet变成Type-4型。
这些zkEVM并没有绝对的优劣之分。它们只是在兼容性与速度之间有所取舍,Type-1型zkEVM与以太坊的兼容性最高,但证明速度较慢;Type-4型zkEVM与以太坊的兼容性较差,但验证速度更快。而且我们会发现,现有的ZK Rollup的明星项目,包括Zksync、StarkNet、Polygon、Scroll等都属于Type-4/Type-3这样的与以太坊兼容性没有那么高的zkVM/zkEVM类型。
Vitalik是希望随着时间的推移,通过zkEVM的改进和以太坊本身的改进相结合,最终所有zkEVM都成为Type-1类。这样的好处在于,未来会有多个zkEVM,既可以用于ZK Rollup,也可以用于验证以太坊链本身(未来以太坊会对ZK-SNARK更加友好)。
Vitaliki提出的观点,一般来说很容易达成整个行业的共识,我也非常认可。Type-1型zkEVM的项目在Ethereum生态自然是最受欢迎的、也比较匹配Ethereum L1。但Type-4类zkVM也未尝不是执行层项目的一个好的技术方案选择。主要有两点考虑:
放在Modular Blockchain的叙事下,zkVM更方便对接其他L1。如果跳出只是做以太坊生态L2的思维,没有在字节码级别兼容以太坊虚拟机,而是选择采用zkVM,也许反而方便未来对接到其他的L1共识层;
现在ZK Rollup的性能顶板是受限于证明生成速度,Type-4类zkVM有优势。执行层的生成证明的速度还是非常重要的,L2把执行层的性能做到极致,也未尝不是一个好的思路。虽然说未来能够通过ASIC硬件加速来提高生成证明的效率,但效果犹未可知,Type-4类zkVM的证明生成速度较快是个挺重要的优势。
当然,zkEVM的兼容性和速度实际上并不是开发者考量基于哪个ZK Rollup去做应用的唯一指标。还有许多其他的因素会影响他们的选择,比如:
费用:以哪些代币支付费用,L2费用的降低程度也是一个非常重要的考量因素,但由于多数通用ZK Rollup项目还处于测试网阶段,尚无法做对比;
生成证明的规则:支持哪些人作为Prover,甚至采用哪种硬件来加速生成证明;
L2交易排序的规则:采用单个Sequencer还是采用去中心化的方式;
自托管:是否有明确的机制来确保L2发生事故的时候仍然能够在L1恢复用户资产;
数据可用性:完整的数据可用性成本自然要高些,是否可接受有些ZK Rollup采用的较低成本的数据可用性模式。
总而言之,每种ZK Rollup的zkEVM是在诸多性能中有所取舍,实际并没有绝对的优劣之分。
0x1
个人专栏
阅读更多
金色早8点
1435Crypto
区块律动BlockBeats
吴说区块链
金色财经
比推 Bitpush News
blockin
Block unicorn
Foresight News
Odaily星球日报
Bankless
DeFi之道
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。