随着以太坊生态的发展拉动人们对区块空间的需求增长,以太坊基础层上的交易变得极其昂贵。然而,区块空间供应量仍保持不变。与 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 的安全性(即,用户和运营者存放在 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)。
可信设置:在该设置下(如 Groth16),gas 成本较低,最大吞吐量较高。但是,每个电路只支持某些固定功能。另外,每次电路升级时,都需要完成可信设置流程。
可更新设置:在该设置下(如递归的 Plonk),gas 成本较高,最大吞吐量较低。但是,该设置最主要的优点是,无需修改电路即可引入自定义智能合约,这都得益于递归性。
透明设置:在该设置下(如 Stark),当 Layer 2 区块被填满时,gas 成本很低,但是在类似空块这种非理想情况下,gas 成本会变得异常高。
通用性
1.完全兼容 EVM
完全兼容 EVM 指的是 Layer 2 系统完全兼容以太坊主网上已有的智能合约。
2.自定义智能合约
Layer 2 客户端可以自定义并引入有限的智能合约。Layer 2 用户和合作伙伴可以通过各种工具以 zk-SNARK 电路(代表智能合约的逻辑)的形式引入其智能合约,不过电路会带来局限性(电路可能不支持无限迭代的循环)。
3.固定功能
可以加入一些 dApp 或智能合约,但是必须通过系统升级来实现。
运营者的成本
1.gas 成本
最优 gas 成本:取决于call data成本和固定成本。
次优 gas 成本:取决于最优 gas 成本、固定成本和实现最优 gas 成本的概率。
固定成本:包括 Layer 2 区块头、Layer 2 区块根的存储量和零知识证明的成本。当需求较低时(在次优情况下),固定成本将占交易成本的绝大部分。
2.计算成本
证明器时间:在 Zk-rollup 中,证明器需要大量时间来生成证明。证明过程中需要进行大量计算,来验证证明中的数百万个限制条件。一般而言,零知识证明的证明器时间取决于电路大小和证明过程中使用的硬件的容量。如果是 Plonk,证明器时间可能是 2 至 14 分钟;如果是 Loopring v3.0,证明器时间可能是 7 至 10 分钟;如果是 Stark,证明器时间可能是 3 至 5 分钟。这是 Zk-rollup 的硬终局性延迟的主要决定因素。
证明器成本:证明器生成证明所消耗的资源,取决于证明器时间和实证吞吐量。
终局性延迟
硬终局性:敲定 Layer 2 区块所花费的时间。对 Optimistic Rollup 来说,这个时间就是挑战期的时长;对 Zk-rollup 来说则是证明器时间。
软终局性:将 Layer 2 区块提交到 Layer 1 上所花费的时间。
取款时间:一些快速交易方案需要先提交 Layer 2 区块,再作进一步处理。
吞吐量
理论最大吞吐量:基于链上操作的 gas 成本和以太坊上每个区块的最大 gas。
Zk-rollup 的实证吞吐量:
1)实证吞吐量取决于证明器时间。
2)证明成本、实证吞吐量和资本要求之间存在权衡关系。更高的吞吐量需要更高的证明成本和资本要求。
用户体验
使用体验是否与使用以太坊相仿。
资本
资本要求:运营者存储在智能合约内用来保障系统安全性的资金。
资本效率:流动性提供者/运营者在 x 时间内锁定在智能合约里的资金。
(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 提供的隐私交易需要更多调用数据。
各 Rollup 方案已公开的理论性能
StarkWare
Zksync
Loopring
Arbitrum
Optimism
Fuel
挑战
用户采用率:对于像 Rollup 这样未经过测试和验证的新技术,用户通常持有谨慎态度。不明确的权衡关系和复杂性限制了主流采用。
安全性:零知识证明协议的选择和挑战期等因素都对 Rollup 方案的安全性有着极大影响。分析和理解这些选择并非易事。虽然没有嵌入零知识证明电路所带来的复杂性,但是对常规的智能合约进行审计本身就很有挑战性。对 Zk-rollup 方案进行审计是很艰巨的任务,只有非常优秀的安全专家才能胜任。
资金要求:在早期阶段,Rollup 的成本很高,采用率却一直很低。为一小部分用户创建并定期运行 Rollup 需要投入大量资金。在某些情况下,资金要求直接影响 Layer 2 系统的安全性。因此,为了保障 Rollup 的健康运行,建立一个经济系统是必不可少的。
总结
Rollup 技术是以太坊可扩展性问题的可行解决方案之一。目前有多种实现并部署 Rollup 的方法。鉴于该技术的复杂性和多种权衡关系,我们需要了解相关风险。对于那些部署 Rollup 的团队和在 Rollup 上部署 dApp 的团队来说,安全性、可用性、成本和吞吐量都是在设计解决方案时需要考虑的因素。
在这个大背景下,Kyber Network 认识到为用户提供经济快捷的交易方式的重要性。因此,我们投入了大量资源来研究并构建 Rollup 解决方案,以便更好地服务于我们的未来计划。我们将适时公布更加详细的信息,希望本文能助你理解并评估 Rollup 技术。
(完)
(文内有许多超链接,可点击左下 ”阅读原文“ 从 EthFans 网站上获取)
原文链接:
https://blog.kyber.network/research-trade-offs-in-rollup-solutions-a1084d2b444
作者: Trong Nguyen & Loi Luu
翻译&校对: 闵敏 & 阿剑
科普 | Rollup 为何能成为当下最火的 Layer2 方案