随着以太坊生态的发展拉动人们对区块空间的需求增长,以太坊基础层上的交易变得极其昂贵。然而,区块空间供应量仍保持不变。与 DeFi 应用交互需要支付价值数百美元的 gas 费,让许多终端用户望而却步。Rollup 旨在用户的交易转移到成本较低的 Layer 2 上执行,然后再将这些 L2 交易的证明批量打包到一个 L1 交易中并提交到 Layer 1 上进行结算,从而大幅减少对区块空间的占用,缓解对 Layer 1 的需求压力。
Rollup 分为多种类型,在吞吐量、延迟、安全性、通用性和运行成本上有着不同的权衡关系。本文围绕这些权衡关系制定了一个 Rollup 分析框架,并分析了这个框架为何适用于不同的 Rollup 实现。我们希望这个框架能为项目方按需选择 Rollup 方案提供基本参考。
自以太坊诞生以来,其吞吐量限制就已是众所周知的问题。采用权益证明和分片机制的 ETH 2.0 一直被视为可扩展性问题的解决方案。虽然 ETH 2.0 在 2020 年 12 月就启动 Phase 0 并上线信标链,但是在 Phase 2 启动之前还无法有效缓解可扩展性和吞吐量问题。
与此同时,Rollup 实际上已经成为缓解可扩展性问题的短期解决方案。在最近的一篇文章中,Vitalik 提出了一个基于 Rollup 的以太坊路线图,称 “以太坊生态有可能在短期和中期完全依赖 Rollup 方案(以及一些 plasma 和状态通道)来实现可扩展性”,很多团队已经开始努力实现该路线图。点击此处,阅读 Vitalik 对 Rollup 的全面解析。
Rollup 在 2020 年取得了巨大发展:Fuel Labs 和 Optimistic 在主网发布了第一版 Optimistic Rollup;Loopring 的 ZK-Rollup 的总锁仓量已超过 1 亿美元;Starkware 推出了 Cairo 工具链,方便开发者使用零知识证明技术。我们看到 rollup 技术有了很多突破,包括 Aztec 和 ZkSync 通过改进 PLONK 引入递归计算能力。在 2021 年,我们还将看到更多进展。
在以太坊的基础上构建一个单独的层非常复杂,而且分析现有的 Rollup 实现并非易事。Rollup 团队都在大力宣传其解决方案在理论上的最佳性能和功能,但是其风险和权衡的相关信息却鲜为人知。让我们来深入研究如何分析 Rollup 的权衡关系和风险,以及现有实现与这些风险模型的相符程度。
我们定义并解释了 Rollup 的主要考量因素——安全性、通用性、成本、延迟、吞吐量、资本要求和用户体验——并在此基础上构建了权衡关系的分析模型。我们可以用这些特征来评价现有实现,这样不仅可以从微观上了解每个 Rollup 的风险和权衡关系,还能从宏观上把握 Rollup 的总体情况。
Rollup 的安全性(即,用户和运营者存放在 Rollup 中的资产的完整性和安全性)依托于底层 Layer 1 区块链(本文特指以太坊)。但是,一些 Rollup 方案的某些假设及其构建方式也关系到安全性。
1.诚实暸望塔假设
该假设认为至少有一个诚实的 “暸望塔” 可以在挑战期内成功将欺诈证明提交给 Layer 1 智能合约。这种假设引入了安全性和延迟之间的权衡,因为挑战期越长,诚实的暸望塔提交欺诈证明的可能性就越高;反之,挑战期越短,这一可能性就越低。
2.批量退出假设
该假设认为所有 Layer 2 用户都能在批量退出期内成功执行退出事务。该假设引入了资本效率的权衡,因为运营者的资金在批量退出期内处于锁定状态。
3.起步设置(Setup)
每个 ZK-Rollup 方案都使用零知识证明协议来创建有效性证明。零知识证明系统将一个证明需要检查的逻辑和关系封装成一个能满足所有约束条件的电路。零知识证明协议要求在证明器(Layer 2 运营者)和验证器(智能合约)之间进行名为 “起步设置” 的预定义配置。
Zk-Rollup 主要有三类设置:可信设置(Trusted Setup)、可更新设置(Updatable Setup,CRS)和透明设置(Transparent Setup)。
1.完全兼容 EVM
完全兼容 EVM 指的是 Layer 2 系统完全兼容以太坊主网上已有的智能合约。
2.自定义智能合约
Layer 2 客户端可以自定义并引入有限的智能合约。Layer 2 用户和合作伙伴可以通过各种工具以 zk-SNARK 电路(代表智能合约的逻辑)的形式引入其智能合约,不过电路会带来局限性(电路可能不支持无限迭代的循环)。
3.固定功能
可以加入一些 dApp 或智能合约,但是必须通过系统升级来实现。
1.gas 成本
2.计算成本
1)实证吞吐量取决于证明器时间。
2)证明成本、实证吞吐量和资本要求之间存在权衡关系。更高的吞吐量需要更高的证明成本和资本要求。
(1)所有使用欺诈证明的 Rollup 必须接受活性假设。该假设引入了安全性和延迟的权衡(体现在挑战期的长短上)。Arbitrum 的测试网案例将挑战期设为 30 分钟,非常短而且实际上并不安全。这意味着,恶意运营者可以对以太坊发起 30 分钟的网络拥堵攻击,然后窃取 Layer 1 上的 Rollup 智能合约中的所有资金。
(2)每当 Loopring 改变其功能或数据结构时都需要新的设置。(最新版本的 Loopring 使用内部的临时起步仪式。)
(3)就每 30 万笔交易生成一个证明的电路而言,Stark 的验证者需要 500 万 gas。但是,deversiFi 使用的Stark 电路是每 150 笔交易生成一个证明,需要超过 200 万 gas。(相比之下,Plonk 是每 300 笔交易生成一个证明,需要 50 万 gas;递归 Plonk 是每 3000 + 笔交易生成一个证明,需要 90 万 gas;Groth16 是每 2000 笔交易生成一个证明,需要 30 万 gas)。
(4)常规 Plonk 的证明器时间是 2 至 14 分钟(取决于区块中的交易数量)。如果是递归 Plonk,证明器时间会翻一番,但是生成一个证明需要 5 至 10 倍数量的证明器。如果是 Loopring 中使用的 Groth16,证明器时间约为 7 分钟。
(5)最优 gas 成本还取决于 Rollup 的功能(转账、交易或多用途),因此它并不一定能正确反映 Rollup 的费用。
(6)在 1.0 版本中,Loopring 需要更多时间来收集足够多的交易打包成一个区块,因为存款、取款和结算都是相互独立的。
(7)StarkWare 的一个解决方案不提供链上数据,而是引入数据可得性委员会。数据可得性委员会的确认会上链。
(8)为了解决证明器成本问题,Zksync 开发了新的硬件(FPGA)。为了提高最大吞吐量,Zksync 和 Aztec 改进了 Plonk 中的递归电路。
(9)StarkWare 专门为证明器打造了硬件,同时也致力于开发基于 Stark 的解决方案。
(10)Plonk 的 tps 为 300,递归 Plonk 的 tps 为 800 至 3000。
(11)Zk-rollup 的实证吞吐量取决于证明器时间。例如,假设有 50 个证明器:在 Plonk(Zksync)中,证明器时间约为 720 秒(每 300 笔交易生成一个证明),因此实证吞吐量不可能超过50 x 300 / 720 ~20 tps。在 Loopring 中,证明器时间为 420 秒(每 2048 笔交易生成一个证明),因此实证吞吐量为 50 x 2048/ 420=244 tps。
(12)在 Optimism 的首个 Rollup 主网版本中,每笔 Layer 2 交易需要消耗 2.1 万 gas。但是, 该团队承诺会提供一个优化版本,将 gas 成本降至 5000。
(13)Aztec 提供的隐私交易需要更多调用数据。
判断标准 | ||
---|---|---|
已公开 | 最优吞吐量 | 3000 tps |
单个证明所能容纳的交易笔数 | 300.000 | |
证明器时间 | 3 - 5 分钟 | |
未公开 | 固定成本 | 200 - 500 万 gas |
延迟 | 6 - 12 小时 | |
备注 | 由于固定成本很高,Stark 的 Rollup 方案需要收集到足够多交易才会对其进行批处理并生成证明。因此,在 StarkEx 的早期阶段,延迟主要取决于交易收集时间。 |
判断标准 | ||
---|---|---|
已公开 | 最优吞吐量 | Plonk 的 tps 是 300;递归 Plonk 的 tps 是 800 至 3000。 |
单个证明所能容纳的交易笔数 | Plonk 是大约每 100 笔交易生成一个证明;递归 Plonk 是每 315 笔交易生成一个证明。 | |
未公开 | 固定成本 | Plonk 的 gas 成本约为 50 万;递归 Plonk 的 gas 成本约为 90 万。 |
证明器时间 | Plonk 的证明器时间是 4 至 12 分钟。 | |
证明器成本 | 无法通过链上数据推出。 | |
实证吞吐量 | 未公开。 |
判断标准 | ||
---|---|---|
已公开 | 最优吞吐量 | 2150tps |
单个证明所能容纳的交易笔数 | 2048 | |
证明器时间 | 7 分钟 | |
固定成本 | 30 万 gas | |
未公开 | 实证吞吐量 | 未公开 |
可信设置 | 新版本缺省了一次公开的仪式 | |
验证者成本 | 无法通过链上数据推出 | |
备注 | 使用 zk-SNARK 技术就意味着接受可信起步设置假设,即,该设置中的所有参数都应该永久隐藏。如果我们通过流程生成可信起步设置,则只要流程的至少一个参与者完全销毁了其 toxic waste,这个假设就不会被打破。 |
判断标准 | ||
---|---|---|
已公开 | 最优 gas 成本 | ~ 2000 gas |
最优吞吐量 | 390 tps | |
挑战期 | 在测试网上是 30 分钟 | |
未公开 | 受保护的资金上限 | 未正式公布 |
备注 | 在 Optimistic Rollup/Arbitrum 方案中,如果 Layer 2 运营者对以太坊发起网络拥堵攻击,就可以盗走资金。因此,该 Rollup 方案保护的资金上限不能超过该攻击的成本。挑战期越长,攻击成本越高。 |
判断标准 | ||
---|---|---|
未公开 | 最优 gas 成本 | ~ 5000 - 21000 gas |
最优吞吐量 | 50 - 200 tps | |
挑战期 | 未公布 | |
受保护的资金上限 | 未正式公布 | |
备注 | Optimism 没有提供任何关于其 Rollup 方案的具体分析。 |
判断标准 | ||
---|---|---|
已公开 | 最优 gas 成本 | ~2000 gas |
最优吞吐量 | 500 tps | |
挑战期 | 2 周 | |
未公开 | 受保护的资金上限 | 未正式公布 |
备注 | 主网 Rollup 浏览器停在第三个 Layer 2 区块上。该版本暂无后续信息。 |
用户采用率:对于像 Rollup 这样未经过测试和验证的新技术,用户通常持有谨慎态度。不明确的权衡关系和复杂性限制了主流采用。
安全性:零知识证明协议的选择和挑战期等因素都对 Rollup 方案的安全性有着极大影响。分析和理解这些选择并非易事。虽然没有嵌入零知识证明电路所带来的复杂性,但是对常规的智能合约进行审计本身就很有挑战性。对 Zk-rollup 方案进行审计是很艰巨的任务,只有非常优秀的安全专家才能胜任。
资金要求:在早期阶段,Rollup 的成本很高,采用率却一直很低。为一小部分用户创建并定期运行 Rollup 需要投入大量资金。在某些情况下,资金要求直接影响 Layer 2 系统的安全性。因此,为了保障 Rollup 的健康运行,建立一个经济系统是必不可少的。
Rollup 技术是以太坊可扩展性问题的可行解决方案之一。目前有多种实现并部署 Rollup 的方法。鉴于该技术的复杂性和多种权衡关系,我们需要了解相关风险。对于那些部署 Rollup 的团队和在 Rollup 上部署 dApp 的团队来说,安全性、可用性、成本和吞吐量都是在设计解决方案时需要考虑的因素。
在这个大背景下,Kyber Network 认识到为用户提供经济快捷的交易方式的重要性。因此,我们投入了大量资源来研究并构建 Rollup 解决方案,以便更好地服务于我们的未来计划。我们将适时公布更加详细的信息,希望本文能助你理解并评估 Rollup 技术。
原文链接: https://blog.kyber.network/research-trade-offs-in-rollup-solutions-a1084d2b444
作者: Trong Nguyen & Loi Luu