以太坊的发展路线越来越倾向于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的大致区块链事务处理过程如下:
用户将他们的资产锁定在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等场景