全面详解 Optimistic Rollups 技术和设计原理

Rollups 是业内最具争议的话题,批判者认为 Rollups 的中心化,缺少技术创新等问题,已经让越来越多的创业者开始远离,从而转向其他生态,比如最近 dYdX 的迁移对于以太坊生态带来了巨大的创伤,也有批判者认为 Rollups 的增长会逐步削弱以太坊经济中心的地位,以太坊会会逐步成为政治中心, 而不再是经济中心,以太坊会不会变得像 Cosmos Hub 在 Cosmos 中的地位一样?

Optimistic Rollups

  总览
  Rollups 是业内最具争议的话题,批判者认为 Rollups 的中心化,缺少技术创新等问题,已经让越来越多的创业者开始远离,从而转向其他生态,比如最近 dYdX 的迁移对于以太坊生态带来了巨大的创伤,也有批判者认为 Rollups 的增长会逐步削弱以太坊经济中心的地位,以太坊会会逐步成为政治中心, 而不再是经济中心,以太坊会不会变得像 Cosmos Hub 在 Cosmos 中的地位一样?只负责提供安全保障,但是更多的创新以及活动将会发生转移,而支持者则相信 Rollups (以及以 Validiums, Volitions, Any Trust 等为代表的分解执行层)将能实现比单片区块链优越几个数量级的愿景并且带来从 1 到 100 的创新。

  考虑到以太坊的容量限制,以及高需求而引发的高燃料费,网络拥堵等问题,Rollups(ORUs 和 ZKR)试图将交易通过链下执行,并且将交易以批次的形式上传并且存储至主网(以太坊)进行确认,这个确认过程是通过部署在 L1 上的 Rollup 智能合约, 其可以通过评估 L1 上发布的交易数据执行正确的交易,从而在确保享有以太坊安全以及去中心化的同时,提升了扩展性。

  在 Optimism 最近的空投活动中,平均 TPS 达到了 12TPS/s (和以太坊主网一致),而手续费只有主网的 5%。而状态转换的验证手段,相较于 ZKRs 的有效性证明, ORUs 欺诈证明,争议解决机制实现。交易提交后的一周视为挑战期,任何观察者/验证者(最小诚实假设)都可以通过发现欺诈交易,提交欺诈证明的方式获取奖励,而该交易提交者将会受到惩罚(质押资产被 slash),交易还原。

  在 EVM 兼容这块,目前 ORUs 与 ZRK 相比,具有高度以太坊兼容性,并且大部分协议都是在解决 EVM 等价问题(关于 EVM 和兼容和等价问题,我们在 ZK-rollups 的文章中有特别解释), 所以这对于 ORUs 在以太坊生态开发者接受程度,技术的传播以及发展都来了好处。

  所以本质上 Rollups 将计算数据存储搬到了链下,而通过将交易数据以及链下计算的压缩证明上传至 L1,并且通过 L1 验证。将数据上传至链上,本质上确保了数据可见性,允许任何人都可以验证上传以及存储的交易的有效性(链上数据可见性的问题我们也在上篇 ZK-rollups 的文章中详细解释了,这里就不再次阐述了)。而 ORUs 在享有以太坊安全和去中心化的同时,提供了网络的扩展性,为开发者以及 dApps 带来了低手续费,快速交易的 web3 环境。

  Optimistic Rollups 的价值
  Vitalik Buterin 在 endgame 中提到,以太坊终究会从 L1-Centric 的生态逐步转向 L2-Centric 的生态,这个言论将焦点牢牢地放在了 L2 的发展,这让很多对于以太坊 ETH2.0 扩展/分片充满期望的人大跌眼镜。未来以太坊将主要作为 L2 的结算层,而用户则通过 L2,L3(最新分形缩放递归证明)与 L1 发生交互。

  目前主要的 L1 主要解决交易手续费以及速度的问题,但是牺牲了去中心化以及安全,并且相较于以太坊的开发生态来说,相对较小。以太坊社区在加密行业中的重要性毋庸置疑,拥有最多的,最专业的, 经验的开发者。尽管在短期内我们看到了各种 L1 的生态繁荣(也可以认为是虚假繁荣) 以满足不同的链上交易需求,长期我们仍需要找到一种能够更为平衡的设计方案。

  Optimistic Rollups 相较于其他解决方案,突出强调了 EVM 兼容以及等价的重要性,因而获得了大量以太坊开发者以及社区的认可和支持。注意这点和 ZKRs 不同,由于有效性设计的问题,他们很难实现以太坊兼容,以太坊等价的实现更是难上加难;除此以外,我们看到了各种扩容解决方案,AnyTrust 可以让更高频,低交易费用的应用(游戏 NFT 等 (这个类似于 ZKR 中的 Validiums, Volitions 设计,下文会具体介绍)可以在 ORUSs 搭建,以太坊最新路径中 EIP4488,EIP4848 PDS 以及 DS 对于 calldata 的限制以及新型交易格式 “blobs” 的引入,也进一步提升了其扩展性;而 ORUs 和 ZKRs 相比,提供无需信任的过程要 ZKRs 要更容易,有兴趣的朋友可以看这篇文章。这怎么理解呢, 比如说 Rollups 可以安全地访问任何具有最大流动性的结算层的流动性,但是即使是最完美的 zk-bridge 的设计也会受到较弱链的 51% 攻击(比如 ImmutableX), 而 optimistic brdige 可以阻止这些,当然也会有额外假设和延迟的 trade off,比如说在以太坊兼容性的假设下,需要等待与以太坊的更新/变化,从而保持兼容性,因而会产生延迟。

  目前主要的 ORUs 包括 Arbitrum 和 Optimism, 都基于同样的设计原理,当然设计机制上略有不同。

  EVM 虚拟机
  ORUs 的核心设计理念也会带来一定的问题。比如对于 EVM 来说,作为一个智能合约通用虚拟机,其上智能合约链本质上是低效的,所以基于其上开发的应用会受限于其通用的设计,而无法优化特定应用。而通过 StarkWare 的技术,我们看到了借助分形扩展等解决方案,可以实现 Rollups 的可组合性(我们在 zk-Rollups 的文章中也介绍了这些技术以及 ImmutableX 的案例,StarkWare 通过 StarkEx(特定应用)以及 StarkNet(通用型)提供了高度可扩展性的应用特定类 Rollups 或者应用特定类 Rollups 的整个网络, 而不再仅仅是智能合约)。同样 Polkdot 和 Cosmos 也提供了适用于特定应用的解决方案。

  中心化问题
  如果验证节点,观察者在规定时间内参与(7 天挑战期内)验证交易并且提交相应欺诈证明,那么欺诈交易会上传至 L1, 资金就会损失 (不过这个风险很小),同时,这个验证过程中,引入最小诚实假设,需要至少有一个诚实验证者。

  而对于证明者 (排序者,证明者) 负责区块生产,和交易排序的验证节点离线了,我们需要确保有诚实验证节点通过链上数据进行状态验证以及提交相关欺诈证明。如果无法保证数据可见以及验证节点的去中心化程度和备选方案,资金会被冻结,而不是损失。

  中心化的节点可以通过抢跑等方式获取 MEV 价值。

  监管机构也可以强制关闭网络。

  除了上述的节点中心化问题,还有团队的中心化的控制问题。比如 Arbitrum, 目前网络的 Sequencer(出块者和交易排序者) 由 Offchain Labs 负责,同时团队控制了多个核心合约(包括以太坊上的 Rollup 合约,以太坊代币桥以及交易排序合约等)的代理合约私钥。同时和以太坊类似,考虑到需要确保验证节点需要足够的时间和资源去完成验证,团队也给其上的交易速度进行了限制和调控,从而带来了交易容量以及在经济活动频繁的时候高昂手续费的问题。这也可以解释近来 Odyssey 链上活动增加导致的 Gas 价格飙升问题。而在主网测试期间,Arbitrum 进行了容量调节,和以太坊一样,当流量达到容量上限时,L2 价格会上涨,直到增加流量放缓,网络稳定。而随着技术的成熟,在后 Nitro 时代,将拥有更大的容量,解决高昂价格的问题,同时能够确保即使在较重的负载下也不会影响用户体验。当然,尽管由于 ORUs 的复杂和创新性,前期团队会引入专家团队确保顺利上线,但团队也公开表明随着网络的稳定以及技术的迭代,会逐步释放对网络的控制,同时将引入更去中心化的出块者和交易排序者, 降低可审查的风险。

  目前 Rollups 有以下两种解决方案:
  1)通过有效验证和无状态客户端
  2)简单地运行 L1 节点和轻客户端,对于一个好的结算层来说,它们必然很容易验证。今天,这是以高延迟为代价的,但在未来,这种延迟可以只有几秒钟。

  扩展性
  随着 EIP4488, PDS 以及 PD 路径的出炉,其高昂的 calldata 成本问题有望大大得到缓解,同时 AnyTrust 允许更多高交易量,而对安全性相对较低的应用得以在 ORUsk 开发。同时随着技术的进一步成熟。社区一致认为 ORUs 将会逐步过渡为集成 ZKR 的解决方案。

  延迟性
  对于单片链来讲,如果要实现延迟优化,需要确保在所有节点之间同步。而如果单片链变为 Rollups, 仍然可以保持一样的延迟性。但是 Rollups 可以进一步进行划分。我们通常分为两种延迟,第一种是 Rollup 确认(Rollup confirmation),第二种是结算最终性(Settlement Finality)。Rollups 的确认我们可以通过更小的子节点协调进而提升延迟,同时非 BFT 以及最小诚实假设都可以更快地达成共识。

  随意 Rollups 确认可以立即实现,而我们之前在 StarkNet 的设计中,提到的递归有效性证明,其确认速度最终可以与结算最终性相同。在 ORUs 的原生桥设计中引入了 7 天的挑战期,本质上也是一种延迟。目前上市面上出现了第三方的桥,比如 Hop Protocol,有兴趣的朋友可以看我们之前的文章可信任桥再次被盗?- Hop 协议的 Rollups 安全传输解决方案,通过引入额外假设,解决了部分问题。

  可互操作性/可组合性
  单片链吞吐量低于 Rollups, 因而他们分散了可组合性。比如你需要在上百条单片链中分散流动性,同时会带来安全问题,比如整个生态的系统安全取决于安全假设最弱的链(Cosmos 共享安全 V1 中,所有消费链都享有 Cosmos Hub 全部安全,因此攻击消费链等同于攻击 Cosmos Hub 成本非常高。然而在 V2,V3 的设计中,部分共享安全会带来这个问题)。而在 Rollups 的设计中,如果这些上百条 Rollups 共享一个安全区域,那么他们之间的连接实现了更为简单的几个数量级,并且更为安全。比如通过与结算层的安全访问与同步调用,ZKR 已经上线了 Defi 池子,dAMM 等应用也在积极探索。同时尽管 Rollups 之间的无需信任互操作性仍然没有完全解决,但是 Slush 关于如何在不同 ZKR 间实现无缝分型拓展的提议是个非常好的开始。

  本地桥设计
  Arbitrum 通过其原生桥将 ETH, ERC20,ERC721 资产以无需信任的方式从在以太坊和 Arbitrum 链间转移。这种桥被称为 “规范桥”,本质上可以理解为一个在以太坊和 Arbitrum 上都部署了合约的 dApp,利用 Arbitrum 的跨链信息传递系统实现基本的代币桥接功能。所有以太坊到 Arbitrum 链上的交易转账都是通过 L1GateRouter 实现的,其负责将 L1 代币地址映射至 L1 的网关,而 L1 网关可以视为 L1/L2 地址的预言机,确保每个代币对应一个网关。默认情况下,用户会通过原生桥进行跨链转账,但是以太坊无法实时确认交易正确状态,因而必须等到挑战期过后,或者相关挑战争议被解决后,才能完成确认。目前市场上以 Connext,Hop 这样的第三方桥解决了这个问题。

Arbitrum本地桥设计
Arbitrum本地桥设计

  Optimism 的桥允许 L1, L2 间一对多的代币匹配机制,例如对于同一种资产,ETH,通过不同的桥,不同的协议,会生成不同的相互不可替代的 L2 对应资产。而 Optminism Gateway 的标准来源于 TokenList, 确保每个 L1 资产有一个对应的规范 L2 资产。这里什么是规范资产?我们在 Hop 的文章中介绍过桥,主要有三类,第一种是是原生代币桥,类似于 Arbitrum, Optimism 开发的无需信任桥,第二种是应用类桥,这些适用于拥有更灵活的信任假设,在 L1,L2 上部署的,拥有定制侧链的项目方,比如 DeGateDex,the BoringDAO 等,第三种就是以 Hop 等为代表的通用代币桥。所以桥可以为正在桥接的 L1 资产创建一个新 L2 代币表现,或者桥可以将用户的 L1 资产兑换为现有的 L2 表现。

  尽管对于任何一个 L1 代币,可能会存在不同 L2 的表现,但是最终每个应用都会选择使用与其他应用程序最兼容的版本,也就是最广泛应用,最受欢迎的版本,而这个版本被称为规范版本。可选择第三方桥,除了 Connext,Hop 以外,我们也看到了例如 Synapse Protocol, Anysway, Orbiter, Li. Fi 等这些强劲的对手。

  安全/信任假设
  相较于 ORUs,ZKR 提供了加密验证(有效性证明,包括 zk-Snarks 和 zk-Starks) 手段。目前高度依赖单一节点执行交易,创建区块,并且提交有效性证明,我们称为(中继节点,或者证明者 Prover)。而如果单一节点故障,如果没有即时的候补节点,会给网络带来巨大风险。当然,单一节点从经济可持续角度来讲,非常有利,只有单一节点需要证明计算,而这种计算是非常消耗资源的,一个诚实节点可以保护整个网络。当然未来我们希望证明者(Prover) 可以更为中心化,同时证明速度也可以更快。同时,我们也需要更多低成本的交易活动以及更快地进行批次交易(Batching 这个过程)。

  在 ORUs 中,排序者负责区块生产和交易执行(也是验证者)。其他验证节点或者观察者负责监控欺诈交易,并且提交相应欺诈证明,当然在无需额外处理能力以及知识储备的情况下,这些验证者也可以参与区块生产。针对于欺诈交易的处理过程,基于最小诚实假设,只要有一个诚实节点提交交易,那么就可以确保整个网络继续运行。当所有验证者不在线,欺诈交易就可能被直接提交给 L1。所以,ORUs 引入了 7 天的争议解决时间,当发现有可争议交易,Rollups 会执行欺诈证明,并且通过 L1 的可见数据运行正确的交易计算。当然为了确保他们有足够的动力只处理那些有效交易,因而维护网络的整体安全,不仅仅是交易提交者,排序者也需要质押 ETH,如果做的好,将会获得奖励。

  在计算这块,ORUs 会更强调链上的数据可见性,需要用于解决欺诈争议。而线下的数据都认为是有效的。排序者负责排序 L2 的捆绑交易,并且在 L1 得到确认。这个过程是中心化的。ZPR 中,更强调链下数据的重要性。有效性证明是非常复杂且密集的,因而需要强大的硬件。例如 StartWare(Operater) 作为操作者负责 StarkEx 和 StarkNet。

  扩容方案
  AnyTrust
  AnyTrust 链由 Arbitrum 团队开发,试图解决现有扩展性问题。在实现低成本,快速高交易量的同时,AnyTrust 可以实现更快速地桥取款(trade off 就是额外中心化假设)。当然,相比于 xDAI 等侧链来说,可以享有以太坊的安全性和去中心化。Anytrust 通过节点委员会运行,最小诚实假设为 2/20, 这意味着 20 个节点中至少有 2 个诚实节点,相比于 xDAI 等侧链来说,更为安全。在 xDAI 中,需要 2/3 的诚实假设。同时相较于单片链来说,也更为安全。在单片区块链中,如果有 100 个节点,需要确保 2/3 的诚实节点是安全的,也就是 67 个验证节点。和 ZKR 中的 Validiums, Volitions 设计原理类似,数据通过链下的方法保存,而无需再将交易数据(只有交易哈希)上传至 L1,大大提升了可扩展性。

  当然,相比于 Arbitrum One 中的 7 天取款时间,AnyTrust 中确认时间可以立即执行(这个可以和 ZKR 相媲美,ZKR 的有效性证明确保了交易的有效性,所以确认时间为证明被 L1 验证的时间(几个小时)。

  所以 2/20 的诚实假设中,我们需要确保交易至少被 19 个人签署,否则交易会还原至 Rollup 模式,并在 L1 上确认。所以这个验证过程中,引入最小诚实假设,即需要至少有一个诚实验证者。当然如果诚实假设不成立,那么会资金被盗和冻结风险。

  AnyTrust 最大的风险就是安全风险,相比于 rollups,安全假设更低些。。攻击者可以通过不提供数据,进而停止区块生产,冻结用户账户。我们在之前的文章中介绍过,zkPorter 主要通过要求攻击者至少需要 2/3 的质押才能确保数据不可见,进而进行攻击。而 StarkEx 则在 DAC 中引入了最小诚实假设,发布数据。AnyTrust,也是通过基于最小诚实假设。如果所有验证节点都不在线,那么没有人提交数据,那没有人可以独立重新创建区块,所以所有的人冻结会被冻结,无法取款。而委员会节点中基于最小诚实假设,至少会有一方提供数据,因为可以重建状态,并且通过 rollup 模式进行取款,而 AnyTrust 端被冻结 (感觉这个借鉴了 zkSync2.0 的 Rollup+Validium= Volition 的模式)。

  EIP4488
  EIP-4488 通过将 1) 调用数据成本从 16 燃料/byte 下降到 3 燃料/byte2) 每个区块增加 1MB 的限制,同时每笔交易增加 300bytes(总上限在 1.4MB) 增加以太坊的平均数据容量,减少 Rollups 的成本 5 倍。当然其潜在的运营节点的成本让这个方案时时无法落地。EIP4444 部分缓解了这个问题,数据在 1 年之后会被删除,而 EIP4844 设计中数据 1 个月之后就能够被删除。

  EIP-4844 PDS
  Rollups 将数据上传至以太坊 L1,以太坊可以理解为 Rollups 的轻节点,而 Rollups 利用 L1 的调用数据(calldata) 在链上进行永久存储。而对于数据采样来说,Rollups 只需要保证数据在某段时间可见,从而可以让别人有足够时间下载就可以了。所以 EIP-4844 引入了和调用数据不一样的一种交易格式,带有数据碎片的交易,从而进行存储。数据碎片可以承载 125KB 的数据,同时在和同等数据量的调用数据相比,便宜很多。这些数据碎片通常在一个月之后会被删除,从而降低了存储要求。而这一个月的时间足够让验证者去完成数据采样中的安全假设。

  对以太坊最新路径和技术创新感兴趣的同学可以查看我们之前的文章以太坊扩容终极解决方案 – Danksharding(一)以及以太坊扩容终极解决方案 – Danksharding 与 MEV 设计(二)。

  潜在风险与挑战
  如果 ORUs 失败, 那么关键原因一定是有更好的替代方案。好的
  产品和基础设施最终将占上风。例如,ZK-Rollups 被 Vitalik,社区等广泛认为是以太坊更好的长期扩容解决方案。考虑到 ZKR 的扩容性(成本压缩以及 Validiums 和 Voltions 等方案)以及在 L1 上的更快确认时间。而 ORUs 则可以理解为一个过渡方案,短期由于其相对简单的 EVM 可兼容以及较低技术复杂度,开发者可以实现快速上手,而长期来讲,社区认为以 Optimism 和 Arbitrum 等为代表的 ORUs 将会逐步转变为混合 ZKR。

  Polkadot 和 Cosmos
  以波卡和 Cosmos 为代表的 Layer0 强调通过共享安全,不同应用链间可实现的无需许可的可互操作性,当然 Cosmos 相比于更强调链的独立主权,灵活性。开头提到,我们也提到了 dYdX 的迁移,很大一部分是因为 L2 目前过于中心化的现象,而可定制化的区块链更满足于他们现有的产品和路径。然而,每个项目都是自己的发展路径,所以我们不建议跟风,同时在搭建 Cosmos 上搭建应用链,也需要面临前期寻找安全验证节点等,高昂成本的挑战。同时 Polkadot 和 Cosmos 为代表的 Layer0 更强调特定应用链的重要性,而目前 ORUs 适用于 EVM 的通用型设计框架

  智能合约风险和设计风险
  如果出现智能合约风险,会导致用户信心丧失,这个问题在多起桥安全事故中已经得到了佐证。同时,目前 ORUs 中引入至少有一个诚实验证节点的假设,如果实际中假设不成立,那么 ORUs 也会失败(当然概率非常低)。

  至此,我们认为像 Arbitrum,AnyTrsut 等为代表的 ORUs 在未来很长一段时间内会成为非常优越的解决方案,而且对于开发者来说很快就能上线,并且实现快速部署。然而,任何技术,创新都需要时间去沉淀,我们相信很快就会有奇点出现。

  零知识证明是计算机领域最重要的技术之一(隐私,扩展性,抗量子计算等)无论是学界还是技术界,毋庸置疑我们将会在不久的将来迎接更具有可扩展性的有效性证明 Rollup 而主导的 Web3.0 时代。

(声明:请读者严格遵守所在地法律法规,本文不代表任何投资建议)

(4)
Gao的头像Gao
上一篇 2022年7月2日 下午9:25
下一篇 2022年7月6日 下午6:38

相关推荐

发表回复

登录后才能评论
微信

联系我们
邮箱:whylweb3@163.com
微信:gaoshuang613