Flashbots 研究:MEV 如何吞噬区块链扩容红利
Flashbots 研究:MEV 如何吞噬区块链扩容红利
垃圾交易剖析 为理解区块空间为何被浪费,我们先拆解一笔成功的套利交易: 展示 slot0 () 和 getReserves () 重复调用的追踪示例 该机器人的核心逻辑很简单: 上述交易就是这四个步骤的体现,最终终止且未执行任何操作。实际上,它只是一次高强度的价格查询,消耗约 260 万 Gas 却仅读取市场状态而无实质动作。 在 Base、World 和 Solana 等公链上,这种策略已成为提取 MEV 的主流方式。少数成功交易需为大量失败尝试买单,这对搜索者而言是理性选择,却对网络造成了系统性低效。 大量资源被用于读取价格却不产生实质价值。而且并非只有这一个搜索者如此,所有搜索者为捕获原子级 MEV 都不得不采用这种策略。最终结果正如数据所示:公链被垃圾交易堵塞,手续费因垃圾交易而上涨。(注:原子级 MEV 强调在单次链上操作(如单笔交易或单个区块内)中实现的价值提取,常见于套利、抢跑等利用区块链即时性和交易顺序的场景。)
在我们分析的所有 Rollup 中,垃圾交易消耗的资源与其产生的收入之间存在巨大差距。相比其他用户,垃圾交易机器人消耗的 Gas 量是其支付手续费的数倍。例如,OP 主网上的垃圾机器人消耗了约 57% 的 Gas,却仅支付了约 9% 的手续费,差距达 6 倍之多。
手续费支付与 Gas 消耗的差距表明,垃圾交易给网络带来了巨大的外部成本,却几乎未提供相应价值,这是系统性低效市场的典型特征。其中包括实实在在的计算资源浪费,因为每个全节点都被迫执行这些交易,从而提高了所有网络参与者的硬件要求。
此外,我们还分析了 L2 中的垃圾交易如何影响 Rollup 对 L1 数据可用性(Data Availability)的使用。
或许对用户最直接的影响,是垃圾交易的持续存在人为推高了交易手续费的基准线,并使其长期居高不下。
尽管 Rollup 的扩容举措已将名义手续费降至极低水平(例如约 0.01 美元),让许多自然用户对价格不再敏感,但理论上,若区块空间充足、用户对价格不敏感,再加上 EIP-1559 手续费市场机制的作用,手续费本应趋近于绝对最低值。扩容的愿景正是创造足够的容量,使这种近乎零手续费的状态成为常态。
但实际情况并非如此。试图通过垃圾交易捕获 MEV 的搜索者正用海量交易塞满区块,消耗大量 Gas。这种行为推高了区块利用率,导致基础手续费持续上涨,这更多反映了 MEV 市场的系统性低效,而非自然用户的真实需求。
尽管终端用户承担的手续费仍处于低位,但整体水平已远高于实际所需。这一问题的关键点在于:那些依赖大量廉价区块空间的创新应用场景(如链上社交网络或自动化微支付)正因此被排除在市场之外。
5.垃圾交易市场高度集中
最后,分析显示,MEV 垃圾交易的搜索者市场呈现极端集中化特征。
为验证这一点,我们统计了区块高度 26000000 至 26900000 中,哪些智能合约消耗了最多被归类为「垃圾交易」的 Gas。初步观察时,市场看似头部占比较高但结构分散。
结论
长期以来,关于扩容的讨论一直局限于基础技术吞吐量。但我们的研究表明,关键突破点已不再是扩大区块容量,而是更高效地利用区块空间 [3]。这是因为每释放一单位区块空间,MEV 都会激励垃圾交易消耗新增容量。换言之,「扩容」带来的大部分收益被具备经济理性的 MEV 机器人攫取,真正的用户无法从中获益。这一问题正推高普通用户的手续费、制约扩容成效,并造成海量网络资源浪费。
扩容的局限性正在于此:增加区块空间虽能提升吞吐量,但对手续费的改善有限,因为日益复杂的链上 MEV 会吞噬大部分增益。若想突破这些限制并释放扩容的真正潜力,我们必须摆脱浪费的垃圾交易市场。通过可编程隐私与显性竞价,我们能消除垃圾交易的激励,用富有表现力、公平且高效的 MEV 市场取代「垃圾交易拍卖」。
采用 MEV 拍卖并非奢侈选择,而是战略需要。核心在于利用 TEEs 为搜索者提供交易流访问权限,同时通过编程限制其使用方式。这种设计可实现理想结果:在无垃圾交易的前提下支持后跑套利,同时防范三明治攻击。对区块链而言,这意味着在高效、无垃圾的市场中捕获更多收入;对用户和开发者而言,更低且稳定的手续费与真实可用的容量将最终释放扩容的全部价值。
当我们突破垃圾交易的限制时,世界将发生什么?当交易成本低到几乎可忽略不计时,哪些新可能将被解锁?又会诞生哪些新型应用?答案,唯有实践可证。
感谢 DataAlways、Hasu、Fahim、Danning、dmarz、Nathan、Georgios、Dan、buffalu、Quintus、Tesa、Anika、Brian、Xin、Sam、Eli、Christine、Christoph、Alex、Fred 以及其他许多人提出的宝贵意见。特别感谢 Phil,同时也感谢 Achal 在设计方面提供的帮助。
附录
垃圾交易识别启发式方法
为识别垃圾交易,我们采用了两种启发式规则:
- 无代币转移:交易是否涉及任何代币转移?若有,则不归类为垃圾交易。
- 重复 DEX 价格查询:若交易在未执行代币转移的情况下,对常见 DEX 价格数据发起至少 4 次查询,则归类为垃圾交易。
我们认为,在撰写本文时,这些启发式方法是可靠的:任何涉及代币转移的操作通常对用户具有实际价值,而垃圾交易仅在捕获 MEV 机会时才会转移代币。此外,DEX 价格查询规则能有效识别系统性探测套利机会的机器人,这是我们观察到的主要垃圾交易形式。该定义聚焦于仅在链上查询 DEX 价格的浪费性行为,而排除了具有生产性的后跑(backrunning)行为。
但这一定义未来需进一步优化:垃圾交易机器人可通过简单转移代币绕过该规则,因此「垃圾交易」的分类标准仍是值得后续研究的方向。此外,该定义主要覆盖了占 MEV 主流的盲目后跑套利机器人,而未包含清算等其他 MEV 策略。
垃圾交易识别方法论
我们通过分析交易追踪识别垃圾交易:对每笔交易,检查其所有追踪以判断是否调用代币转移函数或 DEX 价格函数(如 slot0()、getReserves() 等)。若交易涉及代币转移,则排除;若未转移代币且发起 4 次及以上 DEX 价格查询,则归类为垃圾交易。
选择 4 次作为阈值是出于保守考虑,实验显示将阈值设为 3 次对整体结果影响甚微。类似地,我们在 Dune 上通过转移事件过滤交易,发现其与基于追踪的方法结果差异不大。
spam-inspect 工具
为研究垃圾交易,我们开发了 spam-inspect,一个专为分析以太坊 Rollup 活动而设计的 Python 工具,旨在高效识别垃圾机器人行为。该工具通过追踪区块内每笔交易,并用上述启发式规则实现分析。
此工具依赖 trace_block 方法,目前仅在支持 OP-Reth 或 OP-Erigon 的 OP-Stack 链上可用。
Dune 查询
我们在 Dune 上构建了物化视图(materialized views),通过过滤包含 Transfer 事件的交易并识别重复 DEX 价格调用,定位符合垃圾交易标准的哈希值。与 spam-inspect 的差异在于,此方法依赖转移事件而非交易追踪。这些垃圾交易物化视图被用于后续查询分析。
数据可用性(DA)估算
尽管本文主要讨论垃圾交易对 Gas 的影响,但其也会消耗其他资源,如 Rollup 对 L1 数据可用性的占用。为估算 L2 垃圾交易浪费的 L1 DA 资源,我们构建了自定义数据管道(复用了 op-batcher 的部分模块),通过两组计算得出结果:
- 包含所有交易的区块压缩后总大小;
- 移除垃圾交易后的区块压缩后总大小。
两者差值即为单区块中垃圾交易消耗的 L1 DA 估算值。