小学生也能看懂的零知识证明科普(4):什么zk-Rollup?

前三篇文章介绍了 ZK 基本原理、非交互式证明基本原理、zk-SNARK 与 zk-STARK 区别与关联。

小学生也能看懂的零知识证明科普(1)零知识证明与交互式证明 | ZKP101
小学生也能看懂的零知识证明科普(2)虚拟机与非交互式证明 | ZKP101
小学生也能看懂的零知识证明科普(3)zkSNARK、zkSTARK 都是什么?| ZKP101

本系列将试图用通俗举例和语言,帮助大家理解复杂概念。本系列非学术论述,举例只为帮助大家通俗理解。如有错误,欢迎指正。更严谨的表述,欢迎大家查看专业论文学习。

前情回顾,

1/ 零知识证明,英文为 Zero Knowledge Proofs,简写为 ZK 或 ZKP。

zkXXX,即代表应用了零知识证明。

2/ 零知识证明技术,要在证明速度、验证速度、整体大小之间做取舍,继而产生的用户体验不同。

zk-SNARK 诞生时间久,经过验证,应用比较成熟,并诞生了 Groth16、PLONK、Halo2 等多技术分支。zk-STARK 相较而言,诞生时间较短,仍需时间验证完善。

Manta 采用 Groth16,是目前最快、数据量最小的 zk-SNARK。Manta在椭圆曲线密码(FH-ECC)算法等基础上,进一步优化升级,ZK 生成速度比Zcash快十倍。交互确认时间仅需 2-3秒。

3/ ZK 开发逐渐模块化。zk-SNARK 与 zk-STARK 之间,可通过切换多项式承诺,进行相互转换。且,代码终会开源,所以长期看,单靠技术无法构筑壁垒。

正式开始本篇内容。

什么是 Rollup ?

Roll,卷、滚的意思。Up,向上、起来的意思。Rollup 就是“卷起来”。

当然,这不是内卷那个“卷”,而是像面饼一样,把食材统统卷进去的那个“卷”。

Rollup,就是把许许多多多笔交易“卷”起来,在自己的网络里处理掉。

Rollup 通常运行一组中心化定序器(Sequencer),为 Rollup 上的交易进行排序。定序器就像中心化的服务器。

Rollup 与 以太坊主链关系,举个便于理解但不十分严谨例子,如同初期的支付宝与银行。

资金从以太坊主网转入 Rollup,如同把钱从银行卡转入支付宝。

用户在 Rollup 交互,交互信息并不直接提交到以太坊主链上,而是由 Rollup 定序器进行排序。

这个过程,称为“链下扩容”,所谓“链下”指的是在以太坊链下。

支付宝初期,用户直接使用支付宝余额交易,银行对具体交易信息,并不知情。支付宝相对银行,也是“链下”。

定序器会对 Rollup 里的交易,统一进行排序、打包、压缩,隔一段时间提交到以太坊主链,由以太坊主链提供结算、校验交易数据,以减轻主链负担。

主链矿工可以通过欺诈证明(Fraud Proof,通常由Optimistic Rollup 采用)或有效性证明(Validity Proof,通常由 zk-Rollup 采用),验证 Rollup 交易数据是否真实。

举个例子,用户在 Aribitrum 上,使用 Gmx 疯狂进行衍生品交易。这些操作,都让 Aribitrum “卷”起来处理掉了,这些交互仅在 Aribitrum 当前 Rollup 上发生,不会造成以太坊主链拥堵。

Aribitrum 会将一段时间内的交互信息排序、打包、压缩、提交到以太坊主链,由以太坊全节点校验交易数据真实性,所以,Rollup 称为执行层,主要负责执行交易。

Optimistic Rollup 与 ZK Rollup?

Optimistic 与 ZK,是以太坊主链全节点,校验 Rollup 交易数据真实性的方式,可以理解成是对账方式。

Rollup 是处理交易的方式。

这俩都是 Rollup,所以,处理交易方式一致,都是“卷起来”。区别在于,对账方式:

1/ Optimistic,意为“乐观的、积极的”。

Optimistic Rollup“乐观的”默认交易信息真实有效。

万一有人提供虚假交易信息呢?

若使用 Aribitrum 或 Optimism,会发现,把代币跨回其他网络,需要等待几天时间,即“等待期”。

“等待期”内,以太坊主网全节点都可以发起挑战,证明某交易为假。

由于 Rollup 数据层和结算层仍使用以太坊,相当于根账本在以太坊上,所以,Rollup 自身是无法篡改、作弊的。

若挑战成功,则会罚没作弊者保证金,交给挑战者,并回滚该区块内的交易。

2/ zk-Rollup

还记得 ZK 的基本原理及特性嘛?

证明者(Prover)和验证者(Verifier)。证明者生成证明,验证者在不获取信息本身的前提下,验证该证明。

ZK 有以下特性:

完备性(Complete):提交者若确实掌握了答案,那他能找到方法向验证者证明为真,即真的假不了。

合理性(Sound):若提交者未掌握答案,那他无法向验证者证明为真,即假的真不了。

零知识性(Zero-Knowledge):证明过程中,验证者除了“证明”之外,不会获得其他相关信息。

zk-Rollup 会在向以太坊主网提交区块时,生成一个零知识证明。主网全节点验证该证明即可。

需要注意的是,zk-Rollup 通常只应用了 ZK 前两个属性,即完备性与合理性,达到压缩计算的目的。

Optimistic Rollup 需要将一段时间内交易数据,压缩后,完整地连同状态根(包含用户地址余额等信息)、欺诈证明(仅在发生争议时),传回到以太坊主网。

由于交易数据和结算仍存储在以太坊主网上,当全节点提出挑战时,可根据先前存储的状态,校验欺诈证明是否成立,判断 Optimistic Rollup 是否作弊。

zk-Rollup 不需要将全部交易数据发布至以太坊主网,仅发布状态差异(类似用户账户状态变化)和有效性证明即可,这样会使得交易成本 Gas 更低。使用 zk 前两个属性,达到压缩计算目的。

zk-Rollup 证明文件很小,验证时间一定,所以证明本身不会随着交易数量增加而变大。

长期来看 zk-Rollup 在 Gas 成本和 Tps 方面,要优于 Optimistic Rollup,且无需提现等待期。

所以,以太坊创始人 Vitalik 认为,短期内 Optimistic Rollup 会因 EVM 兼容性占据优势,但长期来看,zk-Rollup 会胜出。

本质上,Optimistic Rollup 安全来自于经济学,作恶者要考虑损失的成本,挑战者的动机由经济利益驱动。

zk-Rollup 安全来自于密码学,用密码学手段验证证明,可以做到去信任化。

长期看,zk-Rollup 相比 Optimistic Rollup 更具优势,但短期仍受制于 zk-EVM 发展。这也是我们在下一篇会聊到的话题。

这里需要区分的是,用户在 zk-Rollup 上的交易信息仍是透明可查询的。

而 Manta 作为基于 ZK 的可编程隐私公链,除前两个特性外,还重点应用了零知识性,让链上交易隐私化。

Rollup 与模块化

不可能三角,又称三元悖论,通常指去中心化(Decentralization)、可扩展性(Scability)、安全性(Security)三者不可同时兼得。

通常,模块化是指,把 Layer1 共识、结算、数据、执行四层分别解耦(单拆出来),在不增加节点硬件负担,造成中心化前提下,实现扩容,打破“不可能三角”。

V神在波哥大以《Hardening rollups with multi-proofs》为主题进行分享,即采用多证明机制,加强Rollup安全。

方案二是多证明人机制(multi-provers),采用多证明系统,用欺诈证明或 zkEVM 多种实现,预防网络宕机情况。

方案三是双重证明加治理小组(two-provers plus governance tie break),采用欺诈证明加ZK证明,再加上治理小组裁决。当一个证明系统出现漏洞,另一个系统不受影响。

在此之前,Optimism 的 Kelvin 曾写过《The hybrid ZK/Optimistic Rollup of the future》(ZK/Optimistic 混合 Rollup 的未来),探讨过将 Optimistic 与 ZK 相结合。

总结下,
1/ Rollup 内的交易,隔一段时间统一压缩打包,提交到以太坊主网,由主网提供结算、验证交易数据,以减轻主链负担。

2/ Optimistic 与 ZK,是以太坊主链全节点,校验 Rollup 交易数据真实性的方式,可以理解成是对账方式。Rollup 是处理交易的方式。

3/ Optimistic Rollup 需要将一段时间内交易数据,压缩后,完整地连同状态根、欺诈证明(仅在发生争议时),传回到以太坊主网。

zk-Rollup 不需要将全部交易数据发布至以太坊主网,仅发布状态差异(类似用户账户状态变化)和有效性证明即可,这样会使得交易成本 Gas 更低。使用 zk 前两个属性,达到压缩计算目的。

4/ 本质上,Optimistic Rollup 安全来自于经济学,作恶者要考虑损失的成本,挑战者的动机由经济利益驱动。

zk-Rollup 安全来自于密码学,用密码学手段验证证明,可以做到去信任化。

5/ 用户在 zk-Rollup 上的交易信息仍是透明可查询的。而 Manta 是基于 ZK 的可编程隐私公链,除前两个特性外,还重点应用了零知识性,让链上交易隐私化。

6/ 当前,将 Optimistic 与 ZK 结合,是 Rollup 探索方向之一。

本篇重点讲述了 zk-Rollup,略微涉及到 zkEVM 内容。下一篇,我们将重点阐释 zkEVM 相关内容,欢迎继续关注 Manta Network中文公众号及推特。

关于 Manta Network

Manta Network 致力于通过隐私保护构建一个更好的 Web3 世界。Manta 的产品设计从第一性原理出发,通过 zkSNARK 等领先的密码学架构为区块链用户提供端对端的隐私保护。在保障隐私的同时,Manta 兼具互操作性、便捷性、高性能以及可审计性,允许用户进行任意平行链资产间的隐私转账和交易。Manta 的愿景是为整个区块链世界提供更便捷的隐私保护服务。

Manta 的创始团队由多位加密货币资深人士,教授和学者组成,他们的经验包括哈佛大学,麻省理工学院和 Algorand。Manta 的投资机构包括 Polychain、ParaFi、Binance Labs、CoinFund 以及 Hypersphere 等。Manta 也是波卡官方 Web3 基金会资助获得者,Substrate Builder Program 成员,伯克利大学区块链加速器成员。

We're Hiring!
访问查看开放职位:https://jobs.lever.co/MantaNetwork

关注官方频道了解有关 Manta/Calamari 的更多信息:

Website:https://manta.network/
Github:https://github.com/Manta-Network
Twitter:https://twitter.com/MantaNetwork
Medium:https://mantanetwork.medium.co
Telegram:https://t.me/mantanetwork
Discord:https://discord.gg/ZtSuSKRy8X
Telegram中文:https://t.me/mantanetwork_zh
Twitter中文:https://twitter.com/manta_china

Subscribe to Manta Network
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.