ZKSwap提出实用zkrollup协议ZKSpeed

2021年02月09日 12:11

摘要:  ZKSpeed Layer2 扩容协议是一个兼具实用和工程优化的 zk-rollup 方案,通过 零知识证明的聚合证明,Plonk 算法的并行处理,以及对链下数据的分类处理,大大提高了Layer2 系统的TPS, 并大幅降低了 Layer2 交易的Gas 成本。相比其他的Layer2 方案(zk-Sync , optimistic rollup以及Plasma ),ZKSpeed 方案在实用性方面取得了更大的突破,并将率先支持DeFi 的应用在Layer2 大规模部署。ZKSpeed 协议是一个实用并可以无限拓展的zk-rollup 协议 (A Pratical and Scalable Zk-rollup Solution )



以太坊网络作为区块链世界里最活跃的开发平台,日常的拥堵,越来越高的手续费,让生态中的应用和用户们都苦不堪言。最近以来,单笔转账的平均费用更是高达 24.7 美元。这种糟糕的体验如果得不到改善,将对以太坊的发展将会造成不良的影响。


因此,近些年越来越多的区块链研究者和开发人员致力于底层技术研究,想尽各种技术手段,来改善整个网络状态。有针对 Layer-1 的技术方案,例如 ETH 2.0 的分片技术,通过修改或优化区块链的共识网络,来提高网络的出块效率,从而加快区块确认时间,达到交易快速上链的目的;也有针对 Layer-2 的技术方案,在保持 Layer-1 功能足够简单且强大稳定的前提下,把一些原本在 Layer-1 上的一些计算和操作,放在链下去做,然后通过密码学的技术来保证这些链下操作的准确性。


但从长远角度来看,基于 Layer-2 的扩容技术方案将更适合区块链的健康发展,因为区块链的基础架构已经比较清晰,稳定且易于维护,基于此强加复杂逻辑,就有可能使 Layer-1 变得越来越脆弱。所以,区块链的结构发展方向应该是 Layer-1 尽量保持不动,除非有重大变故,比如密码学技术的突破,导致底层使用的密码学原语的修改。其他的复杂逻辑及创新应用放在 Layer-2 去做,Layer-1  Layer-2 相辅相成。


研究者也逐渐发现了这一点,因此,基于 Layer-2 的扩容技术方案层出不穷。然而,理想很丰满,现实很骨感。当理论需要实践的时候,开发人员才发现要想达到预期,有太多的地方需要权衡利弊,对于不同的应用场景,可能也要做出不同的妥协。


迄今为止,Layer-2 扩容方案里,被讨论的最多的有 zkRollupOptimistic RollupValidium  Plasma。在此借用 StarkWare  Avihu Levy 的一张图来区分它们:


(4种以太坊扩容方案对比)

**这四个方案的特点如下:*

**zkRollup** 由以太坊的研究员提出,特点是所有计算过程由链下计算,链上存储,参与计算的明文数据通过 calldata 的形式发送到链上合约,降低存储成本,同时,链下计算的正确性由零知识证明算法保证;由此也能看出,此方案确实能大幅提高 TPS,也能降低单次交易的费用。


**Optimistic Rollup** 从图上可以看出,Optimistic Rollup  zkRollup 位于同一行,也就说明它们的共同点是:明文数据通过 calldata 的形式发送到链上合约;不同之处是 Optimistic Rollup 采用交互式错误证明来确保链下计算的准确性,如果被识别出故意作恶,那将会收到惩罚;相比于 zkRollupOptimistic Rollup 的安全性假设弱一些。


**Validium** 此方案由 StarkWare 提出,获得 V 神的认可,得此命名。特点是计算过程在链下完成,由零知识证明算法保证计算的正确性,链上完成验证并存储最终的世界状态;还有一点需要注意的是,为了获得更好的可扩展性,此方案把交易数据也存储在链下,同时由可信的数据可用性委员会提供数据可用性的证明,相比前两个方案,这个方案损失了一定的数据可用性,但是确实提供了更好的数据可扩展性;因此,在实际的应用场景中,此方案可能会得到更多的青睐。


**Plasma**  V 神提出,相比于其他三个方案,这个方案被提出的时间最早。方案特点比较显著,链下计算,链上存储,交易数据也存到链下,简单粗暴,用户可以发起错误型证明来证明执行者的作恶行为,由此获得奖励,惩罚作恶的执行者。


虽然现在已经有了以上方案,但由于还没有真正在 Layer-2 上跑起来的应用,所以孰优孰劣也很难下定论。目前在以太坊上最活跃的应用概念是 Defi,其中又以 DEX 占用的网络资源最多,Layer-2 的提出将明显给 DEX 发展带来更大空间。下面可以从一个具体案例来看Layer-2 的落地。


目前市场上很热的 ZKSwap 算是探索者之一,**ZKSwap 提出的 Layer-2 扩容方案叫 ZKSpeed (A Pratical and Scalable Zk-rollup Solution 一个实用并且可拓展的zk-rollup 协议)** 下面通过一张图来展示 ZKSwap 设计的方案和上述方案的关系:

从图上可以看到,ZKSwap 的第一版扩容方案 ZKSpeed 基础架构结合了ZK-rollup Validium  Plasma 方案特点,在此基础上又通过聚合证明、GPU 优化、证明电路优化三个方案,大幅提升了整个网络的吞吐能力。


在做详细介绍之前,需要说明一下为何采用了交易数据链下存储的方案。事实上,ZKSwap 的初衷是完全按照 zkRollup 的方案来实现,因此它不仅能提降低交易成本,同时也保证了链上数据可用性,有了这个,用户随时可以提供默克尔树的有效性证明,从链上提取属于自己的钱。遗憾的是,经过真实的测试,在这种方案下,上链的成本仍然很昂贵,每一笔layer2交易的Gas Limit  6000  左右作为对比Layer1 上面以太坊的Gas Limit 21000,普通ERC20的转账交易的Gas Limit 50000 左右。这离 Layer-2 的扩容目标高吞吐,低