时光飞逝,据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 的交易费用即用户在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 上的交易完全可以绕过排序器提交给L1 基础层,由L1 来负责排序和结算,但也将面临较高的gas 消耗和较长的交易确认时间。
Rollup 排序器类似于使用了“快车道”,把成百上千笔L2 交易压缩聚合成单笔L1 交易,从而极大地降低了gas 成本。这也是目前主流的Rollup 都运行中心化排序器的原因,为用户提供更低的gas, 更快的交易确认,从而改善用户交易体验。
中心化的优势非常明显,想怎么给交易排序就怎么排,不需要换人排序,也不需要对排序的结果达成共识。也就意味着拥有非常快的交易确认速度,用户的体验感更好;
但中心化也赋予了排序器对交易排序极大的自主权,它可以肆意对交易进行排序,以最大化自己的套利机会,攫取MEV 价值,延迟用户交易甚至完全审查用户。
排序器可以在单一区块内通过改变交易排序攫取MEV 价值;危害更大的是,由于排序器控制着连续多个区块的排序,很容易执行跨区块MEV,从而造成规模更大的攻击。
上述情况都属于排序器主动作恶,有些错误并非排序器有意为之,但仍然损害了用户的体验和权益。打个比方,排序器不小心把一笔已经花费的代币交易重新包含在软承诺中,然后发送给L1 验证,可能存在交易迟迟无法得到确认的情况;又如单一的排序器掉线了,导致二层无法正常出块,网络长时间宕机。
鱼和熊掌不可兼得,但Rollup 性能的优化绝不能以牺牲去中心化和抗审查为代价。
如果中心化是1,那么去中心化就是多。不同去中心化排序器方案的实现路径有差异,但它们的核心理念是一致的,就是权力下放。
排序器不再拥有中心化对交易排序至高无上的权利,负责排序的角色基于特定的选举机制从一组排序器集合中选出,并进行固定周期的轮换。
去中心化杜绝了排序器源源不断地攫取MEV,也防止了单一排序器审查用户的交易。加之对应的作恶惩罚机制,也能有效地规范排序器的行为。
绕了这么久,终于进入正题了。去中心化排序器,一种是Rollup 项目方自己做,另一种是借助第三方实现。借助第三方实现去中心化排序器,其实也可以称之为Sequencing-as-a-Service,排序即服务。
Espresso, Astria, SUAVE, Radius 等项目都专注于去中心化排序器方案,它们的实现路径各不相同。
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 基于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 等一众明星模块化项目。
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 的排序器投票达成共识才出块。但需要一定的时间进行共识投票,造成了网络延迟的问题。
SUAVE 是Flashbots 构建的去中心化、即插即用的共享排序器解决方案,作为通用类方案,SUAVE 能为任意L1/ L2 提供内存池和去中心化区块构建。SUAVE 与前述共享排序器设计的不同之处在于,SUAVE Chain 本身是一条EVM 兼容链,通过区块“竞标”的方式实现交易排序。
SUAVE 的架构由3大核心组件构成:通用偏好环境、最佳执行市场和去中心化区块构建。
1)偏好环境
偏好覆盖范围广泛,从简单的交易到复杂的事件。用户的偏好以交易的形式反映在mempool 中,偏好环境作为一个公共的mempool 将偏好汇聚在一起。SUAVE 提供的通用偏好环境使多链的用户偏好公开透明,消除了信息差,在一定程度上解决了跨链MEV 的问题。
2)执行市场
执行市场是由执行者参与的网络,执行者负责监听SUAVE memepool 并相互竞争,竞争驱动它们为用户偏好提供最佳的执行。可以理解为所有的执行者通过“竞标”的方式去实现用户的偏好,将用户交易产生的MEV 尽可能多地返还给用户。
3)去中心化区块构建
最后,依据收集到的偏好和最佳的执行路径,去中心化区块构建网络将它们包含在区块中。至此实现交易发现、交易排序、出块的全流程。
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)数据可用性层
数据可用性层存储数据并确保数据可用。
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 而言,面临着运行中心化排序器还是去中心化排序器?集成第三方通用排序器方案还是自己实现去中心化?采用哪种技术实现方案实现交易排序的去中心化?等多个维度的利弊权衡。
Optimism, Arbitrum, zkSync, Base 等几大主流Rollup 靠运行中心化排序器赚得盆满钵满,去中心化将交易排序的权利下放必然涉及分润。在不考虑Rollup 赛道愈发激烈的竞争格局的前提下,谁也不愿意把这份到手的香饽饽分出去。但假设有Rollup 率先启动去中心化排序器,这或许是一个巨大的流量入口,在Rollup 细分赛道中形成示范效应,从而倒逼其他Rollup 项目将其排序器去中心化。
排序器实现去中心化的路径总体而言就2种:一种是别人做好的拿过来用;另一种是自己下场干。像Espresso, Astria 等第三方能够为Rollup 提供开箱即用的去中心化排序器服务,那么Rollup 本身就能继续专注于产品差异化和优化性能,提高自身的核心竞争力;此外,集成通用类的去中心化排序器方案也更利于实现互操作性,带来包括跨Rollup 套利等更多的可能性。而此方案的弊端可能在于无法对Rollup 本身的原生代币进行有效的赋能。
Rollup 如果采用内部专用解决方案实现去中心化排序器,这是最耗时且昂贵的方案,但确实实现Rollup 原生代币赋能的最行之有效的方式。如StarkNet 的项目方可以要求用户质押协议原生代币成为排序器集合参与Rollup 的交易排序,并收取一定的服务费用,从而实现价值的累积。
如前所述,实现去中心化交易排序的技术实现方案有很多,包括但不限于基于不同的共识机制、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 https://blog.astria.org/introducing-astria/
[5] Introducing the Astria Development Cluster
https://blog.astria.org/introducing-the-astria-development-cluster/
[6] Why Decentralize Sequencers?
https://blog.astria.org/why-decentralize-sequencers/
[7] IOSG 详解 SUAVE:MEV 规模化增长的新十年
[8] The Future of MEV is SUAVE
[9] Radius Gitbook