KSW:ZKSwap提出实用zkrollup协议ZKSpeed,可大幅提高TPS并降低Gas费用

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

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

但从长远角度来看,基于Layer-2的扩容技术方案将更适合区块链的健康发展

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

小红书个人资料页面支持展示Conflux链上NFT:1月26日消息,小红书个人资料页面中数字收藏部分“R-Space”现支持展示公链Conflux链上NFT,本次集成或将利于NFT实现大规模采用。

据悉,小红书此前曾与联盟链集成。[2023/1/26 11:30:43]

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

迄今为止,Layer-2扩容方案里,被讨论的最多的有zkRollup、OptimisticRollup、Validium和Plasma。在此借用StarkWare里AvihuLevy的一张图来区分它们:

这四个方案的特点如下:

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

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

LINE推出Profile NFT功能,可将NFT设置为个人资料图片:7月7日消息,日本即时通讯软件LINE已开始在体验版中推出Profile NFT功能,用户可在NFT市场LINE NFT中将NFT设置为LINE软件中的个人资料图片。

此外,LINE将于7月8日发售可设置Profile NFT功能的NFT系列“Profile NFT by Minto”,以配合Profile NFT功能的发布。(Impress Watch)[2022/7/7 1:57:16]

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

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

前摩根大通副总裁庞华栋:投资的资产应该是不超过个人资产的5%:前摩根大通(JP Morgan)北美投行部副总裁庞华栋在接受采访时表示,数字货币如果投资不当,很容易让一些对市场了解不深入的投资人损失资产,用于投资的资产应该是不超过个人资产的5%。[2018/4/1]

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

?目前市场上很热的ZKSwap算是探索者之一,ZKSwap提出的Layer-2扩容方案叫ZKSpeed(APraticalandScalableZk-rollupSolution一个实用并且可拓展的zk-rollup协议)。

下面通过一张图来展示ZKSwap设计的方案和上述方案的关系:

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

比特币核心开发者试用ZKSwap:整体体验不错:比特币早期核心开发者Gavin Andresen今日发推称:自己尝试了ZKSwap的Layer2转账和兑换服务,在Layer2交易速度确实不错,并且成本很低,整个ZKSwap的交互也比较简单易懂,总体来说体验不错。但最后他也提醒,不要把所有的钱投入到任何前沿技术(或指L2)上,除非你能承受损失。Gavin Andresen近期一直在体验一些新的玩法,并在推特上分享自己的使用感受。[2021/3/10 18:32:56]

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

ZKSwap发布2021年路线图:二季度将支持无限上币:3月2日消息,ZKSwap今日公布了2021年线路图,二季度将发布ZKSwap V2版本,支持用户无限上币,并发布ZKS治理方式。三季度将发布Layer2支付SDK,推出Layer2借贷服务和稳定币兑换服务。2021年四季度至2022年一季度将研究并开发基于zk-rollup的通用EVM模型,实现Layer2的可编程性。[2021/3/2 18:08:22]

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

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

?AggregativeProof聚合证明

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

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

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

?系统实测结果

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

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

展望

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

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:15ms0-8:166ms