zkSync2.0主网上线在即 先行了解各类zkEVM

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

ZK Rollup

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

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

  1. 用户将他们的资产锁定在L1上的zk rollup智能合约中;

  2. 用户将涉及这些资产的交易提交给L2,L2中的某些角色(Sequencer,早期多数项目是中心化的,也有项目开始采用去中心化方式)将这些交易通过某些规则收集成有序批次,并为每个批次生成有效性证明(zksnark/zkstark)和聚合状态更新;

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

  4. 用户可以使用这种L1状态(取决于不同的数据可用性机制)来检索他们的资产,从而实现完全的自我托管,所以zk rollup也被认为继承了以太坊安全。

zkEVM的必要性

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

后来,头部的那些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阶段。

zkEVM的兼容性分类

当前的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能够像以太坊一样验证以太坊区块,或者至少验证执行层端(包括所有交易执行、智能合约和账户逻辑,不包括信标链共识逻辑)。

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来实现硬件加速

目前,主要有两个团队在尝试探索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删除的预编译,这些应用程序需要对其中的部分进行重写。

目前,ScrollPolygon都属于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的比较

这些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也未尝不是执行层项目的一个好的技术方案选择。主要有两点考虑:

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

  2. 现在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是在诸多性能中有所取舍,实际并没有绝对的优劣之分。

24小时热点

热点专题

免费的行情软件app网站在国外有哪些?

区块链看行情的软件,简而言之,就是一类能够实时提供数字货币行 ...

2382721

波场区块链浏览器

2024年最新十大不收费看盘软件排名公布

随着股市交易的普及和技术的发展,投资者对高效、可靠且免费的看 ...

1132523

波场区块链浏览器

Bitfinex(香港B网)

Bitfinex交易平台目前仍处于试运营阶段,该平台由iFi ...

727339

Hi元宇宙

OEX全球站交易所介绍

OEX(www.oex.com)隶属于OEX Interna ...

643654

Cointelegraph Bitcoin

挖矿app十大排名,挖矿软件推荐

区块链技术自比特币诞生以来,已经在全球成为最热门的一项技术, ...

577399

波场区块链浏览器

FSN币,Fusion

FUSION是一个公开的区块链,通过提供跨链、跨组织和跨数据 ...

500268

ImToken 多链钱包

区块链免费看行情的网站有哪些?

区块链行情网站,简单来说,就是提供数字货币实时价格,交易量, ...

498285

区块链圈小菜鸡

1U等于多少人民币?U币怎么兑换人民币?

U币(如USDT)是一种基于区块链技术的稳定币,其价值与美元 ...

489022

区块链圈小菜鸡

全球币圈十大交易所排名有哪些?最新2024年币圈十大交易所排行榜

在加密货币市场中,交易所是投资者进行数字资产买卖的关键平台。 ...

455023

区块链圈小菜鸡

2024年人气最高的免费看行情的软件大全

区块链看行情的软件是指那些能够提供实时数字货币行情、市场动态 ...

454369

波场区块链浏览器