了解的不同类型的 Rollup 以及 Mina Protocol 在这个领域的应用。
作者:James Strudwick(Mina 基金会业务发展负责人)、Dylan Kugler(Mina 基金会全球生态系统业务拓展总监)
可扩展性指的是使区块链的速度更快,并且在过去的几年里已经成为一个越来越重要的问题。对区块链需求的增加导致了网络拥堵和高额的终端用户费用,对大规模采用区块链造成了很大的障碍。
通过底层的分片和链下处理的侧链、状态通道和 Rollup 等创新方法,扩展问题的解决方案可以满足当前和未来的需求。以太坊已经意识到其底层的局限性,并在最近提供了一个以 Rollup 为中心的路线图,从数据和计算的角度认识到可扩展性问题。
什么是 rollup?
Rollup 的设计目的是比在主链上进行交易更快、更便宜,我们相信它们是卓越的扩展解决方案,为底层增加了模块性并保持了安全性。
Rollup 是一种链下扩展解决方案,可在核心第 1 层 (L1) 之外执行交易。它们在链下处理交易,然后将所有交易捆绑到一个区块中,然后将该区块发送回 L1。通过将可能包含数千个链下交易的单个交易发布到主网络,Rollup 能够提高底层 L1 的可扩展性和吞吐量。
与侧链相比,大多数 Rollup 没有自己的共识模型并利用结算层的安全性,使其成为降低费用和提高区块链采用率的理想解决方案。
Optimistic vs. zkRollups
Rollup 有两个主要类别,即 optimistic 和zero knowledge (ZK)。两者都在链下执行交易,然后将多个交易捆绑成批处理。主要区别在于如何在链上验证状态转换。这是非常重要的。如果没有对后状态根 (post-state roots) 的验证,一个不良行为者可以提交一个批次,将所有的代币转移。
Optimistic rollup 通过使用欺诈证明 (fraud proofs) 来解决这个问题。欺诈证明简单来说,就是验证者声明状态转换无效并应还原批次。Optimistic rollup 不计算交易。相反,他们“乐观地”假设所有交易都是合法的,并且在提交 rollup 和在基础链上执行之间有一个预定的挑战期,任何参与者都可以在这个期间提交欺诈证明以触发争议程序,以防提交了无效交易或区块。
Mina 上的 zkRollup 选择使用不同的验证方法,使用有效性证明 (validity proofs) 来验证状态转移。这些密码学有效性证明使用零知识证明生成,零知识证明是一种允许一方向另一方证明计算有效性而无需透露任何其他信息的证明类型。在 zkRollup 的背景下,零知识证明证明了链下交易的正确性和 zkRollup 交易的完整性。
除了证明类型之外,还有其他方法可以直接比较 optimistic 和 zkRollup;交易最终性、EVM 兼容性、安全性和交易成本。
L1 交易最终性
Optimistic rollup:欺诈证明伴随着一个为期 1 至 2 周的挑战窗口。在此之前,没有任何交易可以被最终确定。从用户体验的角度来看,只要用户相信程序是诚实的,就可以获得接近即时的交易最终性。
zkRollup:虽然零知识证明是计算密集型的,但我们已经看到证明生成时间有了显著提高。从 L1 的角度来看,只要证明已被验证并且 L1 共识达成一致,Rollup 就会立即执行。然而,因为 Rollup 在提交证明之前要等待大量交易的累积,它们每隔几个小时才会向 L1 提交证明。因此,大多数 zkRollup 的程序都提供“软确认”。对于大多数用户来说,这种“软确认”是可以接受的,并提供几乎即时的最终性,但是 L1 最终性可能会被延迟。
结论:考虑到 1 到 2 周的挑战窗口,optimistic rollup 的交易最终确定性将比 zkRollup 慢。
EVM 兼容性
Optimistic rollup:可以将完整的交易数据发布到以太坊主网,并且在数据压缩和编程障碍方面比 zkRollup 更少。
zkRollup:而 zkRollup 由于以太坊虚拟机(EVM)的操作码和字节码的普遍限制,实现真正的 EVM 兼容性是困难的。这导致在兼容性和性能之间做出了折衷,一些项目选择了更适用于特定目的的解决方案,而非使用原生的以太坊工具环境。
结论:Optimistic rollup 更容易与以太坊集成。虽然在 zkRollup 项目中取得了重大进展,但仍然存在兼容性 / 性能的折衷。即使最兼容的 zkRollup 也必须在执行环境方面做出一些妥协。
安全性
Optimistic rollup:需要至少一个诚实节点提交欺诈证明以挑战无效的状态转换,并依赖于用户的经济激励来确保安全性。
zkRollup:依赖于使用零知识的无信任加密证明。
结论:大多数人仅凭 1 周挑战窗口的存在就认为 optimistic rollup 不如 zkRollups 安全。人们常说,由于交易逆转的风险,Optimistic rollup 的安全模型较差。从理论上讲,攻击者可能会提交大量无效交易,导致系统恢复多个区块,这可能会导致严重的中断和潜在的资金损失。
现实情况是,只需要有一个诚实的实体运行一个 optimistic rollup 全节点,它能够标记无效的状态根承诺并在 1 周的挑战窗口到期之前挑战其正确性。考虑到多数参与者在生态系统中会因为经济激励而努力确保 Optimistic rollup 的正确性,这种情况发生的几率是极高的。实际上,问题更多在于微调挑战激励与流量的额外过程,这是 zkRollup 不需要考虑的参数。因此,虽然 zkRollup 本质上是一种更安全的设计,但 optimistic 和 zkRollup 都同样容易受到审查。
交易成本
Optimistic 和 zkRollup 的成本都比当前 Layer 1 交易费用有显著的改善。
结论:需要注意的是,zkRollup 和 optimistic rollup 之间的成本比较会受到多种因素的影响,例如正在处理的交易的复杂性、具体的实施细节以及以太坊网络的拥堵程度。话虽这么说,零知识证明是节省空间的,因此 zkRollup 的每笔交易成本通常比 optimistic rollup 便宜。随着技术的不断发展,optimistic rollup 和 zkRollup 的交易成本都将继续下降。
以太坊内的 Rollup 市场份额
虽然 Mina 是独立于以太坊的 1 层网络,有趣的是各种 zkRollup 在以太坊上受到的关注。
资料来源:L2beat.com, 截至 4/10/22
备注:2022 年 6 月,dYdX 宣布将开发自己的基于 Cosmos 的区块链,并将其最新版本从以太坊迁移。dYdX 计划在 2023 年下半年启动主网。
结论:鉴于技术的复杂性和与以太坊的有限兼容性,zkRollup 在锁定的总价值和市场份额方面落后。随着技术的改进,我们应该看到开发者利用其他链如 Mina 作为零知识的可编程层。
Rollup 框架的应用
开发者可以插入和使用两种主要的 rollup。第一个是仅支持特定类型的应用或功能的特定于应用的 rollup (application specific rollup)。相比之下,通用 rollup (general purpose rollup) 让项目可以独立于 rollup 运算符自定义逻辑和智能合约,这对于特定于应用的 rollup 是不可能的。
特定于应用的 rollup 非常适合特定的预定义用例,例如交易、NFT 和游戏,并且是一个很好的扩展解决方案。通用 rollup 被用于需要自定义代码和可由任何用户部署的原生智能合约项目。例如,许多 DeFi 项目使用 Uniswap 作为价格预言机,因此需要通用 rollup 的可组合性。不幸的是,这种级别的可组合性通常会导致更差的性能和更高的费用。
随着加密货币向多链模型发展,特定于应用的 rollup 可以使应用分布在不同的环境中,为区块链创建新的跨链和内部通信标准提供机会。随着更多 rollup 部署在单个链上,可能需要跨 rollup 桥或协议。例如,Inter-Blockchain Communication Protocol (IBC) 解决了 Cosmos 生态中的跨链通信问题,并有助于在两个应用特定链之间验证和传输数据。
特定于应用的 rollup 和链之间的跨链通信可以增加规模、安全性和效率。2022 年 5 月,专注于游戏的应用特定 rollup Immutable X宣布,允许玩家在各种以太坊第 2 层 (L2) rollup 中交易任何资产。这样做可以改进开发者从 L1 到 L2 的迁移和可组合性。
根据经验,与通用 rollup 相比,可以锁定应用特定 rollup 的应用可能会获得更好的性能。尽管如此,特定于应用的 rollup 和通用 rollup 对于正常运转的开发者生态系统都很重要。
Mina 的 rollup 环境
Mina 的路线图中包括使用 zkRollup 来增加吞吐量。虽然有计划降低最终性并提供低延迟交易,但我们认为在保持高度去中心化的情况下,将大量吞吐量推送到 L1 可能会很具有挑战性。因此,我们认为吞吐量将被推向 L2 rollup,并且我们相信会有许多不同的 rollup 类型将利用包含批量证明的递归。
以太坊内的 Rollup 市场份额
首先,作为 L1 的 Mina 本身已经是一个 rollup,使其适合于以吞吐量为重点的 Rollup 模型。由于递归,我们可以将计算压缩成静态大小的证明,而无需进行任何权衡。如果吞吐量较低,用户可以选择最低的延迟,如果吞吐量增加,用户可以处理额外的递归证明以获得更高的吞吐量,同时增加少量的延迟。这实际上意味着该系统可以呈指数级扩展,并且可以根据使用情况进行动态调整以优化延迟。
Mina 上的 L2 Rollup
Mina zkRollup 的第一个版本将以与 Mina L1 同构的方式设计。这带来了很多好处。首先,开发者可以轻松地将他们的应用移植到 L2,而无需更改任何代码。其次,就像在 L1 上一样,zkApp 将可以相互组合。此外,通过正确的轨道,Mina 上的任何 rollup 或应用链都能够可证明地相互读取数据,从而提高整个 Mina 生态的可组合性。第三,所有工具和远程过程调用 (RPC) 服务都将是可重用的。
这看起来像是“Mina on Mina”,社区成员 Trivo#0001 已经在开发中。这个 zkRollup 也会被设计成模块化和可扩展的。模块化意味着数据可用性、排序、证明和执行可以分开考虑,从而更容易维护和更大的灵活性。可扩展性意味着随着 ZK 计算生态系统的发展,其他执行模型可以添加到堆栈中,例如 zkEVM、zkLLVM、Risc 等。
Mina L2 和 zkApp 链不仅可以相互操作,而且通过状态证明桥接,还可以验证 Mina L2 和其他链之间的状态,特别是 EVM 链,以及未来的 Cosmos 和 IBC 连接链。
Mina 是 rollup 的理想环境
Mina Protocol 的 rollup 环境与大多数中心化的 rollup 环境形成对比。鉴于 Mina 的去中心化递归 /rollup 性质,我们实际上可以从 Mina L1 中提取一些构建模块来创建去中心化的 Mina L2。大多数现有的 rollup 都是中心化的,并且正如开篇所提到的,它们没有自己的共识模型。这可能不再适用于创建去中心化 rollup。例如,一些计划中的 Mina L2 中的数据可用性层附有一个小型共识层,可以针对速度和兼容性进行优化。
此外,由于 zkApp 利用了 Mina 的递归属性,它们也可以被视为在链下执行并在链上验证的 rollup。这是 Mina 生态系统的重要组成部分。
最后,Mina 能够在浏览器中生成证明,这对于同时保持高度去中心化的应用和 rollup 的扩展具有巨大的影响。其他项目的证明占用高达 1 TB 的内存并需要数百个核心,因此无法在普通消费级硬件上运行,更不用说在浏览器或手机上运行了。Mina 生态贡献者 Viable Systems 最近发布了 OpenMina。OpenMina 是一个概念性的浏览器 Web 节点,可以直接在用户设备上发送和验证交易。这是朝着完全实现去中心化区块链迈出的一大步。
关键零知识链的比较
L1
Mina 是一个 L1 区块链,使用递归的 zk-SNARK 使区块链保持在小于 22KB 的状态,使用零知识证明来构建更安全、可访问和去中心化的区块链架构。零知识智能合约,在 Mina 上被称为“zkApp”,使用 SnarkyJS(一个基于 Typescript 的库)编写,降低了成千上万现有开发者的进入门槛。Mina 的主网自 2021 年 3 月上线。
与 Mina 一样,Aleo 正在构建一个可编程的 zkApp 层,使用其专有的编程语言 Leo。Mina 专注于实现可编程隐私性,Aleo 高度专注于构建一个完全隐私的账本。截至 2023 年 4 月,Aleo 尚未在主网上线。
ZCash 是另一个以隐私为中心的 L1,它创建了第一个零知识证明的生产就绪实施,以支持屏蔽和隐私交易。ZCash 已在 2016 年启动主网。
zkEVM
几个著名的 zkEVM ( 零知识以太坊虚拟机 ) 都采用不同的方法。截至 2023 年 4 月,以下所有项目均已在主网上启动,Scroll 除外。
Starknet 使用 STARK 证明系统而不是 SNARK。智能合约是在 Cairo 编写的,虽然 Starknet 本身不支持原生 EVM,但他们正在开发一个 Solidity 到 Cairo 的转译器。
Aztec Network 是一个完全隐私的 zkRollup,并使用其专有的领域特定语言 Noir 来创建和验证零知识证明。与 Aleo 一样,Aztec 专注于隐私账本,并开发了工具以在以太坊上启用隐私 DeFi。
zkSync 支持多种用于编写以太坊智能合约的开发者工具,包括 Solidity。他们的最新版本最近更名为 zkSync Era。
Scroll 为现有的以太坊应用和工具提供原生兼容性。Scroll 目前处于测试网阶段,致力于实现完全的 EVM 等效性,并专注于为 zkEVM 构建 EVM 操作码。
与 Scroll 一样,Polygon zkEVM 正在构建完全等效的 EVM 解决方案。
结论
零知识技术是加密货币领域最具创新性的解决方案之一。它主要用于扩展规模。然而,像 Mina 这样的新解决方案已经出现,扩展了零知识的能力,为将现实世界的数据写入链上并利用扩展潜力创造了前所未有的机会。
最终,所有项目都应该将 zkRollup 视为其特定链的潜在最终状态扩展解决方案。zkEVM 需要进一步开发以克服构建高性能解决方案,同时保持 EVM 兼容性的固有挑战。但是,当零知识对所有开发者完全可用和相关时,我们很期待看到构建和开发的内容。
⬇️ 进一步了解零知识 Rollup,请看下方视频
About Mina Protocol
#PoweredByParticipants
Mina 是全球最轻量区块链,由参与者参与治理。
凭借其优雅的设计,Mina 是首个实现简易编程性零知识智能合约(zkApp)的一层网络。Mina 独特的隐私和安全功能及其通过 zkApp 与任何网站链接的能力,使得 Web3 更具安全性和私密性,极大地推动着所有人都应享有的安全民主未来的构建。Mina 由总部位于美国的非营利组织 Mina 基金会管理。
全球最轻量区块链 人人皆可参与
公众号|Mina Protocol Official
微 博|Mina_Protocol
往期回顾
Consensus 2023|与 Mina 一起探索 ZK!
Mina 长年路线图
🔥 zkIgnite Cohort 2:立即报名!
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。