该文章探讨了MEV(Miner Extractable Value)如何成为区块链扩展的主要限制。通过分析以太坊及其L2和Solana等网络的数据,发现链上垃圾信息(spam)消耗了大量gas和算力,导致高手续费和降低了有效吞吐量。文章提出了一种新的MEV拍卖方案,通过可编程隐私和显式竞价来解决这一问题,旨在最大化区块链利用率并实现更高效的扩展。
今天,我们提出一个新的论点:MEV 已经成为区块链扩展的主要限制。
在以太坊、其 L2 和 Solana 等领先网络竞相尽可能快地扩展之际,MEV 带来的经济限制在整个行业中变得越来越明显。惊人地浪费的链上搜索开始消耗大多数高吞吐量区块链的大部分容量。
这不是一个理论上或孤立的问题。我们可以从 Solana(MEV 机器人消耗了 40% 的区块空间)到 以太坊 L2 生态系统 中观察到它。为了量化影响,我们对顶级的 OP-Stack rollup 进行了深入研究,这些 rollup 提供了特定的 trace endpoints。结果清楚地显示了一个市场范围内的问题:
数据库分片(即 rollup)、有效性证明或数据库或共识优化等技术扩展工作非常重要,但它们本身是无效的。我们知道如何构建原始的技术吞吐量,但当前的市场结构对扩展施加了经济限制。
在本文中,我们将剖析这种市场失灵,展示证明其影响的数据,并提出一种旨在解决它的新型 MEV 拍卖。
为了理解为什么区块空间会被浪费,让我们首先剖析一个成功的套利交易:
Base 上成功的套利交易示例。
乍一看,你可能会认为这是效率的体现:一个搜索机器人执行了一个精确的套利,产生了 0.12 美元的收益,并支付了 0.02 美元的费用。
但这个成功的套利的_真实_成本令人震惊:对于每一个成功的套利,这个机器人发送大约 350 个试图寻找套利但失败的交易。 平均而言,这个机器人每次成功的套利消耗大约 1.32 亿 gas - 相当于几乎 4 个完整的以太坊区块。请记住,这只是争夺这个机会的几个机器人之一,因此链的真实成本甚至更高。
现在让我们转向许多许多失败的尝试之一,以更好地理解机器人的链上活动。
盲目寻找套利但不成功的交易示例
乍一看,这个交易看起来无害。它成功执行并且没有执行任何 token 转移。它给我们的唯一暗示是它使用了大约 260 万 gas,如上所示。
但是,如果你查看其 trace,我们可以看到对数十个不同 DEX 池的长长的 calls
列表,使用 getReserves()
和 slot0()
调用查询它们的状态。这些调用本质上是在获取不同 DEX 上不同资产的价格。
显示重复调用 slot0()
和 getReserves()
的示例 trace
cast run 0x561d3f12bafb1c199af03746c2f31a44aa4f1fb0a658a66f9e93d0b71cc1959e --rpc-url $YOUR_RPC_URL
它的核心是,这个机器人的逻辑很简单:
这个交易是这 4 个步骤的实际操作,最终终止并且什么也不做。实际上,这是一个密集的 price query,它消耗大约 2,600,000 gas 只是为了读取市场状态而不做任何事情。
在 Base、World 和 Solana 等链上,这是提取 MEV 的主要策略。许多许多失败的套利尝试由少数成功支付。虽然这对这个搜索者来说是合理的,但对于网络来说,这是一个极其系统性的低效。
大量的资源被用来读取价格而不做任何事情。而且,这个单一的搜索者并不孤单,每个其他搜索者都需要采用这种策略来捕获原子 MEV。结果是我们在数据中看到的:链拥塞着垃圾邮件,费用因垃圾邮件而升高。
拥塞高吞吐量链的垃圾邮件并非偶然。这是对市场结构中的缺陷的直接和理性反应:为了有利可图地读取区块的最新状态并对其做出反应,搜索者必须在同一区块中盲目地写入一个交易。
我们剖析的套利机器人就是这种情况的一个例子。 一个 offchain query 可以获取最后提交的区块的状态,但它滞后于由_当前正在构建的区块内的_交易创建的 MEV 机会。
在像 Base 或 Solana 这样的网络上,原生 mempool 是私有的。这意味着在区块发布之前,搜索者无法了解正在执行的用户交易及其产生的机会。发现和捕获由此产生的套利的唯一方法是在用户的交易之后立即在同一区块中执行他们自己的交易。如果搜索者等待下一个区块,机会早已消失,被抓住机会在链上捕获它的竞争对手捕获。
链上搜索泛滥的现象是由于我们不同属性的相互作用:
首先,交易的表达能力。 与传统金融中交易者提交简单的静态订单(例如,“以 X 价格买入”)不同,搜索者可以创建一个充当链上程序的交易。这允许搜索者编码条件逻辑,该逻辑基于市场在其包含那一刻的状态执行,从而实现其他方式无法实现的复杂、反应性策略。
其次,转向私有 mempool。 为了保护用户免受抢先交易的侵害,大多数高吞吐量链已将其 mempool 私有化。在提供针对抢先交易的基本防御的同时,这也使搜索者对用户 orderflow 视而不见。由于无法在交易包含在区块之前看到并对其做出反应,搜索者被迫利用上述表达性交易在链上盲目探测机会以进行 MEV 搜索。
第三,廉价的费用。 链上搜索因低成本的区块链空间而得到提升。搜索者可以负担得起用投机交易来轰炸每个区块,因为他们知道一次成功的利润将弥补许多许多失败的成本。而且,随着 gas 变得越来越便宜,搜索者可以表达更复杂的逻辑来追求更复杂的策略。1
最后,缺乏有效的拍卖。 搜索者之间的竞争发生在没有正式方式来表达对交易排序偏好的环境中。由于没有正式、直接的方式来竞标区块中的特定交易排序,竞争默认为浪费的代理:原始 gas 消耗。搜索者提高获胜几率的主要方式是在区块的更多点消耗更多 gas,从而增加他们落在正确位置的机会。
当这些因素结合在一起时,有效地创建了一个垃圾邮件拍卖。这是一种非常浪费的机制,会刺激网络拥塞并且无法很好地从 MEV 中捕获价值。为了量化由垃圾邮件造成的效率低下的真实规模,我们转向了数据。
我们的分析证实,MEV 驱动的垃圾邮件对扩展施加了经济限制。
我们通过识别重复进行 DEX 查询但不转移 token 的交易来对垃圾邮件进行分类。 这是一个专门选择的启发式方法,用于识别原本可以在链下完成但被迫在链上进行的系统性浪费的后运行套利。我们在 Python 工具和 Dune 仪表板中都实现了这种启发式方法。有关此数据背后方法的更多详细信息,请参见附录。
我们的数据分析仅限于 OP-Stack rollup,因为某些 RPC 方法可用于我们的垃圾邮件检查工具。 Ghost Logs 团队的数据证实了我们的发现与 Solana 相关,并且其他人也发现了证据其他以太坊 rollup(例如 zksync 和 Arbitrum)上的垃圾邮件。
首先,问题是系统性的并且普遍存在。对顶级 OP-Stack rollup 的分析表明,垃圾邮件不是一个孤立的问题,而是整个生态系统中的主导力量。在 Unichain、Base 和 OP Mainnet 等链上,垃圾邮件经常消耗超过 50% 的 gas。因此,我们可以得出结论,这是当前市场设计的结构性后果,而不是局部异常。
我们的第二个发现是,从链的角度来看,垃圾邮件非常低效。
在我们查看的 rollup 中,我们发现垃圾邮件消耗的资源与其产生的收入之间存在巨大差距。与其他用户相比,垃圾机器人使用的 gas 量是他们支付的费用的倍数。例如,OP Mainnet 上的垃圾机器人使用了大约 57% 的 gas,但只支付了大约 9% 的费用 - 相差 6 倍。
费用支付和 gas 使用量之间的差距表明,垃圾邮件给网络带来了巨大的外部成本,同时提供的回报不成比例,这是系统性低效市场的标志。这包括浪费计算的非常真实的成本,因为每个完整节点都被迫执行这些交易,从而提高了所有网络参与者的硬件要求。
此外,我们还分析了 L2 上的垃圾邮件如何影响 rollup 对 L1 Data Availability 的使用。
我们发现在 2 月份的一百万个区块中,Base 上的垃圾机器人约占 gas 使用量的 56%、L1 DA 使用量的 26% 以及链费用的 14%。垃圾机器人 DA 使用量的百分比最初让我们感到惊讶,但我们发现它与垃圾机器人交易量的百分比而不是 gas 使用量相关。这是有道理的,因为 DA 使用量是数据压缩程度的函数,而不是 gas 使用量的函数。
第三,这种低效率直接抵消了扩展的好处。为了衡量垃圾邮件的负面影响,我们引入了一个名为有效 gas 吞吐量的新指标——rollup 在扣除垃圾机器人使用的 gas 后的每秒处理的 gas 量。
Base 上的趋势非常明显:2024 年 11 月,总 gas 吞吐量为 15 Mgas/s,而用户的有效 gas 吞吐量仅为 12 Mgas/s。在接下来的四个月里,虽然总 gas 吞吐量又增长了 11 Mgas/s,但有效 gas 吞吐量大致保持不变。换句话说,几乎所有新的吞吐量都被垃圾邮件捕获了。
有趣的是,在 2 月底之后,出现了一个分歧,有效 gas 吞吐量开始更紧密地与总 gas 吞吐量一起增长。这似乎与市场上的交易量以及 MEV 相关。天秤币丑闻始于 2 月 14 日,此后不久,有效 gas 吞吐量再次开始增加。这与 Telegram Bots 交易量表明的 memecoin 交易量减少相关。
也许对用户最直接的影响是由于垃圾邮件的持续存在而产生的持续、人为地高的交易费用基线。
rollup 上的扩展工作已将头条费用降低到足以让许多自然用户对价格不敏感的程度(例如,约 0.01 美元)。理论上,凭借充足的区块空间、对价格不敏感的用户和 EIP-1559 费用市场动态,费用应被推向绝对最小值。扩展的承诺是创造如此多的容量,以至于这种接近零费用的状态成为常态。
在实践中,情况并非如此。MEV 搜索者试图通过垃圾邮件捕获 MEV,从而向区块中注入大量交易,并消耗大量 gas。这种活动推高了区块使用率,并导致基础费用顽固地升高,这反映了系统性低效的 MEV 市场,而不是自然用户需求。
尽管最终用户的费用仍然很低,但总体而言,它们远高于它们应有的水平。这是一个问题,因为这意味着需要丰富且廉价的区块空间的新颖用例正在被定价过高,例如链上社交网络或代理微支付。
最后,我们的分析表明,MEV 垃圾邮件的搜索者市场非常集中。
为了检查这一点,我们查看了在区块 26000000 到 26900000 期间,哪些智能合约使用的 gas 最多,这些 gas 被分类为垃圾邮件。初步观察,市场似乎头重脚轻但分散。
但是,这种观点具有误导性。链上分析表明,一种常见的策略是搜索者轮换他们用于发送垃圾邮件的智能合约,但将利润发送到一致的“获利地址”。通过跟踪成功套利交易中的 ETH 转移,我们尝试识别哪些智能合约共享同一个运营商。并非所有机器人都在使用这种方法,但顶级机器人在使用。
当我们按获利地址对数据进行分组时,市场看起来更加集中。
结果非常明显,只有两个实体负责 Base 上超过 80% 的垃圾邮件。所显示的极端集中度表明存在巨大的进入壁垒,并且当前的垃圾邮件拍卖并非真正具有竞争力。这种缺乏竞争进一步削弱了价格发现,这意味着链无法捕获所提取 MEV 的真实价值,而且还遭受了垃圾邮件的外部性。
我们认为区块链应该最大限度地提高它们有限的区块空间中所能容纳的有用经济活动量。
通过这种衡量标准,我们的发现表明,今天的垃圾邮件拍卖_非常_浪费:在 Uniswap v3 上进行的两次交换套利可能只需要大约 200,000 gas,但 Base 上的相同经济结果消耗大约 1.3 亿 gas。
缩小这个大约 650 倍的效率差距是释放扩展真正潜力的关键。
为此,我们回到了链上搜索成为主要范例的四个原因:交易表达能力、mempool 隐私、廉价的费用以及缺乏有效的拍卖。我们认为廉价的 gas 费用和表达能力是通用智能合约链的明确目标 2,并且我们希望支持它们。
因此,必须在解决其他两个问题中找到解决方案:允许搜索者读取即将到来的状态,并以既维护用户保证又最大限度地减少区块链本身上的垃圾邮件的方式表达他们对此的偏好。
首先,我们将通过可编程隐私来解决状态访问问题。一个有效的市场必须为搜索者提供对交易流的实时访问,同时以编程方式强制限制他们如何使用该信息。
该系统需要能够可验证地保证搜索者只能后运行交易,而不能抢先交易、夹击或泄露私人数据。反过来,这种可见性允许搜索者在链下而不是在链上进行条件执行逻辑。一旦搜索者在链下创建了一个潜在的有利可图的交易,他们仍然需要一种将其置于精确位置以捕获 MEV 的方法。
这就引出了第二个组成部分:我们允许搜索者在拍卖中明确地竞标交易包含和排序。 显式拍卖不是在原始 gas 使用量上竞争的浪费的“垃圾邮件拍卖”,而是允许搜索者为他们感兴趣的特定排序权提交直接的货币竞标。
这两个组成部分,可编程隐私和显式竞标,协同工作以创建解决方案:
Flashbots 一直在试验可信执行环境 (TEE),为搜索者提供可见性,而无需夹击的能力。 TEE 保证正在执行特定代码,并且数据即使对机器的运营商也保持机密。
这允许在 TEE 内部运行搜索者,在那里他们可以被验证地允许后运行私人交易,但不允许夹击或导出任何私人数据。我们已经在以太坊 L1 上证明了这一点,搜索者已经在类似的系统中后运行交易已经几个月了,并且正在积极地将其调整为 L2。
关于扩展的对话长期以来一直狭隘地关注原始技术吞吐量。我们的发现表明,关键的前沿不再是使区块更大。它是更有效地利用区块空间。 3
那是因为对于释放的每个额外的区块空间单位,MEV 都会激励垃圾邮件来消耗新的容量。换句话说,“扩展”的大部分好处被经济上理性的 MEV 机器人吸收,从而阻止了实际用户感受到这些收益。 今天这是一个问题,因为它推高了常规用户的费用,限制了扩展工作,并浪费了大量的网络资源。
这就是扩展的极限:增加区块空间容量会导致更高的吞吐量,但它们对费用的影响有限,因为越来越具有表达力的链上 MEV 消耗了大部分收益。
为了突破这些限制并释放扩展的真正潜力,我们必须摆脱浪费的垃圾邮件市场。通过可编程的隐私和显式竞标,我们消除了垃圾邮件的动机,并用一个表达力强、公平且高效的 MEV 市场取代了浪费的“垃圾邮件拍卖”。
采用 MEV 拍卖不是一种奢侈品,而是一种战略必然。 关键是使用 TEE 为搜索者提供对交易流的访问权限,但以编程方式限制他们如何使用它。这种设计实现了理想的结果:它实现了后运行套利而没有垃圾邮件,同时防止夹击。
对于链来说,这意味着在高效、无垃圾邮件的市场中捕获更多收入。对于用户和构建者来说,可以通过更低、更稳定的费用和真正的容量最终实现扩展的全部好处。
当我们突破由垃圾邮件施加的限制时,可能会发生什么?当交易几乎便宜到无法计量时,会释放什么?将创建哪些新型应用程序?
只有一种方法可以找到答案。
我们正在积极地为 rollup 设计和构建这个未来。如果你想突破经济限制并一起创新链上市场设计,请来与我们交谈。你可以在 Twitter 上 DM dmarz 或 我。
感谢 DataAlways、Hasu、Fahim、Danning、dmarz、Nathan、Georgios、Dan、buffalu、Quintus、Tesa、Anika、Brian、Xin、Sam、Eli、Christine、Christoph、Alex、Fred 和许多其他人的有益评论。特别感谢 Phil。感谢 Achal 的设计帮助。
垃圾邮件识别启发式
为了识别哪些交易是垃圾邮件,我们使用了两种启发式方法:
我们认为,截至撰写本文时,这些启发式方法是可靠的。对 token 进行任何操作都表明该交易通常对某人有用。除非发现并执行 MEV 机会,否则垃圾邮件不会转移任何 token。此外,DEX 价格查询启发式方法有效地识别了系统性地检查套利机会的机器人,这是我们所见过的垃圾邮件的主要形式。最后,这种垃圾邮件的定义考虑了仅在链上检查 dex 价格的浪费活动,但不包括后运行的生产力活动。
但是,未来需要使这个定义更加稳健。垃圾邮件机器人可以通过转移 token 来轻松地对付这一点。如何分类什么是“垃圾邮件”是一个令人兴奋的后续研究领域。此外,这个定义显著地捕获了构成 MEV 大部分内容的盲目后运行套利机器人,但省略了其他形式的 MEV 策略,例如清算。
垃圾邮件识别方法
为了识别垃圾邮件活动,我们检查了交易的 trace。对于每个交易,我们查看了它们的每个 trace,以确定它是否调用了 token 转移函数或 dex 价格函数(例如 slot0()
、getReserves()
等)。如果交易转移了_任何_token,那么它将不会被归类为垃圾邮件。但是,如果它不转移 token_并且_它调用了 4 次以获取 DEX 价格,那么我们将它归类为垃圾邮件。
我们选择 4 是为了保守起见,但也尝试将阈值设置为 3 次调用而不是 4 次,发现它对整体影响很小。同样,我们使用转移事件来过滤掉 Dune 上有转移的交易,但发现相对于使用 trace,这同样不会产生大的差异。
spam-inspect
为了调查垃圾邮件,我们创建了 spam-inspect
- 一种 Python 工具,旨在分析以太坊 rollup 活动,以识别考虑到性能的垃圾邮件机器人活动。spam-inspect
的工作原理是跟踪区块中的每个交易,并使用这些 trace 来应用上述启发式方法。
这需要 trace_block
方法。在撰写本文时,该方法仅在可以运行 OP-Reth 或 OP-Erigon 的 OP-Stack 链上可用。
Dune 查询
我们构建了 Dune materialized views,通过过滤掉具有 Transfer 事件的交易并寻找重复的 DEX 价格调用来识别符合上述标准的交易哈希。这与 spam-inspect
略有不同,因为它依赖于转移_事件_而不是 trace。这些垃圾邮件交易的 materialized views 用于构建后续查询。
DA 估计
尽管本文主要关注垃圾邮件如何影响 gas,但它也会影响其他资源使用情况,例如 rollup 使用的 L1 数据可用性。为了估算 L2 上的垃圾邮件浪费的 L1 DA 量,我们构建了一个自定义数据管道,该管道重用了 op-batcher
的某些部分。为了得出我们的 DA 估计,我们进行了两次计算:
两者之间的差异被认为是每个区块中垃圾邮件使用的 DA 量的估计值。
1 这表明链的 MEV 使用量将继续随着其吞吐量而扩展
2 对于特定于应用程序的链,逻辑可能有所不同 - 有意限制交易表达能力在这里可能是一种有效的策略
3 显式拍卖解决了系统性低效的资源使用问题,但它们引入了不同的限制:运行公平且有竞争力的拍卖所需的时间。由于网络延迟和运行拍卖所需的计算,此时间对区块时间施加了下限。这些组合的等待时间意味着有效的拍卖需要最短的区块时间,并且表明了最大化区块空间的使用和最小化区块时间之间的权衡。一篇关于此的文章即将发布。
- 原文链接: writings.flashbots.net/m...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!