深度调研公链技术:公平排序器解析

Calvalry
Mantle CN
Published in
Feb 26, 2024

作者: Mantle 研究团队(Franck Cassez、Aodhgan Gleeson 和 Andreas Penzkofer)

在这篇文章中,我们将介绍了一种设计公平排序器的架构和协议。分散式排序是一种实践选择,与之不同的是,公平排序是一种技术标准:提供抗审查能力并(尽可能)保护用户免受 MEV 攻击。在本文中,我们提出了一种公平排序器(架构和协议)利用可验证随机函数(VRF)来确保交易执行过程公平排序。

有关架构、协议及其特性的详细描述,请参阅本文

背景和动机
Rollups(L2)提供了提高交易吞吐量的解决方案,将结果发布到 L1 或数据可用层之前,分批链下执行。然而,当前的 L2 架构严重依赖于中心化排序器,因而存在重大风险:

  • 单点故障: 中心化排序器存在重大风险,因为任何故障或恶意行为都可能中断整个 rollup 操作
  • 绝对控制: 由排序器控制交易选择和排序,rollup就容易受到审查、操纵和 MEV 攻击

为了解决其中的一些问题,各个团队(如 EspressoAstria)努力将排序器分散化。虽然消除了单点故障,但解决 MEV 攻击和审查阻力成效存疑。

在软件开发中,我们通常希望将关注点分开。我们的核心问题在于:为了解决上述问题,我们是否能找到一种简单、轻量级和高度模块化的方法,而不需要完整厚重的共识协议。轻量级解决方案还可以改善延迟,这对 rollup 解决方案来说非常重要。

我们提出的架构和协议为协议内的价值获取提供了一个绝佳的机会:

  • 在 MEV 竞价中,价值是由外部参与者(区块构建者、提议者、中继者)从系统中提取的;而在我们的提议中,价值是由核心协议操作员(池管理器、排序器、执行器)捕获的 — — 见下图 1
  • 先到先得(FCFS)规程会刺激延迟竞赛,参见 Offchain Labs 等。在 FCFS 规程中加入概率成分可减少这些激励因素,从而捕获因延迟而损失的价值

简而言之,保留在协议内的价值可以重新投入到协议中,降低用户费用,提高安全性和效率。

什么是公平排序?
公平排序一直受到关注。一些著名的 Web3 参与者(如 ChainLink)提出了公平排序服务的概念。这种方法已被改进为 PROF(受保护订单流),以便与追求利润的 MEV 战略相结合,目标是 L1 提议者-构建者-分离(PBS)架构。

公平排序旨在通过确保透明、无偏见的分批交易流程,解决抵制审查和 MEV 攻击的问题。我们的方法从 ChainLink 的公平排序服务和 PROF 等概念中汲取灵感,这些概念已被调整用于 L2 排序。

公平排序的架构和协议

图 1:架构和协议概述

我们提出的公平排序解决方案利用可验证随机函数(VRF)和证明(零知识/ZK 和 Merkle)来实现可证明的公平性。我们的模块化架构(图 1)具有三个基本特性:

  • 排除审查: 用户向内存池(Mempool)提交交易。Mempool 管理员建立并安排批次,而用户则会收到显示其交易批次编号的收据。这确保了交易在到达内存池后不会受到审查,从而保证了加密经济的安全性(内存池管理者必须质押上一些资产)。
  • 公平排序: 公平排序器使用 VRF 预言机为从 mempool 管理器收到的交易请求随机排列,确保排序过程的公平性。一批交易的顺序是随机的,消除了可预测性,防止了 MEV 攻击。可验证随机函数(VRF)可由预言机提供。目前,Chainlink 和 Supra 将 VRF 作为一种服务提供。在我们提出的设计中,两种机制都可以使用。
  • 执行的正确性: 执行器会处理经过许可的批次,并将数据块发布到数据可用性(DA)层或第 L1。执行中的任何偏差都会导致执行者被惩罚,从而确保机制。该机制可确保交易按照提交的随机顺序执行,从而确保完整性和公平性。

模块化设计和责任机制
以上建议的架构将排序过程分为三个不同的步骤,每个步骤由不同的角色(内存池管理器、排序器和执行器)负责。这提供了模块化和责任机制。

通过向 DA 层发布证明,可以识别和惩罚恶意行为者确保可归因性。每个组件本身都可以分布式方式构建避免单点故障而不需要更复杂的协议,如共识巨擎。每个组件都是轻量级的,可以实现低延迟处理。

结论
在我们的建议中,交易的排序和处理分为三个步骤,分别由不同的参与者执行(关注点分离):

  • 内存池管理器负责按照收到的顺序建立和提取批次、
  • 公平排序器请求随机排列及其证明,并计算排列后的批次、
  • 执行者处理批次并构建区块

各个持分者有不同的任务,并对每个任务负责,这使得我们的设计高度模块化。将每项任务的结果发布到 DA 层,可以让我们识别恶意行为者,并在他们行为不端时对其进行打击,从而确保可归因性(在行为不端时确定责任归属)

--

--