本系列将试图用通俗举例和语言,帮助大家理解复杂概念。本系列非学术论述,举例只为帮助大家通俗理解。如有错误,欢迎指正。更严谨的表述,欢迎大家查看专业论文学习。
前情回顾,
1/零知识证明,英文为ZeroKnowledgeProofs,简写为ZK或ZKP。
zkXXX,即代表应用了零知识证明。
2/零知识证明技术,要在证明速度、验证速度、整体大小之间做取舍,继而产生的用户体验不同。
zk-SNARK诞生时间久,经过验证,应用比较成熟,并诞生了Groth16、PLONK、Halo2等多技术分支。zk-STARK相较而言,诞生时间较短,仍需时间验证完善。
Manta采用Groth16,是目前最快、数据量最小的zk-SNARK。Manta在椭圆曲线密码算法等基础上,进一步优化升级,ZK生成速度比Zcash快十倍。交互确认时间仅需2-3秒。
3/ZK开发逐渐模块化。zk-SNARK与zk-STARK之间,可通过切换多项式承诺,进行相互转换。且,代码终会开源,所以长期看,单靠技术无法构筑壁垒。
正式开始本篇内容。
什么是Rollup?
Roll,卷、滚的意思。Up,向上、起来的意思。Rollup就是“卷起来”。
当然,这不是内卷那个“卷”,而是像面饼一样,把食材统统卷进去的那个“卷”。
Rollup,就是把许许多多多笔交易“卷”起来,在自己的网络里处理掉。
Rollup通常运行一组中心化定序器,为Rollup上的交易进行排序。定序器就像中心化的服务器。
Rollup与以太坊主链关系,举个便于理解但不十分严谨例子,如同初期的支付宝与银行。
资金从以太坊主网转入Rollup,如同把钱从银行卡转入支付宝。
用户在Rollup交互,交互信息并不直接提交到以太坊主链上,而是由Rollup定序器进行排序。
这个过程,称为“链下扩容”,所谓“链下”指的是在以太坊链下。
支付宝初期,用户直接使用支付宝余额交易,银行对具体交易信息,并不知情。支付宝相对银行,也是“链下”。
定序器会对Rollup里的交易,统一进行排序、打包、压缩,隔一段时间提交到以太坊主链,由以太坊主链提供结算、校验交易数据,以减轻主链负担。
主链矿工可以通过欺诈证明或有效性证明,验证Rollup交易数据是否真实。
举个例子,用户在Aribitrum上,使用Gmx疯狂进行衍生品交易。这些操作,都让Aribitrum“卷”起来处理掉了,这些交互仅在Aribitrum当前Rollup上发生,不会造成以太坊主链拥堵。
Aribitrum会将一段时间内的交互信息排序、打包、压缩、提交到以太坊主链,由以太坊全节点校验交易数据真实性,所以,Rollup称为执行层,主要负责执行交易。
OptimisticRollup与ZKRollup?
Optimistic与ZK,是以太坊主链全节点,校验Rollup交易数据真实性的方式,可以理解成是对账方式。
Rollup是处理交易的方式。
这俩都是Rollup,所以,处理交易方式一致,都是“卷起来”。区别在于,对账方式:
1/Optimistic,意为“乐观的、积极的”。
OptimisticRollup“乐观的”默认交易信息真实有效。
万一有人提供虚假交易信息呢?
若使用Aribitrum或Optimism,会发现,把代币跨回其他网络,需要等待几天时间,即“等待期”。
“等待期”内,以太坊主网全节点都可以发起挑战,证明某交易为假。
由于Rollup数据层和结算层仍使用以太坊,相当于根账本在以太坊上,所以,Rollup自身是无法篡改、作弊的。
若挑战成功,则会罚没作弊者保证金,交给挑战者,并回滚该区块内的交易。
2/zk-Rollup
还记得ZK的基本原理及特性嘛?
证明者和验证者。证明者生成证明,验证者在不获取信息本身的前提下,验证该证明。
ZK有以下特性:
完备性:提交者若确实掌握了答案,那他能找到方法向验证者证明为真,即真的假不了。
合理性:若提交者未掌握答案,那他无法向验证者证明为真,即假的真不了。
零知识性:证明过程中,验证者除了“证明”之外,不会获得其他相关信息。
zk-Rollup会在向以太坊主网提交区块时,生成一个零知识证明。主网全节点验证该证明即可。
需要注意的是,zk-Rollup通常只应用了ZK前两个属性,即完备性与合理性,达到压缩计算的目的。
OptimisticRollup需要将一段时间内交易数据,压缩后,完整地连同状态根、欺诈证明,传回到以太坊主网。
由于交易数据和结算仍存储在以太坊主网上,当全节点提出挑战时,可根据先前存储的状态,校验欺诈证明是否成立,判断OptimisticRollup是否作弊。
zk-Rollup不需要将全部交易数据发布至以太坊主网,仅发布状态差异和有效性证明即可,这样会使得交易成本Gas更低。使用zk前两个属性,达到压缩计算目的。
zk-Rollup证明文件很小,验证时间一定,所以证明本身不会随着交易数量增加而变大。
长期来看zk-Rollup在Gas成本和Tps方面,要优于OptimisticRollup,且无需提现等待期。
所以,以太坊创始人Vitalik认为,短期内OptimisticRollup会因EVM兼容性占据优势,但长期来看,zk-Rollup会胜出。
本质上,OptimisticRollup安全来自于经济学,作恶者要考虑损失的成本,挑战者的动机由经济利益驱动。
zk-Rollup安全来自于密码学,用密码学手段验证证明,可以做到去信任化。
长期看,zk-Rollup相比OptimisticRollup更具优势,但短期仍受制于zk-EVM发展。这也是我们在下一篇会聊到的话题。
这里需要区分的是,用户在zk-Rollup上的交易信息仍是透明可查询的。
而Manta作为基于ZK的可编程隐私公链,除前两个特性外,还重点应用了零知识性,让链上交易隐私化。
Rollup与模块化
不可能三角,又称三元悖论,通常指去中心化、可扩展性、安全性三者不可同时兼得。
通常,模块化是指,把Layer1共识、结算、数据、执行四层分别解耦,在不增加节点硬件负担,造成中心化前提下,实现扩容,打破“不可能三角”。
V神在波哥大以《Hardeningrollupswithmulti-proofs》为主题进行分享,即采用多证明机制,加强Rollup安全。
方案二是多证明人机制,采用多证明系统,用欺诈证明或zkEVM多种实现,预防网络宕机情况。
方案三是双重证明加治理小组,采用欺诈证明加ZK证明,再加上治理小组裁决。当一个证明系统出现漏洞,另一个系统不受影响。
在此之前,Optimism的Kelvin曾写过《ThehybridZK/OptimisticRollupofthefuture》,探讨过将Optimistic与ZK相结合。
总结下,1/Rollup内的交易,隔一段时间统一压缩打包,提交到以太坊主网,由主网提供结算、验证交易数据,以减轻主链负担。
2/Optimistic与ZK,是以太坊主链全节点,校验Rollup交易数据真实性的方式,可以理解成是对账方式。Rollup是处理交易的方式。
3/OptimisticRollup需要将一段时间内交易数据,压缩后,完整地连同状态根、欺诈证明,传回到以太坊主网。
zk-Rollup不需要将全部交易数据发布至以太坊主网,仅发布状态差异和有效性证明即可,这样会使得交易成本Gas更低。使用zk前两个属性,达到压缩计算目的。
4/本质上,OptimisticRollup安全来自于经济学,作恶者要考虑损失的成本,挑战者的动机由经济利益驱动。
zk-Rollup安全来自于密码学,用密码学手段验证证明,可以做到去信任化。
5/用户在zk-Rollup上的交易信息仍是透明可查询的。而Manta是基于ZK的可编程隐私公链,除前两个特性外,还重点应用了零知识性,让链上交易隐私化。
6/当前,将Optimistic与ZK结合,是Rollup探索方向之一。
本篇重点讲述了zk-Rollup,略微涉及到zkEVM内容。下一篇,我们将重点阐释zkEVM相关内容,欢迎继续关注MantaNetwork中文公众号及推特。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。