Rollup 2.0:去中心化排序器之争
作者:helloyyy
一、前言
时光飞逝,据 Optimism 发币已过去一年有余,据 Arbitrum 发币也已过去将近半年;发币仅是它们万里长征的第一步,在此期间,Optimism 实现了 Bedrock 升级、推出了通用的模块化 L2 堆栈 OP Stack, 基于此诞生了 Base 等明星 Rollup;Arbitrum 致力于探索 L3 推动 Arbitrum Orbit 的应用。
Rollup 赛道在两位巨人的引领下,整个赛道的 TVL 一度突破 100 亿美元,目前稳定在 100 亿美元上下。Rollup 作为以太坊“招牌”的扩容解决方案被津津乐道的背后,它们仍然存在非抗审查、中心化的属性。主流的 Rollup 链普遍由官方运行中心化的排序器,虽然 Arbitrum, Optimism, StarkNet 等 Rollup 项目把排序器的去中心化列入路线图中,但均处于规划中短期内尚未实现的状态。去中心化排序器作为 Rollup 去中心化最重要的一块拼图,对 Rollup 本身而言具有非常重要的战略地位,也是民之所向。
二、Rollup 的交易费用
了解什么是排序器之前,先来聊聊 Rollup 交易费用的组成。Rollup 的交易费用即用户在 Arbitrum 等 L2 交易产生的 gas 费。
主要由 2 部分组成:
1)L2 执行费用
2)L1 数据费用
L2 执行费用:交易在 L2 执行的成本(每笔在 L2 链上发起的交易都要支付一笔执行费)
交易燃气价格 = L2 基础费用 + L2 优先费用
L2 执行费用 = 交易燃气价格 * L2 燃气使用量
L1 数据费用:将 L2 交易发布到 L1 的成本。通常情况下,L1 数据费用要高于 L2 执行费用。
L2 交易费用 = L2 执行费用 + L1 数据费用
排序器的净收入 = L2 的交易费用收入 – 排序器运营成本 – L1 数据费用
项目方运营的中心化排序器拥有一定程度上的定价权(比如 L2 执行费用收高一点、L1 数据费用收高一点),这也是为什么几个知名 Rollup 项目方赚得盆满钵满的原因。
什么是排序器?
排序器,顾名思义,即负责交易排序的角色。在比特币网络,交易排序的职责由矿工负责;以太坊由节点集合负责,它们均不是固定的角色,而是更具共识机制来确定谁有权参与顺序执行。
目前主流的 Rollup 均运行中心化的单一排序器。用户在 L2 的交易进入 mem 池(此时 mem 池中的交易是无序状态),排序器将交易排序、压缩成一组有序的批次,然后发送到以太坊的 DA 层。
Rollup 必须要排序器吗?
答案是否定的。Rollup 上的交易完全可以绕过排序器提交给 L1 基础层,由 L1 来负责排序和结算,但也将面临较高的 gas 消耗和较长的交易确认时间。
Rollup 排序器类似于使用了「快车道」,把成百上千笔 L2 交易压缩聚合成单笔 L1 交易,从而极大地降低了 gas 成本。这也是目前主流的 Rollup 都运行中心化排序器的原因,为用户提供更低的 gas, 更快的交易确认,从而改善用户交易体验。
三、中心化排序器 vs. 去中心化排序器
中心化!
中心化的优势非常明显,想怎么给交易排序就怎么排,不需要换人排序,也不需要对排序的结果达成共识。也就意味着拥有非常快的交易确认速度,用户的体验感更好;但中心化也赋予了排序器对交易排序极大的自主权,它可以肆意对交易进行排序,以最大化自己的套利机会,攫取 MEV 价值,延迟用户交易甚至完全审查用户。
排序器可以在单一区块内通过改变交易排序攫取 MEV 价值;危害更大的是,由于排序器控制着连续多个区块的排序,很容易执行跨区块 MEV,从而造成规模更大的攻击。
上述情况都属于排序器主动作恶,有些错误并非排序器有意为之,但仍然损害了用户的体验和权益。打个比方,排序器不小心把一笔已经花费的代币交易重新包含在软承诺中,然后发送给 L1 验证,可能存在交易迟迟无法得到确认的情况;又如单一的排序器掉线了,导致二层无法正常出块,网络长时间宕机。
鱼和熊掌不可兼得,但 Rollup 性能的优化绝不能以牺牲去中心化和抗审查为代价。
去中心化?
如果中心化是 1,那么去中心化就是多。不同去中心化排序器方案的实现路径有差异,但它们的核心理念是一致的,就是权力下放。
排序器不再拥有中心化对交易排序至高无上的权利,负责排序的角色基于特定的选举机制从一组排序器集合中选出,并进行固定周期的轮换。
去中心化杜绝了排序器源源不断地攫取 MEV,也防止了单一排序器审查用户的交易。加之对应的作恶惩罚机制,也能有效地规范排序器的行为。
四、去中心化排序器赛道概览
绕了这么久,终于进入正题了。去中心化排序器,一种是 Rollup 项目方自己做,另一种是借助第三方实现。借助第三方实现去中心化排序器,其实也可以称之为 Sequencing-as-a-Service,排序即服务。
Espresso、Astria、SUAVE、Radius 等项目都专注于去中心化排序器方案,它们的实现路径各不相同。
1. Espresso
Espresso Systems 早期是一家专注于隐私解决方案的服务商,2022 年 3 月宣布获得由 Electric Capital, 红杉,Blockchain Capital 参投的近 3000 万美元的 A 轮融资。Espresso Systems 目前基本转型做 Espresso Sequencer,专门为 Rollup 提供去中心化排序器的服务。
L2 交易在 Espresso 排序器的排序机制下,大体经历的生命周期如下:
1)用户在二层发生的交易发送到 Rollup 服务器(API);
2)交易进入 mem 池,排序器(通过 HotShot 共识选举)将交易排序并包含在一个区块中;
3)排序器将交易广播,经由其他节点达成 HotShot 共识后出块,交易被执行;软承诺提供快速交易确认;
4)排序器将包含交易的区块承诺附带共识证书(QC: Quorum Certificate)发送并存储在 L1 排序器合约中(证明该区块通过共识达成软最终性);
5)已执行该区块的 Rollup 节点将新的 Rollup 状态发送到 L1(此时 zkRU 需要附带有效性证明,ORU 打开挑战期);
6)L1 Rollup 合约通过验证排序器合约发送来的 QC 检查状态更新的有效性。
这个流程看起来晦涩难懂,简单理解就是:
HotShot 共识在一群排序器集合中选出其中之一,由它负责 Rollup 交易的排序并把交易包含在一个区块中;这个区块必须经由其他的 Rollup 节点签署达成共识(2/3 以上 HotShot 节点同意)才具有「最终性」,然后相关的区块承诺和新的 Rollup 状态根才提交给 L1 基础层做验证。
上面的「最终性」带了引号,这个带引号的「最终性」和不带引号的最终性不是一个概念。带引号的「最终性」是为了让 Rollup 的交易更快地确认,延迟少,用户的体验更好;但 Rollup 的交易最终还是要 L1 基础层去做验证(zkRU 要验证有效性证明,ORU 要等待挑战期结束),验证 Rollup 提交的交易没问题的情况下,这时 Rollup 的交易才具有真正的最终性。
也就意味着:如果 L1 基础层验证交易是无效的话,相关的已出块的 L2 区块就会面临回滚。所以,「最终性」是为了让交易快速确认,最终性是为了继承以太坊的安全性。
Espresso + EigenLayer
Espresso 基于 HotShot 共识解决了排序器轮换问题和交易「最终性」的确定问题,通过引入 EigenLayer 解决排序器的准入问题。
EigenLayer 的再质押机制使以太坊的质押者同时成为 Espresso 排序器成为可能,为 HotShot 共识提供安全保障。简言之,以太坊的节点质押者可以通过 EigenLayer 的再质押机制成为 Espresso Sequencer(ESQ),以太坊质押者在获得 PoS 节点收益的同时,也捕获了二层 MEV 的价值。
ETH 持有者的潜在收益 = 原生网络的节点奖励 + L2 EVM + 其他 PoS 链的节点奖励(使用 EigenLayer 再质押机制),三重 buff 极大赋能了 ETH。
Espresso 作为通用类的去中心化排序器解决方案,生态合作项目除 EigenLayer 外,还包括 Arbitrum, OP Stack, Caldera, AltLayer 等一众明星模块化项目。
2. Astria
Astria 的定位是通用、无需许可的去中心化排序器,为不同 Rollup 提供了开箱即用的共享排序器服务。融资方面,Astria 在 2023 年 4 月宣布完成由 Maven 11 领投的 550 万美元种子轮融资,跟投机构包括 1k(x), Delphi Digital, Lemniscap, Robot Ventures 等。虽然融资规模不大,但机构阵容非常华丽。
运行机制
Astria 去中心化排序器的运行机制和 Espresso Sequencer 大同小异,目的都是通过把交易排序权利下放来弱化排序者的特权。具体来看:
针对排序器的轮换,Astria 提出了 2 种轮换机制:简单的领导者轮换(Leader Rotation)和拜占庭容错(BFT)共识算法。
- 1)领导者轮换
通过选举的排序器组成一个集合,排序器集合轮流对 Rollup 交易进行排序。这种方式杜绝了单一排序器长时间持续垄断交易的排序权,一定程度上解决了对用户持续审查的问题。
- 2)BFT 共识算法
跟领导者轮换机制类似,轮到的排序器有权负责交易排序,但排序器集合中必须有 2/3 及以上成员需要就这个排序达成共识。
两种方法各有优缺点:前者交易确认速度更快,实现快速出块,效率接近于中心化排序器。但折衷点是仍然很难约束轮到的排序器不去作恶;采用 BFT 共识作恶的概率更小,需要集合中 2/3 的排序器投票达成共识才出块。但需要一定的时间进行共识投票,造成了网络延迟的问题。
3. SUAVE
SUAVE 是 Flashbots 构建的去中心化、即插即用的共享排序器解决方案,作为通用类方案,SUAVE 能为任意 L1/ L2 提供内存池和去中心化区块构建。SUAVE 与前述共享排序器设计的不同之处在于,SUAVE Chain 本身是一条 EVM 兼容链,通过区块“竞标”的方式实现交易排序。
SUAVE 架构
SUAVE 的架构由 3 大核心组件构成:通用偏好环境、最佳执行市场和去中心化区块构建。
1)偏好环境
偏好覆盖范围广泛,从简单的交易到复杂的事件。用户的偏好以交易的形式反映在 mempool 中,偏好环境作为一个公共的 mempool 将偏好汇聚在一起。SUAVE 提供的通用偏好环境使多链的用户偏好公开透明,消除了信息差,在一定程度上解决了跨链 MEV 的问题。
2)执行市场
执行市场是由执行者参与的网络,执行者负责监听 SUAVE memepool 并相互竞争,竞争驱动它们为用户偏好提供最佳的执行。可以理解为所有的执行者通过“竞标”的方式去实现用户的偏好,将用户交易产生的 MEV 尽可能多地返还给用户。
3)去中心化区块构建
最后,依据收集到的偏好和最佳的执行路径,去中心化区块构建网络将它们包含在区块中。至此实现交易发现、交易排序、出块的全流程。
4.Radius
Radius 的定位是一个无需信任的共享排序层。与前述方案的实现机制均不同,Radius 通过启用加密 mempool, 确保 Rollup 交易被无需信任地排序,从而消除有效的 MEV 和用户交易审查。
融资方面,Radius 于 2023 年 6 月宣布完成由 Hashed 领投的 170 万美元 Pre-seed 轮融资,跟投机构包括 Superscrypt, LambdaClass 和 Crypto.com。
Espresso, Astria 等基于共识机制的去中心化排序器在一定程度上降低了 MEV 和审查风险,但是以牺牲网络可扩展性和时间效率为代价的,带来了一定的交易确认延迟(需要就交易排序达成共识)。此外,虽然交易排序处在一个去中心化的环境中,由于 mempool 的相关交易是透明的,排序器仍然有作恶的空间攫取 MEV. Radius 通过加密 mempool, 相关交易信息对排序器不可见,旨在从源头扼杀排序器恶意攫取 MEV 和审查交易的问题。
技术架构
Radius 技术架构可分为以下 4 大功能层级:排序层(Radius)、执行层(Rollup)、结算层和数据可用性层。
1)排序层
1. 用户提交加密交易和证明给排序器;
2.排序器验证证明并验证交易;
3.排序器对交易进行排序,在此之前无法解密交易;
4.排序器构建一个区块;
5.排序器将区块提交给 Rollup 执行。
2)执行层
1. Rollup 接收来自排序器的区块,并按照提供的顺序执行交易;
2.Rollup 将交易状态和状态证明提交给结算层。
3)结算层
1. 结算层接收来自 Rollup 的状态和状态证明,负责验证证明并确定交易的最终性;
2.排序层验证执行是否与顺序匹配。
4)数据可用性层
数据可用性层存储数据并确保数据可用。
mempool 的加密机制 – PVDE
Radius 采用基于零知识证明的加密方案「实用可验证延迟加密」(PVDE)来创建加密 mempool。
具体流程如下:
当用户向排序器提交交易时:
1.用户生成一个时间锁谜题和一个对称密钥;
2.用户使用对称密钥对交易进行加密,加密后的交易进入 mempool;
3.排序器对加密交易进行排序,排序器需要解锁时间锁谜题才能获得解密密钥;
4.排序器在解锁时间锁谜题前计算订单承诺,并将承诺提交的结算层(用于验证排序器按顺序将交易提交给了 Rollup)。
排序器的去中心化方案
加密 mempool 确保了排序器的无需信任,但单点故障风险仍然存在。如果运行单一排序器 + 加密 mempool, 排序器故障会导致网络宕机。为了解决这个问题,Radius 提出了多种去中心化排序器实现方案,包括秘密领导者选举机制、排序器组分片机制等。
当然,Radius 也可以选择参考 Espresso 和 Astria 的排序器轮换机制,同时实现交易排序的去中心化和无需信任。
区块空间优化
Radius 通过区块空间优化,旨在实现既保护用户又最大化 Rollup 利润的目标。Rollup 采用先到先服务(FCFS)的排序机制,优点是能有效防止 MEV, 弊端是必须牺牲区块空间拍卖的潜在利润。
为了解决上述交易排序的两难困境,Radius 通过将区块空间划分为顶部块空间和底部块空间 2 部分:
其中顶部块空间专用于用户交易,将用户交易加密,消除交易排序操纵,从而保护用户免受有害 MEV 和审查风险;底部区块引入一个基于拍卖的交易市场,套利者可以将捆绑交易和它们的出价提交给排序器,排序器会选择出价最高的捆绑交易包含在区块中,这种方法能够使 Rollup 利润最大化。
以上就是目前主流的通用去中心化排序器解决方案。对于 Rollup 而言,面临着运行中心化排序器还是去中心化排序器?集成第三方通用排序器方案还是自己实现去中心化?采用哪种技术实现方案实现交易排序的去中心化?等多个维度的利弊权衡。
五、Rollup 间的博弈
权衡 1: 是否去中心化?
Optimism, Arbitrum, zkSync, Base 等几大主流 Rollup 靠运行中心化排序器赚得盆满钵满,去中心化将交易排序的权利下放必然涉及分润。在不考虑 Rollup 赛道愈发激烈的竞争格局的前提下,谁也不愿意把这份到手的香饽饽分出去。但假设有 Rollup 率先启动去中心化排序器,这或许是一个巨大的流量入口,在 Rollup 细分赛道中形成示范效应,从而倒逼其他 Rollup 项目将其排序器去中心化。
权衡 2: 集成通用第三方 vs. 内部专用解决方案
排序器实现去中心化的路径总体而言就 2 种:一种是别人做好的拿过来用;另一种是自己下场干。像 Espresso, Astria 等第三方能够为 Rollup 提供开箱即用的去中心化排序器服务,那么 Rollup 本身就能继续专注于产品差异化和优化性能,提高自身的核心竞争力;此外,集成通用类的去中心化排序器方案也更利于实现互操作性,带来包括跨 Rollup 套利等更多的可能性。而此方案的弊端可能在于无法对 Rollup 本身的原生代币进行有效的赋能。
Rollup 如果采用内部专用解决方案实现去中心化排序器,这是最耗时且昂贵的方案,但确实实现 Rollup 原生代币赋能的最行之有效的方式。如 StarkNet 的项目方可以要求用户质押协议原生代币成为排序器集合参与 Rollup 的交易排序,并收取一定的服务费用,从而实现价值的累积。
权衡 3: 采用哪种技术实现方案实现去中心化排序?
如前所述,实现去中心化交易排序的技术实现方案有很多,包括但不限于基于不同的共识机制、FCFS、区块竞价、加密 mempool 等方案。每种技术实现方案各有优缺点:基于共识机制将受限于时间效率、加密 mempool 无法实现 Rollup 利润最大化等,当然也可以参考 Astria 融合 2 种不同的技术实现方案。各种不同技术实现方案间的权衡点是所有 Rollup 项目需要深思熟虑的问题。
写在最后
虽然目前 Rollup 赛道的龙头 Optimism、Arbitrum 均已发币,但这或许仅仅是个起点,真正意义上的竞争可能才刚刚开始。至少从目前的趋势看,去中心化排序器一定是兵家必争之地。
zk 系 Rollup 项目也在悄然崛起,在竞争日趋激烈的环境下,走错一步可能都会造成无法弥补的损失。但在影响项目生死存亡的革新面前,Rollup 们无从选择,只能顺应大势。
参考文献
[1] Binance Research: Ethereum’s Rollups are Centralized. A Look Into Decentralized Sequencers
[2] Espresso HotShot: Consensus Designed for Rollups
[3] Based rollups—superpowers from L1 sequencing
[4] Introducing Astria: The Shared Sequencer Network
[5] Introducing the Astria Development Cluster
[6] Why Decentralize Sequencers?
[7] IOSG 详解 SUAVE:MEV 规模化增长的新十年
[8] The Future of MEV is SUAVE
[9] Radius Gitbook
https://docs.theradius.xyz/overview/introduction-to-radius