ZKSwap提出实用zkrollup协议ZKSpeed,可大幅提高TPS并降低Gas费用
以太坊网络作为区块链世界里最活跃的开发平台,日常的拥堵,越来越高的手续费,让生态中的应用和用户们都苦不堪言。最近以来,单笔转账的平均费用更是高达 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
的一张图来区分它们:
(
4
种以太坊扩容方案对比)
**
这四个方案的特点如下:
*
**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 一个实用并且可拓展的 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
的扩容目标高吞吐,低
Gas
相差甚远;具有很快的上链速度,但是交易成本很高,相信也会降低用户主动做交易的意愿;因此,如果
Layer2
的平均每一笔交易成本太高,
Layer2
主打的高
TPS
也很难实现。因此,要想把
Layer-2
的扩容方案用于真实场景,首先需要
Layer2
资金的绝对安全性
;
第二需要
Layer2
的
TPS
够快
(
ZKSwap Layer2
的
TPS
在
100
以上,并可以继续提升)第三
需要
Layer2
的每一笔交易的
Gas
成本只有主网交易成本的
5%
,
或者
2%
。
ZKSpeed 方案中,对链下数据处理分为 2 部分,所有和 Layer1 交易相关的数据都会实时上链,保证资金的觉得安全性,并实时生成零知识证明和验证证明,但是对于仅仅和 Layer2 相关的交易采用分布式存储的方案,实时披露原始交易数据,并把数据摘要实时上链,目前数据摘要由 Layer2 运营方自己发布,并且任何人可以实时验证该摘要的准确性,长期来看,数据摘要的计算和发布可以通过分布式的形式进行,并引入社区验证。 ZKSpeed 方案对链下数据进行了分类,大幅度提高了数据的可拓展性,关于数据可用性这个方面, ZKSpeed 方案的可拓展性长期来看优于所有交易都上链的 Optimistic Rollup 方案,长期来看,受制于以太坊的 layer1 的每个 Block Gas Limit 的限制,如果所有数据都上链存储,那么在 Layer2 系统的可拓展性方面存在明显的天花板,考虑到巨大的上链 Gas 成本,这样的 Layer2 系统在实际应用中,其 TPS 很难到 20 以上,其实用性会大大降低。
ZKSpeed 扩容协议通过对链下数据进行分类,实现了数据可用性和数据可拓展性的权衡。数据可用性的问题得到解决,那么下一步的目标就是提高零知识证明系统的可用性和处理速度。 ZKSpeed 方案基于零知识证明算法,保证一个区块内的所有交易导致的世界状态的变化是正确的,多笔交易一次性处理,实现系统性能的第一次提升,带来了较高的 TPS 。但是,这种解决方案带来的提升效果只能说是勉强可以接受, ZKSwap 团队不满于此,坚持寻找新的技术方案来实现更高的系统容量和更低的交易成本;经过不屑努力,终于找到了一个新的解决方案,即聚合证明 (Aggregative Proof) 。
**Aggregative Proof 聚合证明 **
聚合证明的逻辑其实很简单。大家知道,基础的 Layer-2 扩容方案里,一个区块对应一个有效性的证明,链上合约验证证明的有效性。现在以太坊的出块平均速度是 15s 一个区块,如果链上一次能验证多个区块的有效性,那么平摊在每个交易上的成本将大幅减少。基于这个思考, ZKSwap 采用了一种聚合证明方案。所谓的聚合证明方案就是,现在是一个区块一个证明,把一段时间内,或者是固定数量的区块产生的多个证明,再用零知识证明的方式去证明这些区块的证明是有效的(把验证的过程再当作是一种电路)。这样链上只需要一次验证,就可以实现多个区块证明的有效性验证。
经过实际测试, ZKSwap 在采用了聚合证明方案后,单笔交易的费用降低到了 1000 ( Gas Limit ),该成本是以太坊主网 ERC20 转账成本的 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 将不需要可信设置,并且一次性可验证的区块数量将不受限制,仅取决于出块的速度和生成证明的速度。
** 系统实测结果 **
以下列举出几个常用的交易类型对应的费用,详细见表格:
由于
Deposit
和
Withdraw
操作涉及到与
Layer-1
的交互,因此交易成本相对于
Layer2
转账和
Swap
交易操作较多。不过,无论是哪一种交易类型,其每笔交易的成本已经领先于行业内的其他产品,基于
ZKSpeed
方案的
ZKSwap
已经实现了
资金安全性和高
TPS
以及
低
Gas
成本的
全面权衡,并且具备很大的实用价值,在
Layer2
的实际应用中,具备很大的技术优势。
**
展望
**
ZKSpeed Layer2
扩容方案是一个兼具实用和工程优化的
zk-rollup
方案,通过
零知识证明的聚合证明,
Plonk
算法的并行处理,以及对链下数据的分类处理,大大提高了
Layer2
系统的
TPS,
并大幅降低了
Layer2
交易的
Gas
成本。相比其他的
Layer2
方案(
zk-Sync , optimistic rollup
以及
Plasma
),
ZKSpeed
方案在实用性方面取得了更大的突破,并将率先支持
DeFi
的应用在
Layer2
大规模部署,关于
ZKSpeed
的方案细节,敬请关注即将发布的技术白皮书和系统示例(
zkspeed.org
)。
XRP Descending Channel Caps Rally – Will Bulls Mount A Comeback?
XRP is navigating a challenging technical landscape as it continues to trade within a well-defined d...
SFT Protocol and Papu Games Join Forces to Revolutionize Web3 Gaming
The SFT Protocol and Papu Games collaboration aims to boost Web3 gaming by redefining player engagem...
Pi Coin Suspension: Banxa Opens Doors to Pi Network in 100 Plus Countries with KYB Approval
The post Pi Coin Suspension: Banxa Opens Doors to Pi Network in 100 Plus Countries with KYB Approval...