同样作为layer2扩容解决方案,optimistic和零知识汇总(zero-knowledge rollups)主要有哪些区别?

optimistic和零知识汇总都将数百个交易捆绑(或“汇总”)到layer1的单个交易中。Rollup交易在layer1之外执行,但交易数据被发布到layer1。

主要区别在于将哪些数据发布到layer1以及如何验证数据。有效性证明(用于零知识rollups)在链下运行计算并发布证明,而欺诈证明(用于optimistic rollups)仅在怀疑有错误且必须检查时在链上运行计算。目前,大多数ZK-rollups都是特定应用程序的,而optimistic rollups在很大程度上是可推广的。

对于optimistic rollups在之前的文章中我们详细介绍过,本文不再赘述。今天我们重点介绍什么是零知识汇总,以及如何与以太坊进行交互。

零知识汇总 (ZK-rollups) 是2 层扩容解决方案,可通过将计算和状态存储移至链下来提高以太坊主网上的吞吐量。ZK-rollups 可以批量处理数千笔交易,然后只将一些最小的汇总数据发布到主网。这个汇总数据定义了应该对以太坊状态进行的更改以及一些加密证明这些更改是正确的。

什么是零知识汇总?

零知识汇总 (ZK-rollups)将交易打包(或“汇总”)成链下执行的多个batch中。链下计算减少了必须发布到区块链的数据量。ZK-rollup 操作者提交表示batch处理中的所有交易所需的更改总结,而不是单独发送每个交易。他们还产生有效性证明(validity proofs )来证明其变更的正确性。有效性证明以密码学的确定性证明,对以太坊状态的提议更改确实是执行batch处理中所有交易的最终结果。

ZK-rollup 的状态由部署在以太坊网络上的智能合约维护。要更新此状态,ZK-rollup 节点必须提交有效性证明以供验证。如前所述,有效性证明是一种加密保证,即汇总提出的状态更改确实是执行给定批次交易的结果。这意味着 ZK-rollup 只需要提供有效性证明来完成以太坊上的交易,而不是像optimistic rollups 那样将所有交易数据发布到链上。

将资金从 ZK-rollup 转移到以太坊时没有延迟,因为一旦 ZK-rollup 合约验证了有效性证明,就会执行退出交易。相反,从 optimistic rollups 中提取资金会受到延迟,以允许任何人使用欺诈证明来挑战退出交易。

ZK-rollup 将交易作为calldata写入以太坊。calldata是存储智能合约函数外部调用中包含的数据的地方。calldata中的信息发布在区块链上,允许任何人独立重建汇总的状态。ZK-rollup 使用压缩技术来减少交易数据——例如,账户由索引而不是地址表示,这样可以节省 28 字节的数据。链上数据发布是 rollups 的一项重要成本,因此数据压缩可以降低用户的费用。

ZK-rollups 如何与以太坊交互?

ZK-rollup 链是一种在以太坊区块链之上运行的链下协议,由链上以太坊智能合约管理。ZK-rollups 在主网之外执行交易,但定期将链下交易batch提交到链上 rollup 合约。这个交易记录是不可变的,很像以太坊区块链,并形成了 ZK-rollup 链。

ZK-rollup 的核心架构由以下组件组成:

  1. 链上合约:如前所述,ZK-rollup 协议由运行在以太坊上的智能合约控制。这包括存储汇总块、跟踪存款和监控状态更新的主合约。另一个链上合约(验证者合约)验证区块生产者提交的零知识证明。因此,以太坊充当 ZK-rollup 的基础层或L1。
  2. 链下虚拟机 (VM):虽然 ZK-rollup 协议存在于以太坊上,但交易执行和状态存储发生在独立于EVM的单独虚拟机上。这个链下 VM 是 ZK-rollup 上交易的执行环境,并作为 ZK-rollup 协议的第二层或L2。在以太坊主网上验证的有效性证明保证了链下 VM 中状态转换的正确性。

ZK-rollups 是“混合扩容解决方案”——独立运行但从以太坊获得安全性的链下协议。具体来说,以太坊网络强制执行 ZK-rollup 状态更新的有效性,并保证每次更新 rollup 状态后数据的可用性。因此,ZK-rollup 比纯链下扩展解决方案要安全得多,例如负责其安全性的侧链,或也使用有效性证明验证以太坊上的交易的,但将交易数据存储在其他地方的validiums

ZK-rollups 依赖主要的以太坊协议来实现以下目的:

数据可用性

ZK-rollups 将链下处理的每笔交易的状态数据发布到以太坊。有了这些数据,个人或企业就可以复制汇总的状态并自己验证链。以太坊将这些数据作为calldata提供给网络所有参与者。

尽管如此,将数据存储在链上仍然很重要,因为它允许对 L2 链的状态进行无需许可的独立验证,从而允许任何人提交批量交易,防止恶意运营商审查或冻结链。

用户需要在链上与汇总进行交互。如果无法访问状态数据,用户将无法查询其帐户余额或启动依赖于状态信息的交易(例如,取款)。

交易终结

以太坊充当 ZK-rollups 的结算层:只有当 L1 合约接受有效性证明时,L2 交易才会最终确定。这消除了恶意运营商破坏链的风险(例如,窃取汇总资金),因为每笔交易都必须在主网上获得批准。此外,以太坊保证用户操作一旦在 L1 上完成就不能被撤销。

抗审查

大多数 ZK-rollups 使用“超节点”(运营商)来执行交易、生产batch并将区块提交给 L1。虽然这确保了效率,但它增加了审查的风险:恶意的 ZK-rollup 运营商可以通过拒绝批量包含用户的交易来审查用户。

作为一项安全措施,ZK-rollups 允许用户在认为自己被运营商审查时直接向主网上的 rollup 合约提交交易。这允许用户强制退出 ZK-rollup 到以太坊,而无需依赖运营商的许可。

哪些值得期待的ZK项目?

近期备受关注的即将发布的ZK项目就包括zkSync 、StarkWare和Polygon的 zkEVM。zkSync 是一个 ZK Rollup,其完整主网甚至还没有启动,生态系统就已经很庞大了。zkSync 的下一个阶段是 “Fair Onboarding Alpha”,可以在封闭环境中开始部署在 zkSync 2.0 上。

StarkWare 是一个二级扩展解决方案,它利用 STARK 证明来减少发送到以太坊区块链的信息量,缓解区块链拥堵。SnarkNet 和 zkSync 一样,利用 ZK-Rollup 技术来实现这一目标。StarkWareLtd 即将推出Starknet 代币。

Polygon 收购了 Hermez Network(一个 ZK-rollup),以致力于他们自己的 zkEVM 产品。zkEVM 是一个虚拟机,以透明的方式执行以太坊交易,包括具有零知识验证的智能合约。zkEVM 增加了一个已经扩展的生态系统,该系统正在迅速发展。由于 Hermez 已经与 Polygon 合并,$MATIC 代币将为该网络提供动力。

ZK 是以太坊扩展的未来,随着 zkSync、Starknet 和 Polygon zkEVM 即将推出的代币,ZK-rollup加密叙事继续深入布局。

参考文章:https://ethereum.org/en/developers/docs/scaling/zk-rollups/#zk-rollups-and-ethereum