在这篇文章中,我们介绍了MEV税,这是一种可以让任意应用捕获其自身MEV的机制。
这种机制可以在当前的OP Stack L2s上使用,例如OP Mainnet、Base和Blast,因为这些链上的区块提议者遵循一套我们称为竞争优先排序的规则。
在这些链上实施MEV税时,智能合约会根据交易的优先费用收取一定的费用。我们证明了,如果一个应用对搜索者每1美元的优先费用收取99美元的MEV税,它就能捕获该交易99%的竞争MEV。
MEV税是一种简单的技术,提供了广阔的设计空间。可以将其视为允许链上任何应用运行自己的定制MEV拍卖,无需任何自己的链外基础设施,只需接入区块提议者运行的共享拍卖。
我们展示了MEV税如何解决MEV研究中的三个主要问题:
但也存在一个问题。MEV税仅在区块提议者严格遵守竞争优先排序规则时有效,这些规则包括按优先费用排序交易,不进行审查、窥视或延迟任何交易。如果区块提议者违反这些规则,他们可以逃避MEV税并捕获价值。因此,当前MEV税依赖于信任L2排序器,在以太坊L1上可能完全无效,因为以太坊L1的区块构建由竞争性构建者拍卖主导,最大化了提议者的收入。
尽管如此,MEV税的强大和灵活性表明,优先排序可能是现今平台的正确选择。而竞争优先排序的相对简单性表明,有可能以去中心化的方式实施,而无需信任单一排序器。我们希望这篇文章能激发更多关于这个问题的研究。
当用户在以太坊L1或L2上发送交易时,他们会指定一个优先费用,这个费用支付给区块提议者。1
这个费用可以理解为priorityFeePerGas,即乘以交易中使用的gas数量来得到的builderPriorityFee,总共支付的ETH金额。2
以太坊协议并未规定区块内的交易必须按priorityFeePerGas从高到低排序,但这种排序方式非常流行。例如, OP Stack链的排序器以及geth和reth都采用这种默认算法。优先排序不仅能让交易者有效表达交易的紧迫性,还能自然地将某些MEV收益引导给区块提议者。
这是因为优先排序将对MEV的竞争转化为优先gas拍卖。当有机会通过链上互动获利时,比如在AMM与中心化交易所之间套利,搜索者会竞争优先获得这种机会。如果链上采用优先排序来决定交易的包含和排序,搜索者会通过设置高优先费用来竞争。
在竞争激烈、无风险利润被压到零的情况下,最终获胜的搜索者应支付全部的MEV作为优先费用。因此,如果从与合约互动中能获利100 ETH,首个获取此机会的交易将设置100 ETH的优先费用。(我们在限制部分讨论了一些注意事项)。
假设一个智能合约希望捕获与其交互的交易中的MEV。关于智能合约如何捕获其自身的MEV,有大量的研究文献。
但实际上,我们不必了解应用的具体细节。如果知道区块是通过竞争优先排序构建的,那么优先费用就成为衡量交易中MEV数量的通用信号。
我们建议智能合约可以根据交易的优先费用收取其自身的费用,作为一个递增函数。例如,合约可能要求调用它的用户支付applicationPriorityFee = 99 * proposerPriorityFee的ETH到合约中。 4
这个新费用由发送交易的搜索者支付,因此会影响搜索者的行为。如果一个机会中有100 MEV,获胜的交易现在只会设置1 ETH的优先费用,因为这样总支付100 ETH(1 ETH给区块提议者,99 ETH给智能合约)。任何更高的优先费用会使交易无利可图;任何更低的优先费用会导致输给设置了更高费用的竞争者。这意味着智能合约捕获了交易中99%的MEV。
我们称这种由智能合约收取的额外费用为MEV税。MEV税让应用程序能利用优先排序为自身利益服务,使其能够为用户重新捕获MEV,而不让MEV流向区块提议者。
如果这笔费用随着priorityFeePerGas的增加而迅速上升,那么只有极少量的MEV会流向提议者。由于priorityFeePerGas以wei(ETH的十亿分之一)为单位,我们有很高的精度可以操作。例如,只要MEV税足够敏感,以至于50,000的priorityFeePerGas会导致过高的税额,那么支付给提议者的总金额将少于0.01美元。5
然而,需要注意的是,如在限制部分所讨论的,MEV税仅在区块提议者遵守某些规则——我们称之为“竞争优先排序”——而不是偏离这些规则以最大化自身收入的情况下有效。如何在无需信任的情况下强制执行这些规则仍是一个未解决的问题。
我们在这里概述了在保证使用竞争优先排序的链上,如何通过MEV税来解决三个重要的MEV问题:让DEX界面提高交易执行效率,帮助AMM减少流动性提供者的套利损失,并通过出售用户的后跑权利来减少钱包中的MEV泄漏。
在基于意图的DEX路由协议中,如UniswapX和1inch Fusion,用户(Alice)会签署一个交换意图,搜索者竞争以最优价格为Alice完成这个意图。
当前版本的UniswapX使用两种机制来实现这种竞争:荷兰拍卖,Alice的限价会随时间逐渐变化,直到有搜索者填充订单;以及初始的链下报价请求(RFQ)拍卖,用于设定荷兰拍卖的起始价格。 在一个保证竞争优先排序的平台上,UniswapX可以用单一机制来替代这些:MEV税。实现方法是用户签署一个可以立即被任何人填充的订单,但其执行价格根据交易的优先级来设定。
例如,如果Alice有一个UniswapX订单要卖出1 ETH,她可以将订单的执行价格设定为最低价格加上($0.01 * priorityFeePerGas)。最低价格可以是她预期的一个显著低于当前市场价格的固定值。
搜索者会提交交易来竞争填充Alice的订单。哪个交易的优先费用最高且不会回滚,就会填充这个订单,这可以保证交换者得到搜索者能找到的最佳价格。(一些例外情况在限制部分讨论。)
如果Alice的最低价格是$3000,而当前ETH价格是$3500,那么获胜交易的priorityFeePerGas大约会是50,000。(注意,在一个耗费200,000 gas的交易中,这将导致支付给区块提议者的费用仅约为10亿wei——约$0.000035。)
这相比UniswapX现有机制有一些潜在的好处。 使用MEV税的订单比使用荷兰拍卖的订单完成得更快且价格更好。正如本文讨论的那样,由于区块之间的价格波动,链上荷兰拍卖会漏出一些价值给MEV,并且可能需要多个区块才能完成。相比之下,使用MEV税的订单通常可以在下一个区块内完成,同时捕获大部分MEV。
与链下的RFQ不同,使用MEV税填充订单的拍卖会在链上与交易执行同步进行。这意味着获胜的竞价者可以确保只有在他们的链上交易成功时才需要填充订单。这使得链上流动性(如AMM)更容易与链下流动性竞争,这意味着UniswapX可以作为一个更有效的多池系统(如Uniswap v4)的路由器。
通常,AMM会因套利者在区块开始时利用过时价格进行交易而损失价值,这在损失与再平衡的研究中有所讨论。我们可以通过MEV税让AMM捕获这些MEV。为了简单起见,我们将讨论在没有集中流动性的AMM上如何实现这一点。(如果你对集中流动性情况下的解决方案感兴趣,Sorella将很快发布一个解决方案。)
AMM可以通过根据交易的优先费用收取额外费用来捕获MEV,从而拍卖区块内优先交易的权利。有多种方法可以计算和表示这笔费用。我们将讨论一种相对中立的方法——用池流动性的单位sqrt(xy)来表示。获胜的交易将是增加池流动性最多的交易。
在一个区块中执行池的第一笔交易时,池可以强制执行以下条件(a为某个常数),而不是x_end y_end > x_start y_start:
x_end y_end > (sqrt(x_start y_start) + a*priorityFeePerGas)^2
这个公式将激励套利交易者以真实价格进行交易,在此交易之后,池的中间价格应为真实价格。6
在第一笔交易之后,交易可以像在Uniswap v2上那样进行,使用固定的交换费用。那些不想支付额外MEV税而进行交易的用户可以设置较低的优先费用。
在AMM上实施MEV税的方法有很多,并且会产生不同的效果。例如,MEV税可以用交换的输入或输出代币来表示,可以影响池应用的交换费率,或者可以决定用户交易的最低价格。我们认为这是一个值得探索的有趣设计空间。
上述描述展示了某些应用如何设计以避免MEV泄漏。然而,如果一个钱包希望帮助用户捕获他们在与任何应用进行任意交易时产生的MEV,而不仅仅是包含MEV税的应用呢?
例如,当Alice在AMM上进行大额交易时,她有时会为“后跑者”创造一个套利机会以恢复价格。这通常会泄漏给MEV,而不是Alice。
MEV-Share 和MEVBlocker 是两种允许用户捕获其交易中MEV的协议,但它们依赖于复杂的链下拍卖系统。订单流拍卖设计空间描述了一些其他解决方案。
将MEV税与基于意图的智能合约钱包结合,可以构建一个替代系统来捕获Alice的后跑MEV。假设Alice不创建在AMM上的交易,而是签署一个意图,任何人都可以提交给她的智能合约钱包来执行该操作。Alice的智能合约钱包向提交该交易的人收取MEV税,并支付给Alice。
提交Alice意图的搜索者将有权在同一交易中原子性地进行后跑。因此,如果搜索竞争激烈,所有来自后跑Alice的利润都应通过她的MEV税流向Alice。
需要注意的是,该系统可能无法完全保护用户免受抢先交易的攻击,因为抢先交易可能可以避免支付MEV税给用户。这个问题(及其可能的缓解措施)将在限制部分详细讨论。不过,这至少比没有任何缓解措施的公共内存池系统有所改进。
除了这些例子外,MEV税的其他潜在应用还包括几乎任何当前使用链下或荷兰拍卖的场景,例如:
上述解决方案旨在捕获单个应用程序的MEV,但有时搜索者可能通过在同一交易中与多个应用程序交互来捕获更多价值。
如果这些应用程序中只有一个使用MEV税,那么所有交易中的MEV都应该流向有MEV税的应用程序,无论MEV税的高低。
但是,如果搜索者的交易与两个使用MEV税的应用程序交互怎么办?例如,有一些MEV只能通过填充一个带MEV税的UniswapX订单和一个带MEV税的AMM来捕获。
在这种情况下,每个应用程序捕获的额外MEV量由这些应用程序设置MEV税的方式决定。如果应用程序app_i收取的MEV税由函数tax_i(priority)表示,那么获胜交易的优先级可以通过解以下方程确定:
tax_1(priorityPerGas) +tax_2(priorityPerGas) = 总 MEV
(从技术上讲,我们可以添加第三项 优先级PerGas * 使用的气体 考虑到支付给区块提议者的优先费,但我们将忽略这一点,因为如附录 A 中所讨论的,在正常情况下它可能可以忽略不计。)
在优先PerGas线性MEV税的简单情况下(即tax_1(priorityPerGas) = a_1 * priorityPerGas),你可以解出每个应用程序获得的MEV份额:
a_1 priorityPerGas + a_2 priorityPerGas = MEV
priorityPerGas = MEV/(a_1 + a_2)
tax_1(priorityPerGas) = (a_1/(a_1+a_2))*MEV
tax_2(priorityPerGas) = (a_2/(a_1+a_2))*MEV
当设置自己的MEV税时,应用程序需要权衡利弊——较高的税率可以让它在跨应用MEV发生时捕获更多份额,但也可能意味着它会错失一些跨应用MEV,特别是在有其他竞争性提取方式的情况下。例如,如果一个AMM对每笔交易都收取MEV税,那么一个有MEV税的UniswapX订单可能更可能被其他AMM或链下填充者填充。
在许多情况下,可能会出现一种平衡状态,其中两个应用程序设计其MEV税,以最大化各自的利益。例如,一个有MEV税的AMM可能希望在区块开始时从单一知情交易者那里捕获价值,但随后希望以低固定费用为其他交易者和应用程序(包括那些使用MEV税的应用程序)提供流动性。
在这种情况下,AMM可能会设置一个相对较低的MEV税(例如,$0.00001 priorityFeePerGas),以便套利交易(如果有的话)在区块早期发生,然后在区块中的后续交易中不再收取MEV税。像UniswapX这样的应用程序希望与AMM交互,可以设置一个更高的MEV税(例如,$0.01 priorityFeePerGas),以确保他们的交易在池已经被套利后被包括在内。通过这种相对税率,即使AMM上只有1美元的MEV,而UniswapX订单中有50,000美元的MEV,AMM也会首先被套利。 我们认为这是一个值得未来研究的广泛设计空间。
MEV税存在一些复杂性和缺点。我们认为这些每一个都是未来研究的有趣领域。
MEV税对垄断性的区块提议者来说不具备激励相容性。它们仅在存在对交易包含的公平竞争时有效,而这只有在区块提议者遵循我们称之为“竞争优先排序”的规则时才可能,而不是一味追求最大化他们自己的收入。我们非正式且不完全地建议,这些规则应包括:
如果其中一个或多个属性被违反,可能会削弱MEV税的有效性。违反抗审查性的区块提议者可以通过排除竞争交易并提交一个零优先级交易来避免大部分MEV税,从而自己获得机会。违反预交易隐私的区块提议者可能会窃取其他交易中的MEV或窥探它们的优先费用,以准确知道需要设置多高的费用,而能够在其他人之后提交交易的提议者将有一个自由的“最后查看”机会,以决定是否出价超过他人,从而抓住机会。这两种情况都可能导致不利选择问题,最终阻碍竞争。 不幸的是,虽然第一个属性在协议层很容易强制执行,但在无需信任的情况下强制执行其他属性是一个未解决的问题。
在协议层没有强制执行的情况下,需要信任一个承诺遵守这些规则的单一排序器,而如果提议者将区块构建外包给一个竞争性收入最大化的拍卖(如以太坊L1的MEV-Boost),区块可能不会遵守这些规则。
这些问题可以通过一个承诺使用竞争优先排序进行区块构建的单一可信排序器来“解决”。它们也可能通过使用结合共识、加密和/或可信执行环境的去中心化机制来解决,例如Sorella的Angstrom、Flashbots的SUAVE、无领导者拍卖或Multiplicity。
当区块完全填满时,MEV税的正常操作会有一个例外情况。在这种情况下,区块提议者可能需要舍弃低优先级的交易,而不是将它们排在区块的后面。由于与MEV税相关的交易往往具有非常低的优先费用,这些交易可能会被那些不使用MEV税或MEV税非常低的应用程序交易挤出。然而,在使用类似EIP-1559机制设定基本费用的链上,区块完全填满的情况应该相对少见。此外,考虑到区块填满时需要延迟某些交易,延迟那些通过设置较高MEV税来表达较低紧急性的交易可能是一个合理的结果。
MEV税依赖于单区块拍卖,其中每一个“出价”都是一笔交易。这个拍卖方式的一个缺点是,失败的出价通常会导致回滚交易被记录在链上,支付一些基本费用并造成链上拥堵。
如果排序器能够完全排除失败的交易,这将减轻这一问题,尽管即使是集中式排序器也很难实现这一点。(这也不完全符合上述的抗审查性原则,尽管可以对定义进行调整。)一个更复杂的排序器可能通过允许交易指定它们参与的有争议拍卖来优化这一过程,从而使排序器能够跳过它知道会失败的后续交易。
MEV税只有在搜索者之间存在竞争时才有效,这意味着机会需要被广泛知晓。对于像AMM这样的应用程序来说,机会在链上是可见的,这种情况应会自然发生。但对于基于意图的路由或后跑拍卖等应用程序来说,这意味着应用程序可能需要与搜索者分享用户的意图。
在某些情况下,在用户意图得到满足之前广播用户意图所带来的临时隐私丧失可能会以一种无法通过MEV税回收的方式泄漏价值。
例如,假设Alice想使用上述后跑拍卖协议购买一种低流动性的代币。她发布一个签署的意图,让她的智能合约钱包在AMM上购买该代币,并设置一定的滑点容忍度。搜索者可能会争相将该代币的价格推高到她的滑点容忍度,但不填充她的订单。获胜者Bob随后可以在低优先级交易中非竞争性地填充Alice的意图,通过包括并后跑她的交易,夹击Alice的交易,给她一个更差的价格,同时避开她的MEV税。购买NFT也可能发生类似的问题。
需要注意的是,这种攻击对Bob来说是有风险的,因为他无法保证买入代币和卖给Alice之间的原子性。一个天真的Bob可能会落入“夹击撕裂”陷阱,即Alice发布一个购买自己持有的无价值代币的意图,导致Bob为了夹击她的交易而购买它,但在Bob完成夹击之前,Alice撤销了她的意图。 应用程序也可以通过限制与其共享意图的搜索者范围并监控其行为来缓解这种情况,就像许多现有的订单流拍卖所做的那样。
此外,还可以将MEV税与隐私感知的构建器功能结合起来,如在Flashbots对SUAVE的设计中设想的那样。
最后,在Alice认为共享意图的成本超过竞争性搜索带来的收益时,她可以自己构建交易并直接提交到区块中。如上所述,理想的竞争优先排序实现应能够提供区块提议者的预交易隐私。
优先gas拍卖。Flash Boys 2.0论文研究了去中心化区块链中优先排序的动态,并创造了“矿工可提取价值”这一术语。该论文指出,以太坊矿工(在该网络使用工作量证明时)已经在按优先顺序排列交易,套利者依赖这种行为参与“优先gas拍卖”,在这些拍卖中,他们为优先被包含在区块中而竞价,这导致了去中心化交易所套利的大部分MEV流向矿工。
先到先得。通过交易排序规则进行MEV缓解的一些尝试,如Themis 或 Arbitrum One’s current sequencer,7当前的排序器,专注于执行另一种排序规则,即先到先得(有时称为“公平排序”),其中区块提议者必须按他们看到交易的顺序排列交易。
优先排序则采取了不同的方法——将给定时间段内到达的交易视为平等,并按其声明的优先级进行排序。
先到先得在实际网络环境中难以执行或定义,特别是在有多个验证者的情况下。即使在单一受信排序器的情况下,也可能导致浪费的延迟竞赛和垃圾交易。最后,MEV税可能能够消除先到先得排序无法消除的某些类型的MEV,例如由于资产价格不连续“跳跃”而产生的套利利润。优先排序相比先到先得排序的潜在优势在某种程度上类似于Budish, Cramton, Shim (2015)讨论的离散时间交易所相对于连续时间交易所的优势。
同时,尽管优先排序默认似乎会将价值泄漏给MEV,但这篇文章展示了如何设计应用程序来重新捕获这些价值。
费用分享。Blast是以太坊的一个L2,它在交易中与智能合约共享部分优先费用和基本费用。 MEV税允许类似的操作(至少对于优先费用),但可以在任何使用竞争优先排序的链上的应用层实现,无需特别的费用共享支持。它们还允许应用程序将其自己的税定义为优先费用的自定义函数,提供更多灵活性,并可能导致MEV感知应用程序的更大组合性。
无需信任的解决方案。这篇文章的重点是激励平台使用竞争优先排序的动机——以及如何利用这些平台——而不是讨论如何无需信任地执行它。
关于竞争优先排序所需的其他属性,之前已经有大量讨论。例如,在Fox, Pai, Resnick (2023)中,作者讨论了在缺乏抗审查性的情况下链上拍卖的漏洞,并描述了使用多个并发提议者的抗审查性拍卖设计。然而,他们没有建议具体的交易排序方式。
还有其他关于构建信任最小化区块构建机制的研究,包括Flashbots的SUAVE, Sorella的Angstrom、无领导拍卖、Espresso和Offchain Labs的@espressosys/espresso-systems-and-offchain-labs-release-r-d-roadmap-for-decentralized-timeboost-5d0007dff66d">去中心化Timeboost,以及Péter Szilági提出的强制公共交易包含。
我们希望这篇文章能鼓励L2链考虑使用优先排序(在OP Stack中默认支持),并激励应用程序在支持的地方尝试使用MEV税。 我们也希望它能激发对L1和L2上信任最小化竞争优先排序协议的进一步研究。如果你对这个问题感兴趣,并且在6月6日星期四之前看到这篇文章,你仍然可以申请TLDR Fellowship,与Dan一起研究抗MEV的L2排序器。或者,随时可以将你的想法发送给dan@paradigm.xyz和dave@paradigm.xyz!
本文转载自[paradigm],著作权归属原作者 [Dan Robinson, Dave White],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
文章其他语言版本由Gate Learn团队翻译, 除非另有说明,否则禁止复制、传播或抄袭经翻译文章。
在这篇文章中,我们介绍了MEV税,这是一种可以让任意应用捕获其自身MEV的机制。
这种机制可以在当前的OP Stack L2s上使用,例如OP Mainnet、Base和Blast,因为这些链上的区块提议者遵循一套我们称为竞争优先排序的规则。
在这些链上实施MEV税时,智能合约会根据交易的优先费用收取一定的费用。我们证明了,如果一个应用对搜索者每1美元的优先费用收取99美元的MEV税,它就能捕获该交易99%的竞争MEV。
MEV税是一种简单的技术,提供了广阔的设计空间。可以将其视为允许链上任何应用运行自己的定制MEV拍卖,无需任何自己的链外基础设施,只需接入区块提议者运行的共享拍卖。
我们展示了MEV税如何解决MEV研究中的三个主要问题:
但也存在一个问题。MEV税仅在区块提议者严格遵守竞争优先排序规则时有效,这些规则包括按优先费用排序交易,不进行审查、窥视或延迟任何交易。如果区块提议者违反这些规则,他们可以逃避MEV税并捕获价值。因此,当前MEV税依赖于信任L2排序器,在以太坊L1上可能完全无效,因为以太坊L1的区块构建由竞争性构建者拍卖主导,最大化了提议者的收入。
尽管如此,MEV税的强大和灵活性表明,优先排序可能是现今平台的正确选择。而竞争优先排序的相对简单性表明,有可能以去中心化的方式实施,而无需信任单一排序器。我们希望这篇文章能激发更多关于这个问题的研究。
当用户在以太坊L1或L2上发送交易时,他们会指定一个优先费用,这个费用支付给区块提议者。1
这个费用可以理解为priorityFeePerGas,即乘以交易中使用的gas数量来得到的builderPriorityFee,总共支付的ETH金额。2
以太坊协议并未规定区块内的交易必须按priorityFeePerGas从高到低排序,但这种排序方式非常流行。例如, OP Stack链的排序器以及geth和reth都采用这种默认算法。优先排序不仅能让交易者有效表达交易的紧迫性,还能自然地将某些MEV收益引导给区块提议者。
这是因为优先排序将对MEV的竞争转化为优先gas拍卖。当有机会通过链上互动获利时,比如在AMM与中心化交易所之间套利,搜索者会竞争优先获得这种机会。如果链上采用优先排序来决定交易的包含和排序,搜索者会通过设置高优先费用来竞争。
在竞争激烈、无风险利润被压到零的情况下,最终获胜的搜索者应支付全部的MEV作为优先费用。因此,如果从与合约互动中能获利100 ETH,首个获取此机会的交易将设置100 ETH的优先费用。(我们在限制部分讨论了一些注意事项)。
假设一个智能合约希望捕获与其交互的交易中的MEV。关于智能合约如何捕获其自身的MEV,有大量的研究文献。
但实际上,我们不必了解应用的具体细节。如果知道区块是通过竞争优先排序构建的,那么优先费用就成为衡量交易中MEV数量的通用信号。
我们建议智能合约可以根据交易的优先费用收取其自身的费用,作为一个递增函数。例如,合约可能要求调用它的用户支付applicationPriorityFee = 99 * proposerPriorityFee的ETH到合约中。 4
这个新费用由发送交易的搜索者支付,因此会影响搜索者的行为。如果一个机会中有100 MEV,获胜的交易现在只会设置1 ETH的优先费用,因为这样总支付100 ETH(1 ETH给区块提议者,99 ETH给智能合约)。任何更高的优先费用会使交易无利可图;任何更低的优先费用会导致输给设置了更高费用的竞争者。这意味着智能合约捕获了交易中99%的MEV。
我们称这种由智能合约收取的额外费用为MEV税。MEV税让应用程序能利用优先排序为自身利益服务,使其能够为用户重新捕获MEV,而不让MEV流向区块提议者。
如果这笔费用随着priorityFeePerGas的增加而迅速上升,那么只有极少量的MEV会流向提议者。由于priorityFeePerGas以wei(ETH的十亿分之一)为单位,我们有很高的精度可以操作。例如,只要MEV税足够敏感,以至于50,000的priorityFeePerGas会导致过高的税额,那么支付给提议者的总金额将少于0.01美元。5
然而,需要注意的是,如在限制部分所讨论的,MEV税仅在区块提议者遵守某些规则——我们称之为“竞争优先排序”——而不是偏离这些规则以最大化自身收入的情况下有效。如何在无需信任的情况下强制执行这些规则仍是一个未解决的问题。
我们在这里概述了在保证使用竞争优先排序的链上,如何通过MEV税来解决三个重要的MEV问题:让DEX界面提高交易执行效率,帮助AMM减少流动性提供者的套利损失,并通过出售用户的后跑权利来减少钱包中的MEV泄漏。
在基于意图的DEX路由协议中,如UniswapX和1inch Fusion,用户(Alice)会签署一个交换意图,搜索者竞争以最优价格为Alice完成这个意图。
当前版本的UniswapX使用两种机制来实现这种竞争:荷兰拍卖,Alice的限价会随时间逐渐变化,直到有搜索者填充订单;以及初始的链下报价请求(RFQ)拍卖,用于设定荷兰拍卖的起始价格。 在一个保证竞争优先排序的平台上,UniswapX可以用单一机制来替代这些:MEV税。实现方法是用户签署一个可以立即被任何人填充的订单,但其执行价格根据交易的优先级来设定。
例如,如果Alice有一个UniswapX订单要卖出1 ETH,她可以将订单的执行价格设定为最低价格加上($0.01 * priorityFeePerGas)。最低价格可以是她预期的一个显著低于当前市场价格的固定值。
搜索者会提交交易来竞争填充Alice的订单。哪个交易的优先费用最高且不会回滚,就会填充这个订单,这可以保证交换者得到搜索者能找到的最佳价格。(一些例外情况在限制部分讨论。)
如果Alice的最低价格是$3000,而当前ETH价格是$3500,那么获胜交易的priorityFeePerGas大约会是50,000。(注意,在一个耗费200,000 gas的交易中,这将导致支付给区块提议者的费用仅约为10亿wei——约$0.000035。)
这相比UniswapX现有机制有一些潜在的好处。 使用MEV税的订单比使用荷兰拍卖的订单完成得更快且价格更好。正如本文讨论的那样,由于区块之间的价格波动,链上荷兰拍卖会漏出一些价值给MEV,并且可能需要多个区块才能完成。相比之下,使用MEV税的订单通常可以在下一个区块内完成,同时捕获大部分MEV。
与链下的RFQ不同,使用MEV税填充订单的拍卖会在链上与交易执行同步进行。这意味着获胜的竞价者可以确保只有在他们的链上交易成功时才需要填充订单。这使得链上流动性(如AMM)更容易与链下流动性竞争,这意味着UniswapX可以作为一个更有效的多池系统(如Uniswap v4)的路由器。
通常,AMM会因套利者在区块开始时利用过时价格进行交易而损失价值,这在损失与再平衡的研究中有所讨论。我们可以通过MEV税让AMM捕获这些MEV。为了简单起见,我们将讨论在没有集中流动性的AMM上如何实现这一点。(如果你对集中流动性情况下的解决方案感兴趣,Sorella将很快发布一个解决方案。)
AMM可以通过根据交易的优先费用收取额外费用来捕获MEV,从而拍卖区块内优先交易的权利。有多种方法可以计算和表示这笔费用。我们将讨论一种相对中立的方法——用池流动性的单位sqrt(xy)来表示。获胜的交易将是增加池流动性最多的交易。
在一个区块中执行池的第一笔交易时,池可以强制执行以下条件(a为某个常数),而不是x_end y_end > x_start y_start:
x_end y_end > (sqrt(x_start y_start) + a*priorityFeePerGas)^2
这个公式将激励套利交易者以真实价格进行交易,在此交易之后,池的中间价格应为真实价格。6
在第一笔交易之后,交易可以像在Uniswap v2上那样进行,使用固定的交换费用。那些不想支付额外MEV税而进行交易的用户可以设置较低的优先费用。
在AMM上实施MEV税的方法有很多,并且会产生不同的效果。例如,MEV税可以用交换的输入或输出代币来表示,可以影响池应用的交换费率,或者可以决定用户交易的最低价格。我们认为这是一个值得探索的有趣设计空间。
上述描述展示了某些应用如何设计以避免MEV泄漏。然而,如果一个钱包希望帮助用户捕获他们在与任何应用进行任意交易时产生的MEV,而不仅仅是包含MEV税的应用呢?
例如,当Alice在AMM上进行大额交易时,她有时会为“后跑者”创造一个套利机会以恢复价格。这通常会泄漏给MEV,而不是Alice。
MEV-Share 和MEVBlocker 是两种允许用户捕获其交易中MEV的协议,但它们依赖于复杂的链下拍卖系统。订单流拍卖设计空间描述了一些其他解决方案。
将MEV税与基于意图的智能合约钱包结合,可以构建一个替代系统来捕获Alice的后跑MEV。假设Alice不创建在AMM上的交易,而是签署一个意图,任何人都可以提交给她的智能合约钱包来执行该操作。Alice的智能合约钱包向提交该交易的人收取MEV税,并支付给Alice。
提交Alice意图的搜索者将有权在同一交易中原子性地进行后跑。因此,如果搜索竞争激烈,所有来自后跑Alice的利润都应通过她的MEV税流向Alice。
需要注意的是,该系统可能无法完全保护用户免受抢先交易的攻击,因为抢先交易可能可以避免支付MEV税给用户。这个问题(及其可能的缓解措施)将在限制部分详细讨论。不过,这至少比没有任何缓解措施的公共内存池系统有所改进。
除了这些例子外,MEV税的其他潜在应用还包括几乎任何当前使用链下或荷兰拍卖的场景,例如:
上述解决方案旨在捕获单个应用程序的MEV,但有时搜索者可能通过在同一交易中与多个应用程序交互来捕获更多价值。
如果这些应用程序中只有一个使用MEV税,那么所有交易中的MEV都应该流向有MEV税的应用程序,无论MEV税的高低。
但是,如果搜索者的交易与两个使用MEV税的应用程序交互怎么办?例如,有一些MEV只能通过填充一个带MEV税的UniswapX订单和一个带MEV税的AMM来捕获。
在这种情况下,每个应用程序捕获的额外MEV量由这些应用程序设置MEV税的方式决定。如果应用程序app_i收取的MEV税由函数tax_i(priority)表示,那么获胜交易的优先级可以通过解以下方程确定:
tax_1(priorityPerGas) +tax_2(priorityPerGas) = 总 MEV
(从技术上讲,我们可以添加第三项 优先级PerGas * 使用的气体 考虑到支付给区块提议者的优先费,但我们将忽略这一点,因为如附录 A 中所讨论的,在正常情况下它可能可以忽略不计。)
在优先PerGas线性MEV税的简单情况下(即tax_1(priorityPerGas) = a_1 * priorityPerGas),你可以解出每个应用程序获得的MEV份额:
a_1 priorityPerGas + a_2 priorityPerGas = MEV
priorityPerGas = MEV/(a_1 + a_2)
tax_1(priorityPerGas) = (a_1/(a_1+a_2))*MEV
tax_2(priorityPerGas) = (a_2/(a_1+a_2))*MEV
当设置自己的MEV税时,应用程序需要权衡利弊——较高的税率可以让它在跨应用MEV发生时捕获更多份额,但也可能意味着它会错失一些跨应用MEV,特别是在有其他竞争性提取方式的情况下。例如,如果一个AMM对每笔交易都收取MEV税,那么一个有MEV税的UniswapX订单可能更可能被其他AMM或链下填充者填充。
在许多情况下,可能会出现一种平衡状态,其中两个应用程序设计其MEV税,以最大化各自的利益。例如,一个有MEV税的AMM可能希望在区块开始时从单一知情交易者那里捕获价值,但随后希望以低固定费用为其他交易者和应用程序(包括那些使用MEV税的应用程序)提供流动性。
在这种情况下,AMM可能会设置一个相对较低的MEV税(例如,$0.00001 priorityFeePerGas),以便套利交易(如果有的话)在区块早期发生,然后在区块中的后续交易中不再收取MEV税。像UniswapX这样的应用程序希望与AMM交互,可以设置一个更高的MEV税(例如,$0.01 priorityFeePerGas),以确保他们的交易在池已经被套利后被包括在内。通过这种相对税率,即使AMM上只有1美元的MEV,而UniswapX订单中有50,000美元的MEV,AMM也会首先被套利。 我们认为这是一个值得未来研究的广泛设计空间。
MEV税存在一些复杂性和缺点。我们认为这些每一个都是未来研究的有趣领域。
MEV税对垄断性的区块提议者来说不具备激励相容性。它们仅在存在对交易包含的公平竞争时有效,而这只有在区块提议者遵循我们称之为“竞争优先排序”的规则时才可能,而不是一味追求最大化他们自己的收入。我们非正式且不完全地建议,这些规则应包括:
如果其中一个或多个属性被违反,可能会削弱MEV税的有效性。违反抗审查性的区块提议者可以通过排除竞争交易并提交一个零优先级交易来避免大部分MEV税,从而自己获得机会。违反预交易隐私的区块提议者可能会窃取其他交易中的MEV或窥探它们的优先费用,以准确知道需要设置多高的费用,而能够在其他人之后提交交易的提议者将有一个自由的“最后查看”机会,以决定是否出价超过他人,从而抓住机会。这两种情况都可能导致不利选择问题,最终阻碍竞争。 不幸的是,虽然第一个属性在协议层很容易强制执行,但在无需信任的情况下强制执行其他属性是一个未解决的问题。
在协议层没有强制执行的情况下,需要信任一个承诺遵守这些规则的单一排序器,而如果提议者将区块构建外包给一个竞争性收入最大化的拍卖(如以太坊L1的MEV-Boost),区块可能不会遵守这些规则。
这些问题可以通过一个承诺使用竞争优先排序进行区块构建的单一可信排序器来“解决”。它们也可能通过使用结合共识、加密和/或可信执行环境的去中心化机制来解决,例如Sorella的Angstrom、Flashbots的SUAVE、无领导者拍卖或Multiplicity。
当区块完全填满时,MEV税的正常操作会有一个例外情况。在这种情况下,区块提议者可能需要舍弃低优先级的交易,而不是将它们排在区块的后面。由于与MEV税相关的交易往往具有非常低的优先费用,这些交易可能会被那些不使用MEV税或MEV税非常低的应用程序交易挤出。然而,在使用类似EIP-1559机制设定基本费用的链上,区块完全填满的情况应该相对少见。此外,考虑到区块填满时需要延迟某些交易,延迟那些通过设置较高MEV税来表达较低紧急性的交易可能是一个合理的结果。
MEV税依赖于单区块拍卖,其中每一个“出价”都是一笔交易。这个拍卖方式的一个缺点是,失败的出价通常会导致回滚交易被记录在链上,支付一些基本费用并造成链上拥堵。
如果排序器能够完全排除失败的交易,这将减轻这一问题,尽管即使是集中式排序器也很难实现这一点。(这也不完全符合上述的抗审查性原则,尽管可以对定义进行调整。)一个更复杂的排序器可能通过允许交易指定它们参与的有争议拍卖来优化这一过程,从而使排序器能够跳过它知道会失败的后续交易。
MEV税只有在搜索者之间存在竞争时才有效,这意味着机会需要被广泛知晓。对于像AMM这样的应用程序来说,机会在链上是可见的,这种情况应会自然发生。但对于基于意图的路由或后跑拍卖等应用程序来说,这意味着应用程序可能需要与搜索者分享用户的意图。
在某些情况下,在用户意图得到满足之前广播用户意图所带来的临时隐私丧失可能会以一种无法通过MEV税回收的方式泄漏价值。
例如,假设Alice想使用上述后跑拍卖协议购买一种低流动性的代币。她发布一个签署的意图,让她的智能合约钱包在AMM上购买该代币,并设置一定的滑点容忍度。搜索者可能会争相将该代币的价格推高到她的滑点容忍度,但不填充她的订单。获胜者Bob随后可以在低优先级交易中非竞争性地填充Alice的意图,通过包括并后跑她的交易,夹击Alice的交易,给她一个更差的价格,同时避开她的MEV税。购买NFT也可能发生类似的问题。
需要注意的是,这种攻击对Bob来说是有风险的,因为他无法保证买入代币和卖给Alice之间的原子性。一个天真的Bob可能会落入“夹击撕裂”陷阱,即Alice发布一个购买自己持有的无价值代币的意图,导致Bob为了夹击她的交易而购买它,但在Bob完成夹击之前,Alice撤销了她的意图。 应用程序也可以通过限制与其共享意图的搜索者范围并监控其行为来缓解这种情况,就像许多现有的订单流拍卖所做的那样。
此外,还可以将MEV税与隐私感知的构建器功能结合起来,如在Flashbots对SUAVE的设计中设想的那样。
最后,在Alice认为共享意图的成本超过竞争性搜索带来的收益时,她可以自己构建交易并直接提交到区块中。如上所述,理想的竞争优先排序实现应能够提供区块提议者的预交易隐私。
优先gas拍卖。Flash Boys 2.0论文研究了去中心化区块链中优先排序的动态,并创造了“矿工可提取价值”这一术语。该论文指出,以太坊矿工(在该网络使用工作量证明时)已经在按优先顺序排列交易,套利者依赖这种行为参与“优先gas拍卖”,在这些拍卖中,他们为优先被包含在区块中而竞价,这导致了去中心化交易所套利的大部分MEV流向矿工。
先到先得。通过交易排序规则进行MEV缓解的一些尝试,如Themis 或 Arbitrum One’s current sequencer,7当前的排序器,专注于执行另一种排序规则,即先到先得(有时称为“公平排序”),其中区块提议者必须按他们看到交易的顺序排列交易。
优先排序则采取了不同的方法——将给定时间段内到达的交易视为平等,并按其声明的优先级进行排序。
先到先得在实际网络环境中难以执行或定义,特别是在有多个验证者的情况下。即使在单一受信排序器的情况下,也可能导致浪费的延迟竞赛和垃圾交易。最后,MEV税可能能够消除先到先得排序无法消除的某些类型的MEV,例如由于资产价格不连续“跳跃”而产生的套利利润。优先排序相比先到先得排序的潜在优势在某种程度上类似于Budish, Cramton, Shim (2015)讨论的离散时间交易所相对于连续时间交易所的优势。
同时,尽管优先排序默认似乎会将价值泄漏给MEV,但这篇文章展示了如何设计应用程序来重新捕获这些价值。
费用分享。Blast是以太坊的一个L2,它在交易中与智能合约共享部分优先费用和基本费用。 MEV税允许类似的操作(至少对于优先费用),但可以在任何使用竞争优先排序的链上的应用层实现,无需特别的费用共享支持。它们还允许应用程序将其自己的税定义为优先费用的自定义函数,提供更多灵活性,并可能导致MEV感知应用程序的更大组合性。
无需信任的解决方案。这篇文章的重点是激励平台使用竞争优先排序的动机——以及如何利用这些平台——而不是讨论如何无需信任地执行它。
关于竞争优先排序所需的其他属性,之前已经有大量讨论。例如,在Fox, Pai, Resnick (2023)中,作者讨论了在缺乏抗审查性的情况下链上拍卖的漏洞,并描述了使用多个并发提议者的抗审查性拍卖设计。然而,他们没有建议具体的交易排序方式。
还有其他关于构建信任最小化区块构建机制的研究,包括Flashbots的SUAVE, Sorella的Angstrom、无领导拍卖、Espresso和Offchain Labs的@espressosys/espresso-systems-and-offchain-labs-release-r-d-roadmap-for-decentralized-timeboost-5d0007dff66d">去中心化Timeboost,以及Péter Szilági提出的强制公共交易包含。
我们希望这篇文章能鼓励L2链考虑使用优先排序(在OP Stack中默认支持),并激励应用程序在支持的地方尝试使用MEV税。 我们也希望它能激发对L1和L2上信任最小化竞争优先排序协议的进一步研究。如果你对这个问题感兴趣,并且在6月6日星期四之前看到这篇文章,你仍然可以申请TLDR Fellowship,与Dan一起研究抗MEV的L2排序器。或者,随时可以将你的想法发送给dan@paradigm.xyz和dave@paradigm.xyz!
本文转载自[paradigm],著作权归属原作者 [Dan Robinson, Dave White],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
文章其他语言版本由Gate Learn团队翻译, 除非另有说明,否则禁止复制、传播或抄袭经翻译文章。