Rollup排序器去中心化:技术趋势与前沿方案解析
前言
排序器(Sequencer)是以太坊扩容方案 Rollup 中的核心组件之一,负责对交易进行排序,并执行区块创建、交易接受、交易排序、交易执行以及交易数据提交等相关任务。随着以太坊网络 Layer 2 解决方案的不断增加及其生态系统的蓬勃发展,Layer 2 的盈利模式和中心化问题日益受到关注。尤其是在 Rollup 中,如何实现排序器的去中心化以及排序器利润的分配机制,成为大家关心的热点话题。
什么是排序器?
排序器,顾名思义,是负责对交易进行排序的角色。在比特币网络中,交易排序的职责由矿工负责;在以太坊网络中,这一职责由节点集合承担。这些角色并非固定,而是通过共识机制来确定谁有权参与交易的顺序执行。
目前,主流的 Rollup 方案大多运行中心化的单一排序器。用户在 Layer 2 (L2)的交易首先进入 mem 池(此时交易是无序的)。排序器将这些交易进行排序、压缩成一组有序的批次,然后发送到以太坊的数据可用性(DA)层。
中心化 VS 去中心化
去中心化排序器赛道概览
去中心化排序器可以通过两种方式实现:一种是由 Rollup 项目方自行开发,另一种是借助第三方服务。借助第三方实现去中心化排序器,通常被称为 Sequencing-as-a-Service(排序即服务)。
目前,有多个项目专注于去中心化排序器方案,包括 Espresso、Astria、SUAVE、Radius 等。尽管它们的实现路径各不相同,但目标都是为了提升排序器的去中心化程度和可靠性。
Espresso
在 Espresso 排序器的排序机制下,L2 交易大致经历以下生命周期:
交易发送:用户在二层网络上发生的交易通过 API 发送到 Rollup 服务器。
交易排序:交易进入 mem 池后,排序器通过 HotShot 共识选举对交易进行排序,并将其包含在一个区块中。
交易广播与确认:排序器将排序后的交易广播出去,其他节点通过 HotShot 共识达成共识后出块,交易被执行。同时,软承诺机制提供快速的交易确认。
区块承诺:排序器将包含交易的区块承诺及其共识证书(QC:Quorum Certificate)发送并存储在 L1 排序器合约中,证明该区块通过共识达成软最终性。
状态更新:已执行该区块的 Rollup 节点将新的 Rollup 状态发送到 L1。在 zkRU(零知识 Rollup)情况下,需要附带有效性证明,而在 ORU(优化 Rollup)情况下则会进入挑战期。
状态验证:L1 Rollup 合约通过验证排序器合约发送来的 QC,检查状态更新的有效性。
这个流程可以简化理解为:
交易排序与区块创建:在一组排序器中,通过 HotShot 共识机制选出一个排序器,它负责对 Rollup 交易进行排序,并将这些交易包含在一个区块中。
共识与区块承诺:该区块必须由其他的 Rollup 节点签署并达成共识(至少 2/3 的 HotShot 节点同意)才具有「最终性」。然后,相关的区块承诺和新的 Rollup 状态根提交给 L1 基础层进行验证。
快速确认与最终性:「最终性」带引号是为了让 Rollup 交易更快地确认,减少延迟,提升用户体验。然而,Rollup 交易最终还是要由 L1 基础层进行验证(zkRU 需要验证有效性证明,ORU 需要等待挑战期结束)。如果 L1 验证交易没有问题,此时 Rollup 的交易才具有真正的最终性。
潜在回滚:如果 L1 验证发现交易无效,相关的已出块的 L2 区块将面临回滚。因此,「最终性」是为了让交易快速确认,而最终性是为了继承以太坊的安全性。
Astria
Astria 的定位是提供通用、无需许可的去中心化排序器,为不同的 Rollup 提供开箱即用的共享排序器服务。
运行机制
Astria 的去中心化排序器运行机制与 Espresso Sequencer 类似,目的是通过将交易排序的权利下放来减少排序者的特权。具体来说,Astria 提出了两种针对排序器的轮换机制:
领导者轮换(Leader Rotation):这是一种简单的轮换机制,通过预定的规则或时间间隔在排序器之间轮换领导者,从而分散排序权力。
拜占庭容错(BFT)共识算法:这是一种更加复杂和安全的机制,允许在存在恶意节点的情况下仍能达成共识。通过这种算法,多个排序器共同参与决策,确保系统在遭受一定数量的节点故障或攻击时仍能正常运行。
领导者轮换
通过选举产生的排序器组成一个集合,集合中的排序器轮流对 Rollup 交易进行排序。这种方式避免了单一排序器长时间垄断交易排序权的问题,并在一定程度上解决了对用户持续审查的隐忧。
SUAVE
SUAVE 是由 Flashbots 开发的去中心化、即插即用的共享排序器解决方案。作为一个通用平台,SUAVE 能够为各种 L1/L2 网络提供内存池管理和去中心化的区块构建功能。与传统共享排序器设计不同,SUAVE Chain 是一条 EVM 兼容链,它通过区块“竞标”的机制实现交易排序。
SUAVE 架构
SUAVE 的架构由三个核心组件组成:通用偏好环境、最佳执行市场和去中心化区块构建。
偏好环境
SUAVE 的偏好环境广泛涵盖了从简单交易到复杂事件的各种需求。用户的交易偏好会以交易形式反映在内存池中,偏好环境作为一个公共的内存池将这些偏好汇总起来。SUAVE 提供的通用偏好环境不仅使多链用户的偏好变得公开透明,还有效减少了信息不对称,并在一定程度上缓解了跨链 MEV 问题。
执行市场
执行市场由一群执行者组成,他们负责监听 SUAVE 的内存池并相互竞争。竞争驱动这些执行者为用户的偏好提供最佳执行方案。可以将这些执行者视为通过“竞标”方式来实现用户需求的参与者,他们力求将产生的 MEV 尽可能多地返还给用户。
去中心化区块构建
最后,基于收集到的偏好数据和最佳执行路径,去中心化区块构建网络会将这些交易信息打包到区块中,完成从交易发现、排序到区块出块的整个过程。
Radius
Radius 的定位是一个无需信任的共享排序层。与前述方案的实现机制不同,Radius 通过引入加密内存池(encrypted mempool)来确保 Rollup 交易的排序过程无需信任。这种方法有效消除了 MEV 和用户交易审查的问题,从而保障了交易的公正性和透明性。
尽管像 Espresso 和 Astria 等基于共识机制的去中心化排序器在一定程度上减少了 MEV 和审查风险,但它们通常以牺牲网络可扩展性和时间效率为代价,从而导致交易确认延迟(因为需要就交易排序达成共识)。此外,虽然这些排序器在去中心化环境中运行,由于内存池中的交易信息是公开透明的,排序器仍然可能存在恶意攫取 MEV 的风险。Radius 通过引入加密内存池(encrypted mempool),确保排序器无法看到相关交易信息,旨在从根本上解决排序器恶意攫取 MEV 和审查交易的问题。
技术架构
Radius 的技术架构分为四个主要功能层级:排序层(Radius)、执行层(Rollup)、结算层和数据可用性层。
排序层
用户将加密交易及其证明提交给排序器。
排序器验证这些证明及交易的有效性。
排序器在解密交易之前对交易进行排序。
排序器构建一个区块。
排序器将构建好的区块提交给 Rollup 执行层。
执行层
Rollup 接收排序器提交的区块,并按照指定的顺序执行交易。
Rollup 将交易状态及状态证明提交至结算层。
结算层
结算层负责接收和验证来自 Rollup 的状态和状态证明,以确认交易的最终性。
结算层确保交易执行符合排序层指定的顺序。
数据可用性层
数据可用性层负责存储数据并确保这些数据的可用性。
mempool 的加密机制 - PVDE
Radius 采用基于零知识证明的加密方案“实用可验证延迟加密”(PVDE)来实现加密内存池(mempool)。这一机制确保了交易在排序过程中保持加密状态,增加了交易处理的安全性。
具体流程如下:
用户提交交易
用户生成一个时间锁谜题和一个对称密钥。
用户使用对称密钥对交易进行加密,加密后的交易进入内存池(mempool)。
排序器处理交易
排序器对加密交易进行排序,但在解锁时间锁谜题之前无法获取解密密钥。
排序器在解锁时间锁谜题前,计算订单承诺,并将该承诺提交给结算层。这一承诺用于验证排序器是否按照顺序将交易提交给 Rollup 执行层。
Metis
Metis 是首批实践去中心化 PoS 排序器的 Layer 2 网络,为未来的发展提供了一个重要的范本。这个范本不仅实现了排序器的去中心化,还提供了基于 PoS(权益证明)的去中心化 Optimistic Rollup 解决方案。在该范本中,Metis 的去中心化 PoS 排序器包括三个主要角色:管理员、排序器和 PoS 共识层。
在传统的 Rollup 模型中,单一的 Sequencer 虽然能有效处理交易和数据,但也集中权力,可能引发多种风险:
操作风险:如果 Sequencer 发生故障或遭受攻击,整个系统的交易处理将被阻断。
审查风险:Sequencer 能够选择性处理或拒绝交易,这可能限制用户访问特定的去中心化金融(DeFi)协议或服务。
操纵风险:Sequencer 在交易排序中可能优先处理自身交易,通过提高交易费用获取不正当利益,即最大可提取价值(MEV)。
为了解决这些问题,Metis 设计了一个去中心化的 Sequencer 池,由多个 Sequencer 节点共同完成交易的聚合、排序和执行。这一设计确保了系统的公正性和透明度:
共识机制:超过三分之二的 Sequencer 节点必须对每个新区块的状态达成共识,之后才能将交易批次提交到以太坊主网(L1)。
多方计算(MPC)签名:在交易批次提交到 L1 之前,通过 MPC 签名验证批次的真实性,确保数据的准确性。
去中心化 Sequencer 的优势:
增强安全性:通过多个节点共同决策,降低了单点故障的风险,提高了网络的鲁棒性和安全性。
降低审查和操控的可能性:多个 Sequencer 的存在使得单一节点难以操控或审查交易,保护用户的交易自由。
稳定性和冗余:支持 Sequencer 的平滑轮换,最小化故障或中断的影响,提高了整个网络的稳定性。
在 Metis 的去中心化 Sequencer 模型中,每个节点由几个关键组件组成:
L2 Geth(包括 OP-Node):负责交易排序和区块组装。
适配器模块:作为与其他外部模块(主要是 PoS 节点)交互的中介。
批次提交者(Proposer):负责构建交易批次并在获得多个 Sequencer 的认可后提交到 L1。
PoS 节点:在以太坊、共识和 Metis 层之间进行协调,确保资产的安全锁定并奖励验证者。
共识层:由与以太坊主网并行运行的 Tendermint PoS 节点组成,确保操作效率而不妨碍主网的进程。
L2 Geth(包括 OP-Node)
主要代码为https://github.com/MetisProtocol/mvm fork optimism
主要是修改了两部分
区块组装:mvm\l2 geth 服务代码,加入了 applyTransactionToTip 处理逻辑,以此判断当前 sequencer 是否应组装当前区块。
交易排序:修改原 op-node 代码,借助 MPC 共识层的适配器模块,获取轮换列表与区块高度对应的当前排序器的位置,来检查自己是否为当前有效排序器。
Sequencer 轮换
轮换信息存在L2 MetisSequencerSet 合约中,信息由共识层(PoS 节点)控制
每个 epoch,共识层更新 Sequencer 信息,经过 MPC 签名,发起交易,更新合约 Sequencer 列表
每个 epoch,根据合约 Sequencer 列表信息,轮流当职
违规:未及时,或者产生错误交易(两笔相同 L2 TxID),PoS 层会选择新的 Sequencer,{构造 ReselectSeqencer 交易 + MPC 签名},新的 Sequencer 会在L2上发起当前 TxID 的交易,同时新的 Sequencer 也会更新到 MetisSequencerSet 合约 {没有惩罚机制}
触发更新:收到常规交易,并且达轮换间隔,会暂停当前常规交易,执行 MetisSequencerSet.sol 合约更新交易,然后 PoS 层选择将执行当前常规交易的新排序器。
加入:POS 合约,部署在L1,任何人,抵押 metis,申请成为 sequencer。当达到上限,进入等待队列
获得一个 NFT
禁止直接转移,可通过 LockingPool 合约->updateSigner 更换签名者,转移 NFT
NFT 的 tokenId 对应 sequence id
替换:当 sequencer 长期处于不健康状态,将被踢出,并由候补替换
退出:
销毁 NFT
update:通过 LockingPool 合约->updateSigner 更换签名者,转移 NFT
选择: 加权随机选择算法
MPC 模块
负责管理多重签名密钥的整个生命周期
多重签名生成
密钥重新共享
应用签名
删除签名
提供对多种多重签名异步使用的支持
处理流程
第 1 阶段:通知 MPC 节点做好准备
在本地生成一个随机数 sessionID;
keyGenPrepare 使用p2p网络将消息广播到所有 MPC 节点;
每个 MPC 节点收到 keyGenPrepare 消息后,启动各自的处理 goroutine;
根据 检查本地数据(数据是指 TSS 模块是否存储了该 id 对应的 mpc 信息)keyId;
如果状态中已有数据 READY,则直接从存储中返回数据,无需继续操作 keyGen;
如果已经存在具有 PENDING 状态的数据,则返回错误,以避免由于并发执行不同的密钥生成调用而导致密钥生成不一致;
建立p2p通信通道;
将消息返回 keyGenReady 给发起节点;
第二阶段:启动 keyGen 流程
发起节点等待接收 keyGenReady 来自所有节点的消息;
一旦发起节点收到 keyGenReady 来自所有节点的消息,它就会 keyGenStart 使用 p2p 网络将消息广播到所有 MPC 节点;
收到 keyGenStart 消息后,每个 MPC 节点:
在本地构造一个 LocalParty 实例;
开始从其他节点接收信息
展望
区块链排序器的发展前景充满了激动人心的变革。随着区块链生态系统的不断演进,排序器将经历从中心化到更加分散、高效和适应性强的解决方案的重大转变。这一变革对提高以太坊生态系统的交易效率、可扩展性和安全性至关重要。
去中心化是加密货币的核心哲学。通过共享排序网络,经济机制能够有效地解决价值累积和收入分配的问题。随着排序器模块化构建和开发框架的日益成熟,未来这些技术将成为行业发展的强大催化剂,推动区块链生态系统向更加创新和高效的方向迈进。
参考资料
https://docs.espressosys.com/sequencer
https://docs.theradius.xyz/
https://docs.astria.org/developer/tutorials/run-local-rollup-against-remote-sequencer
https://docs.metis.io/dev/decentralized-sequencer/overview
免责声明:文章中的所有内容仅代表作者的观点,与本平台无关。用户不应以本文作为投资决策的参考。
你也可能喜欢
Bounce 品牌推出由 AUCTION 提供支持的 BounceX 永久交易所
简单来说 Bounce Brand 推出了永久交易所 BounceX,使用户能够使用 AUCTION 作为杠杆交易的抵押品,从而进一步增强了代币的实用性。
Nym 将回购价值 1 万美元的 NYM 代币并于 12 月 XNUMX 日推出 NymVPN
简单来说 Nym 计划回购 1 万美元的 NYM,以增强其资金,并利用这些资金在即将推出之前增强 Nym 网络。
StarryNift 升级其 StarryAI 平台,促进人工智能和 Meme 创新
简单来说 StarryNift 升级其 StarryAI 平台,为人工智能驱动的模因创作、交易、娱乐和推广提供无缝体验。
ZKsync 发布启动 Ignite 计划并构建流动性中心的提案
简单来说 ZK Nation 发布提案,建议分发 325 亿个 ZK 代币以启动 Ignite 计划,该计划旨在建立一个 DeFi ZKsync 时代的流动性中心。