并行执行时代来临,一览 Monad 上的 MEV 格局
作者:APRIORI
编译:深潮TechFlow
介绍
在提升区块链性能以实现大规模应用的过程中,Monad 通过一系列底层优化措施,如异步 I/O、优化的 Patricia Trie、延迟执行和 Optimistic 并发控制,有效地优化了以太坊虚拟机 (EVM) 模型。这些改进在不牺牲去中心化的前提下,解决了以太坊等平台上的执行瓶颈和低效的状态访问问题。
本文探讨了在 Monad 上构建强大的矿工可提取价值拍卖基础设施 (MEVA) 的可能性,并借鉴了以太坊上的 Flashbots 和 Solana 上的 Jito Network 的宝贵经验。
我们要强调几个关键点:
-
MEV 是任何区块链网络的固有特性。一个强大的 MEVA 基础设施对于避免区块生产过程中的负外部性和激励不一致至关重要。
-
MEVA 的设计与区块链的底层机制,特别是共识执行阶段,密切相关。未来的改进将取决于这些因素的演变以及网络在不同压力下的表现。
-
以太坊和 Solana 上区块生产的历史趋势可以为 Monad 上的 MEVA 设计提供参考。
-
在 Monad 这种高性能、延迟执行的区块链上,MEVA 可能需要类似高频交易的概率区块构建和搜索策略,以应对时间限制。
通过探讨这些问题,我们希望为设计适应 Monad 独特架构和性能需求的 MEVA 基础设施提供见解。
以太坊中的 MEVA 背景
以太坊共识执行阶段下的 MEVA
在以太坊中,共识需要先执行。当节点同意一个区块时,他们同意的不仅是区块中的交易列表,还包括区块执行后总结的 Merkle 根。因此,提案者必须在传播提案之前执行区块中的所有交易。同时,验证节点在投票前也需要执行这些交易。
图 1:MEV-Boost 中提议者-构建者分离 (PBS) 的构建者工作流程
图 1 展示了 MEV-Boost 中提议者-构建者分离 (PBS) 的典型构建者工作流程。构建者完成区块构建后将其提交给中继器,中继器再将区块转发给执行层 (EL) 客户端进行模拟和有效性检查。
由于执行是共识的前提条件,当构建者构建一个区块时,需要将区块转发给执行层 (EL) 客户端,并模拟区块以检查其有效性。除了在共识-执行阶段的必要作用外,模拟阶段还为构建者和搜索者带来了好处。
从构建者的角度来看:通过模拟每笔交易,构建者可以准确估算区块对自己和验证者的价值。他们还可以尝试重新排序交易,以最小化回滚并最大化从内存池和捆绑交易中提取的 gas 费用或基本小费。精确的估算使他们能够对验证者出更高的价。
从搜索者的角度来看:由于构建者在交易上链前筛选出可能回滚的捆绑交易,搜索者可以确保策略的执行,增加了确定性。此外,搜索者还可以访问最新的区块状态。当共识层 (CL) 传播一个新区块时,搜索者可以使用该区块的状态作为构建盈利捆绑交易的起点。同时,有迹象表明,构建者现在提供更多的协议外交易或功能,使搜索者能够获取即将构建的区块状态信息,以便将回跑策略添加到即将上链的区块中。
然而,PBS 的发展导致区块构建的集中化增加,这与传统交易中公司竞争专用微波网络通道以优先执行套利策略的情况类似。
随着网络的成熟,产品在进行迭代
我们现在探讨 MEVA 随着以太坊的发展是如何演变的,如图 2 所示。
图 2:MEVA 随以太坊网络发展的时间顺序视图
优先 Gas 拍卖 (PGA) 时代
如图 3 所示,搜索者识别出有利可图的 MEV 机会,并将智能合约交易提交到公共内存池。这种公开可见性导致了链上的公开竞标和一价拍卖,即使是失败的交易也会产生 gas 费用。
这一时期出现了竞争激烈且昂贵的非结构化 MEV 活动,例如具有相同(账户、公告)对的交易和不断增加的出价,导致网络拥堵或共识不稳定。
图 3:简单的优先 Gas 拍卖示意图
Flashbots 和 EIP-1559
为了解决这些问题,Flashbots 引入了中继器,作为搜索者和区块生产者(PoW 时代的矿工)之间的中介拍卖行。这一举措将 MEV 市场从公开竞标的一价拍卖转变为密封竞标。如图 4 所示,中继器有助于防止公共内存池中的竞标升级,并建立更有序和安全的区块生产过程。
EIP-1559 的费用结构也在此发挥了作用。它通过基本费用简化了竞标,但并未解决区块内的交易顺序问题,这仍然通过优先费用驱动 MEV。实际上,许多搜索者以前通过 coinbase 转账直接向矿工出价。他们最终对 coinbase 费用有更多的抱怨,因为他们不再能够提交 0-gas 的捆绑交易。
图 4:带中继的 MEVA
提议者与构建者的分离 (PBS)
在以太坊完成合并并转向权益证明 (PoS) 后,提议者与构建者的分离 (PBS) 被实施以进一步优化区块生产管道中的角色分离。如前所述,中继器现在充当区块构建者和提议者之间的中介角色,负责确保数据可用性和区块的有效性。由于提议者可以连接多个构建者进行不同的私有交易,构建者必须通过向提议者支付费用来竞争。这种动态在图 5 中有所说明。
图 5:PBS 时代的 MEVA
集中的风险
尽管有这些历史性的进步,但必须强调构建者市场中日益增长的集中风险。在过去的一年里,前 9 名构建者持续占据超过 50% 的市场份额,显示出高度的市场集中,如图 6 所示。目前的集中状态更为明显,前三名构建者覆盖了超过 90% 的区块。
图 6:构建者的市场份额,该图表明了构建者市场中普遍存在的高度集中(图片来源)
Solana 上的 Jito
Jito 的系统架构
作为 Solana 上的标准 MEVA,Jito 是为了解决 Solana 由于低交易成本而导致的高垃圾交易行为而创建的。只要失败交易的费用(大约 0.000005 SOL)不超过预期利润,垃圾交易行为就会被有效激励。
根据 Jito Labs 在 2022 年的报告,那一年超过 96% 的套利和清算尝试失败,区块中包含超过 50% 的 MEV 相关交易。报告还指出,清算机器人向网络发送了数百万个重复的包,只为了完成几千次成功的清算,导致失败率高于 99%。
图 7:Jito 在 Solana 上的 MEVA
Solana 上 MEV 外部性问题的严重性促使 Jito 开发了一个 MEVA 层,旨在为区块生产过程带来有序性和确定性。让我们回顾一下 Jito 提出的原始 MEVA 架构,如图 7 所示。
Jito 有以下组件:
中继器 - 作为代理接收交易并将其转发给区块引擎 (或 MEVA 供应链) 和验证者。
区块引擎 - 从中继器接收交易,协调搜索者,接受捆绑,执行捆绑模拟,并将最佳交易和捆绑转发给验证者处理。值得注意的是,Jito 进行部分区块拍卖以纳入捆绑,而不是全区块拍卖,历史上在两个槽位内处理了超过 80% 的捆绑。
伪内存池 - 通过 Jito-Solana 客户端创建大约 200 毫秒的操作时间窗口,引发订单流的离散化拍卖。Jito 于 2024 年 3 月 9 日关闭了这个内存池。
Jito 的设计选择
让我们探讨 Jito 系统设计的具体组件,并考虑这些设计选择如何源于 Solana 的区块生产过程。
Jito 仅支持部分区块拍卖,而不是全区块构建,可能是由于 Solana 的多线程执行模型缺乏全局调度。具体来说,图 8 显示了并行线程执行交易,每个线程维护自己的等待执行的交易队列。交易被随机分配到线程,并按优先费用和时间在本地排序。在调度器端没有全局排序的情况下(在 1.18.x 更新之前),Solana 的交易本质上会由于调度器抖动而经历非确定性。因此,在 MEVA 中,搜索者或验证者无法可靠地确定当前状态。
图 8:Solana 客户端的多线程执行模型。请注意,MEVA 的捆绑阶段作为一个独立线程附加在多线程队列中
从工程角度来看,将 Jito 的区块引擎作为一个额外线程并行运行,与 Solana 的多线程架构非常契合。尽管捆绑拍卖在 Jito 区块引擎线程内确保了基于优先费用的排序,但无法保证捆绑总是全局优先于用户交易。
为了解决这个问题,Jito 预分配了一部分区块空间给捆绑线程,保证捆绑在区块中有空间。虽然不确定性依然存在,但这种方法提高了策略执行成功的概率。这也激励了搜索者参与拍卖,而不是向网络发送垃圾交易。通过为捆绑保留区块空间,Jito 能够在促进有序拍卖和缓解交易垃圾邮件的混乱效应之间取得平衡。
移除伪内存池
Jito 的广泛采用在缓解 Solana 上的垃圾邮件问题方面取得了积极成果。根据 p2p 的研究和图 9 所示的数据,在采用 Jito 客户端后,相对区块生产率显著提高。这表明,由于 Jito 在 2023 年引入的优化区块引擎,交易处理变得更加高效。
图 9:Jito 有效缓解 Solana 上垃圾邮件问题的证据。该图摘自 p2p 团队进行的一项研究
虽然已经取得了显著进展,但仍然存在许多挑战。由于 Jito 捆绑仅部分填充区块,MEV 诱导的交易仍能绕过 Jito 拍卖渠道。部分证据可以在图 10 的 Dune Dashboard 中找到,显示自 2024 年以来,由于机器人垃圾交易,网络仍然平均有超过 50% 的交易失败。
图 10:自 2022 年 5 月以来 Solana 上的机器人垃圾交易活动的 Dune Dashboard(详见 Dune)
2024 年 3 月 9 日,Jito 决定暂停其旗舰内存池。这一决定是由于 memecoin 交易增长和随之而来的三明治攻击(搜索者在目标交易前后放置交易)激增,最终影响了用户体验。类似于 Ethereum 上的 MEVA 私人订单流渠道,关闭公共内存池可能会通过与前端服务(如钱包提供商和 Telegram 机器人)的合作,促进私人订单流的增长。搜索者可能会直接与验证者建立合作关系,以获得优先执行、包含或排除的权利。
事实上,图 11 展示了内存池关闭后,最大的私人内存池搜索者的每小时三明治机器人利润情况。
最大的私人内存池搜索者:
3pe8gpNEGAYjVvMHqGG1MVeoiceDhmQBFwrHPJ2pAF81
(译者注:三明治机器人是一种常见的抢跑攻击工具,主要用于在区块链交易中获取利润)。
图 11:搜索者 “3pe8gpNEGAYjVvMHqGG1MVeoiceDhmQBFwrHPJ2pAF81” 使用私人内存池的每小时三明治机器人利润
Jito 决定关闭内存池,表明团队致力于解决 Solana 生态系统中的根本问题。除了迭代 MEVA 或调整 Solana 的 gas 费用机制外,Jito 还通过 UI 产品设计选择(如限制默认滑点参数)帮助协议减少攻击风险。无论是通过使垃圾交易更昂贵的费用结构调整,还是通过修改通信协议,Jito 的基础设施将继续在维护 Solana 网络健康和稳定方面起到关键作用。
Monad 上的 MEVA 设计
延迟执行及其对 MEVA 的影响
与 Ethereum 不同,在 Ethereum 上,同意一个区块需要交易列表(带有排序)和总结所有事后状态的默克尔根,Monad 将先前的执行与共识解耦。节点协议只需要解决官方排序问题。如图 12 所示,每个节点在开始对区块 N+1 进行共识时,独立执行区块 N 中的交易。这种安排允许对应于完整区块时间的 gas 预算,因为执行只需跟上共识的步伐。由于不需要领导节点计算事实状态根,执行可以利用整个共识期来处理下一个区块。
图 12:Monad 延迟执行与 Ethereum 的执行-共识阶段的比较。从 MEVA 设计的角度也展示了操作时间窗口
我们将操作时间窗口定义为允许 MEVA 在 Monad 上完成一个区块构建提议的时间框架,该提议与默认区块构建方法相比是可行且有利可图的。延迟执行模型有两个直接后果:
-
当 MEVA 在操作时间窗口内为第 N 个区块构建时,验证者同时在达成第 N 个区块的交易列表共识,同时尝试完成第 N-1 个区块的执行。因此,在第 N 个操作时间窗口内,可能可用状态仍然在第 N-2。这意味着在这种延迟执行架构下,不保证中继或构建者有“最新状态”。因此,在下一个区块生成之前,不可能针对最新区块进行模拟,导致不确定性。
-
鉴于 Monad 的 1 秒区块时间,MEVA 的操作时间窗口极其有限。这意味着构建者可能没有足够的时间按顺序模拟完整区块的交易和捆绑,如在 Ethereum 上通常所做的那样。许多变量可以影响在 EVM 上进行交易模拟所需的时间。然而,假设模拟一个交易需要 10^1 到 10^2 微秒(一个大致的估计),并且 Monad 的目标是每秒 10^4 笔交易,仅在操作时间窗口内模拟完整区块可能需要大约 1 秒。考虑到 Monad 的 1 秒区块时间,构建者或中继要完成多个完整区块模拟以优化构建区块将是具有挑战性的。
概率构建者与搜索者策略
鉴于这些限制,在操作时间窗口内完成完整区块模拟并针对最新状态进行模拟是不切实际的。由于构建者现在既缺乏时间也缺乏最新状态来了解每笔交易的确切提示,他们必须根据交易回滚的可能性推断搜索者提示,依靠声誉或通过(可能最好)针对第 N-2 状态进行模拟。这使得区块估值变得不那么确定。
由于缺乏对交易回滚的理论保证,一旦验证者接受了构建者构建的区块,搜索者面临更大的执行不确定性。这与 Ethereum 形成对比,在 Ethereum 上,搜索者在专用的私人订单流到构建者渠道中竞争,以相对确定的策略执行。在 Monad 上的这种相对概率设置中,搜索者现在面临更高的捆绑回滚风险,导致更不确定的执行 PnL 轮廓。这类似于高频交易者,他们根据概率信号执行交易,随着时间的推移获得略高的预期回报。
图 13:一个概念光谱图,展示了不同 MEVA 设计范式,根据提议区块检查或模拟的程度进行分类
如图 13 所示,构建者一方事先捆绑/区块检查的程度在提议区块的定价或估值方面创造了一个不确定性的光谱。一端是 Ethereum 风格的 PBS 模型,具有准确的定价,构建者必须使用执行层(EL)客户端在提议区块中模拟交易。他们必须在提交的捆绑中导航广泛的组合。另一端是乐观构建者模型 [16],具有异步区块检查。在这种模型中,构建者绕过操作时间窗口内任何模拟所需的时间,并通过存入抵押品(可能会被削减)来兑现向验证者或中继显示的提示。这里在 Monad 上提出的概率检查或部分模拟方法位于中间,尽管存在一些不确定性,但增加了搜索者成功执行策略的可能性。
例如,一个链上订单簿 DEX 的做市商可能会在发现主要单向价格变动时通过 MEVA 预先移动其头寸,以避免不利选择。这种概率策略允许他们快速行动,即使没有最新的状态信息,在动态交易环境中平衡风险和回报。
结语
MEVA 在优化区块生产、减轻外部影响和提升系统稳定性方面起到了关键作用。随着 MEVA 框架的不断发展,例如 Solana 上的 Jito 和 Ethereum 上的各种实现,极大地促进了可扩展性问题的解决,并使网络参与者的激励机制更加一致。
Monad 是一个处于起步阶段、前景广阔的网络,它为社区提供了设计最佳 MEVA 的独特机会。鉴于 Monad 独特的执行与共识分离机制,我们诚邀研究人员、开发者和验证者共同合作,分享见解。这种合作将有助于创建一个强大而高效的区块生产流程,助力 Monad 实现其作为高吞吐量区块链网络的前景。