ZKSwap 提出实用 ZK-Rollup 协议 ZKSpeed,可大幅提升 Layer2 TPS 并降低 Gas 费用

相比其他的 Layer-2 方案(zk-Sync、optimistic rollup 和 Plasma ),ZKSpeed 方案在实用性方面取得了更大的突破,并将率先支持 DeFi 应用在 Layer-2 大规模部署。

以太坊网络作为区块链世界里最活跃的开发平台,日常的拥堵,越来越高的手续费,让生态中的应用和用户们都苦不堪言。最近以来,单笔转账的平均费用更是高达 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 扩容方案里,被讨论的最多的有 zkRollup、Optimistic Rollup、Validium 和 Plasma。在此借用 StarkWare 里 Avihu Levy 的一张图来区分它们:

1

这四个方案的特点如下:

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

Optimistic Rollup: 从图上可以看出,Optimistic Rollup 和 zkRollup 位于同一行,也就说明它们的共同点是明文数据通过 calldata 的形式发送到链上合约,不同之处是 Optimistic Rollup 采用交互式错误证明来确保链下计算的准确性。如果被识别出故意作恶,那将会收到惩罚,相比于 zkRollup,Optimistic 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)。 下面通过一张图来展示 ZKSwap 设计的方案和上述方案的关系:

2

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

在做详细介绍之前,需要说明一下为何采用了交易数据链下存储的方案。事实上,ZKSwap 的初衷是完全按照 zkRollup 的方案来实现。因此它不仅能提降低交易成本,同时也保证了链上数据可用性,有了这个,用户随时可以提供默克尔树的有效性证明,从链上提取属于自己的钱。遗憾的是,经过真实测试,在这种方案下,上链的成本仍然很昂贵,每一笔 Layer-2 交易的 Gas Limit 为 6000 左右, 作为对比 Layer-1 上面以太坊的 Gas Limit 为 21000,普通 ERC 20 的转账交易的 Gas Limit 为 50000 左右。这离 Layer-2 的扩容目标高吞吐,低 Gas 相差甚远。具有很快的上链速度,但是交易成本很高,相信也会降低用户主动做交易的意愿。因此,如果Layer-2 的每一笔平均交易成本过高,Layer-2 主打的高 TPS 也很难实现。因此,要想把 Layer-2 的扩容方案用于真实场景,首先需要 Layer-2 资金的绝对安全性;第二需要 Layer-2 的 TPS 够快 (ZKSwap Layer-2 的 TPS 在 100 以上,并可以继续提升)第三,需要 Layer-2 的每一笔交易的 Gas 成本只有主网交易成本的 5% 甚至 2% 。

ZKSpeed 方案中,对链下数据处理分为 2 部分,所有和 Layer-1 交易相关的数据都会实时上链,保证资金的觉得安全性,并实时生成零知识证明和验证证明。但对于仅仅和 Layer-2 相关的交易采用分布式存储的方案,实时披露原始交易数据,并把数据摘要实时上链。目前数据摘要由 Layer-2 运营方自己发布,并且任何人可以实时验证该摘要的准确性,长期来看,数据摘要的计算和发布可以通过分布式的形式进行,并引入社区验证。ZKSpeed 方案对链下数据进行了分类,大幅度提高了数据的可拓展性,关于数据可用性这个方面,ZKSpeed 方案的可拓展性长期来看优于所有交易都上链的 Optimistic Rollup 方案。长期来看,受制于以太坊的 Layer-1 的每个 Block Gas Limit 的限制,如果所有数据都上链存储,那么在Layer-2系统的可拓展性方面存在明显的天花板。考虑到巨大的上链 Gas 成本,这样的 Layer-2 系统在实际应用中,其 TPS 很难到 20 以上,其实用性会大大降低。

ZKSpeed 扩容协议通过对链下数据进行分类,实现了数据可用性和数据可拓展性的权衡,数据可用性的问题得到解决,那么下一步的目标就是提高零知识证明系统的可用性和处理速度。ZKSpeed 方案基于零知识证明算法,保证一个区块内的所有交易导致的世界状态的变化是正确的,多笔交易一次性处理,实现系统性能的第一次提升,带来了较高的 TPS。但是,这种解决方案带来的提升效果只能说是勉强可以接受,ZKSwap 团队不满于此,坚持寻找新的技术方案来实现更高的系统容量和更低的交易成本。经过不屑努力,终于找到了一个新的解决方案,即聚合证明 (Aggregative Proof)。

Aggregative Proof

聚合证明的逻辑其实很简单。大家知道,基础的 Layer-2 扩容方案里,一个区块对应一个有效性的证明,链上合约验证证明的有效性。现在以太坊的出块平均速度是 15s 一个区块,如果链上一次能验证多个区块的有效性,那么平摊在每个交易上的成本将大幅减少。基于这个思考,ZKSwap 采用了一种聚合证明方案。所谓的聚合证明方案就是,现在是一个区块一个证明,把一段时间内,或者是固定数量的区块产生的多个证明,再用零知识证明的方式去证明这些区块的证明是有效的(把验证的过程再当作是一种电路)。这样链上只需要一次验证,就可以实现多个区块证明的有效性验证。

经过实际测试,ZKSwap 在采用了聚合证明方案后,单笔交易的费用降低到了 1000 (Gas Limit),该成本是以太坊主网 ERC 20 转账成本的 1/50 (以太坊主网转账的 Gas Limit 大概是 50000 左右),这个结果足够让人惊喜。试想一下,如果能在主网的出块时间间隔内,能生成更多的零知识证明,那么整个系统的 TPS 将会得到大幅改善。为此,ZKSwap 同样做出了大量的努力,实现了 GPU 版的 PLONK 算法,相比于 CPU 版本的 PLONK 算法,计算速度提升 3 倍有余。同时,ZKSwap 通过大规模高性能机器,专门用于零知识证明的生成,对于规模为 2^28 次幂的超大型电路,生成一个证明不到 2 分钟。但同时,受算法采用的椭圆曲线参数限制,每个区块里可证明的最多交易数量和可证明的证明数量存在上限,导致系统的的性能上限收到了限制。虽然有此约束,但 ZKSwap 最终的实测 TPS 仍然远超过了现有的其他产品,目前在最新的压力测试中,采用 ZKSpeed 方案的 ZKSwap 项目的 TPS 可以到 100 以上。

ZKSpeed 已经把目光放在了不需要可信设置的递归 SNARK 上,相比于聚合证明,递归 SNARK 将不需要可信设置,并且一次性可验证的区块数量将不受限制,仅取决于出块的速度和生成证明的速度。

系统实测结果

以下列举出几个常用的交易类型对应的费用,详细见表格:

3

由于 Deposit 和 Withdraw 操作涉及到与 Layer-1 的交互,因此交易成本相对于 Layer-2 转账和 Swap 交易操作较多。不过,无论是哪一种交易类型,每笔交易的成本已经领先于行业内的其他产品,基于 ZKSpeed 方案的 ZKSwap 已经实现了 资金安全性和高 TPS 以及 低 Gas 成本的全面权衡,并且具备很大的实用价值,在 Layer-2 的实际应用中,具备很大的技术优势。

展望

ZKSpeed Layer-2 扩容方案是一个兼具实用和工程优化的 ZK-Rollup 方案,通过零知识证明的聚合证明,Plonk 算法的并行处理,以及对链下数据的分类处理,大大提高了Layer2 系统的 TPS,并大幅降低了 Layer-2 交易的Gas 成本。相比其他的Layer-2 方案(zk-Sync、optimistic rollup 和 Plasma ),ZKSpeed 方案在实用性方面取得了更大的突破,并将率先支持 DeFi 的应用在 Layer-2 大规模部署,关于 ZKSpeed 的方案细节,敬请关注即将发布的技术白皮书和系统示例(zkspeed.org)。

本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

  • 发表于 2021-02-19 13:53
  • 阅读 ( 88 )
  • 学分 ( 2 )
  • 分类:Rollup

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
ZKSwap
ZKSwap

12 篇文章, 88 学分