来源:DODO Research
*特别感谢 EigenPhi 团队提供的高质量 MEV 数据,同时感谢 EigenPhi 研究员 Yixin 和 Sophie 参与文章讨论,这些数据和建议对我们的分析至关重要。
黑森林中总藏匿着诱人的财富。MEV(Maximal Extractable Value,最大可提取价值)以先到先得的方式从用户手里提取价值。从优先天然气拍卖(PGA)引起的区块拥塞问题,到验证者和区块构建者之间可能存在漏洞,引发了对以太坊生态系统内公共问题的担忧。
AMM 是 MEV 提取过程中最直接的一环,由于内存池无需许可的可见性,DEX 用户会不可避免地面临遭受 MEV 机器人攻击的风险。同时,套利机器人在提高 AMM、市场的价格发现效率方面发挥着至关重要的作用。
在这份报告中,我们从 DEX 整体常见的 MEV 的分类及其市场规模出发,对 DEX MEV 发展阶段建立大体的认识。放大镜拉近,从区块浏览器对 MEV 案例剖析。在对比和理解不同 DEX 中 MEV 的特点中,探索 MEV 的解决方案与发展方向。
DEX MEV 的主要分为三种,三明治攻击(Sandwich)、套利(Arbitrage)和清算(Liquidation)。根据 EigenPhi 的数据,过去 30 天,以太坊上套利 MEV 发生 $1.64M,三明治攻击 MEV 发生 $1.74M,清算 MEV 发生 $21.01K。可见,套利和三明治是 DEX MEV 利润来源的主要形式,占 99.38%,也是本报告讨论的重点。
清算(Liquidation)三明治攻击(Sandwich)套利(Arbitrage)在过去 30 天的表现,来源:EigenPhi
展开之前,简单介绍一下三种 MEV 类型攻击的原理:
三明治攻击:攻击者通过监视未确认的交易,通过贿赂矿工,在目标交易之前和之后插入自己的交易,从而影响目标交易的价格并从中获利。
套利:在 DEX 环境中,套利通常涉及利用不同交易平台之间的价格差异。由于 DEX 的去中心化特性,价格更新可能会滞后。套利者可以通过在一个平台上购买低价资产,并在另一个平台上以高价出售同样的资产来实现利润。
清算:当借款人的抵押品价值跌至预定阈值以下时,会触发清算事件。此时,协议允许任何人对抵押品进行清算,立即偿还债权人。当清算线被触发时,清算机器人会在其后插入一笔清算订单获得费用。
从数据可以看出,清算 MEV 不是经常发生的,大额的清算攻击通常发生在极端行情,从清算 MEV 的攻击原理出发,这点并不难理解。比如,由于 BTC 在 10 月 23 日和 24 日出现 10 个点的拉升,清算 MEV 的交易量在当日高达 $561K,明显高于其他时间。
清算 MEV 的规模和数量,来源:EigenPhi
三明治攻击绝大部分都发生在头部 DEX,Uniswap 中,占据约 3/4 的市场份额。紧随其后的来自聚合器。1inch v5: Aggregation 和 0x: Exchange 平分秋色,共占 MEV 总量的 10%。Metamask: Swap Router 占 4.8%。
三明治攻击在各个路由中分布,来源:EigenPhi
82.18% 的单笔获利金额在 $0-$10 之间,6.84% 在单笔获利 $10-$100,9.28% 单笔亏损 $10-$100。
MEV 利润分布,来源:EigenPhi
为了理解 MEV 的发生过程,弄清楚 MEV 机器人的收益计算,从 EigenPhi 的网站上,我们选择了近期发生的一笔 三明治攻击作为例子,详解 MEV 攻击的全过程。这是一笔发生在 2023-10-23 21:00:35 的三明治攻击。攻击者花费了 $634.93,收入 $6,167.48,获利 $5,532.55。
MEV 攻击解读示例,来源:EigenPhi
整个三明治攻击过程分为三个步骤:Front-run,Victim,Back-run。这三笔事务紧密排列,依次打包在区块 18413129 中。为了更好阐述每个步骤,我们使用了 Etherscan 中的 Tag 功能对地址进行了标记,受害者 txn 的 from 地址标记为“受害者”,front-run 和 back-run 中的交互地址标记为“攻击者”,其余标签来自网络。
Front-run 中,攻击者首先向攻击者 2 转账 304.03 个 WETH,通过 Lido Curve 池子中以极低的滑点换出 304.027 个 stETH。接着将 stETH 在 Uniswap V2: stETH 2 池子中换成 259.59 个 WETH,引发流动性的偏移。(Lido 池子中有 5.6 万个 ETH 与 stETH)
Front-run Transaction,来源:Etherscan
受害者在随后的一笔事务中,通过同一个的 Uniswap v2 池子,将 20.37 个 stETH 换为 14.81 个 WETH。由于攻击者在 Front-run 中提前用大量 stETH 交换为 WETH,在 AMM 曲线中造成偏移,进而拉高受害者 WETH/stETH 的均价。受害者遭遇 MEV 攻击。
Victim Transaction,来源:Etherscan
BackRun:随后,攻击者 2 通过该池子将 259.59 的 WETH 换回 stETH,得到 307.76 个 stETH(注意:较先前多出 3.76 个)。最后攻击者 2 将 stETH 利用 Lido Curve 池子以极低的滑点换出 WETH,并转回攻击者。完成获利。
Back-run Transaction,来源:Etherscan
成本为两笔 Gas 加上 0.3667 ETH 给矿工作为小费,收入为 3.76 个 WETH,获利 $5,532.55。从 Curve 看到受害者的 20.3691 个 stETH 在 UI 上的报价为 20.359 WETH。而受害者仅收到 14.81 ETH,这意味着受害者遭受了高达 37.5% 的滑点。
Curve 中 20.3691 stETH 的报价,来源:Curve UI
注:这里的攻击者是指 MEV Bot,真正的获利方是与该 Bot 的交互的地址,即 From 中的 0xFac…da00。
Eigentx 用 Token Flow 的方式将上述过程展示了出来,在理解之后方便复盘和可视化,更加直观。下图依次是 Front-run、 Victim、Back-run 的 Token Flow,数字表示发生的顺序,供读者梳理回忆。
示例 MEV 攻击的 Token Flow,来源:Eigentx
从这笔交易中,我们可以总结出 MEV 获利的必要条件:
首先需要大额 Swap 提前引发 AMM 曲线中流动性的偏移
对交易排序,将受害者 Swap 夹在 Frontrun 与 Back run 中间
同时保证受害者的 Swap 结果不超出滑点限制(否则交易失败)
在第一步中,攻击者通常利用闪电贷 (Flash Loan) 获得大额的初始资金。闪电贷是区块链中独有的贷款方式,只要能在同一事务中完成还款,就能在 0 本金的情况下贷出大量资金。第二步需要攻击者具有捆绑事务的能力,并在短时间内广播给全球的节点,同时用 ETH 对矿工贿赂,优先将此交易打包在区块中。MEV 攻击者同时需要高精度的计算,保证受害者的 Swap 滑点不会超过约定。也要合理计算贿赂对矿工贿赂的金额,保证利润最大化的同时,避免被其他 MEV 攻击者利用 Front run,造成亏损。
这里对 ETH 链上交易量排名靠前的 DEX 进行分析:DODO、Uniswap、Curve、Pancakeswap。TVL、交易量、费率、滑点是重要的主要指标。结合 EigenPhi 数据,我们首先从 Uniswap,市场份额长期占据 50% 的 DEX,观察下 DEX MEV 的“普世规律”。Uniswap 丰富的交易量为 MEV 的观察带来了海量样本,同时 Uniswap 也伴随众多 Forks,适合作为基准参考。继而,在与其他 DEX MEV 的特点的比较中,寻找差异的原因,对 DEX MEV 发生进一步认识。
1.Uniswap - Typical MEV Bots' Activities
Uniswap 作为 ETH 链上市场份额接近一半的头部 DEX,具有最多和最大的 MEV 交易笔数和交易量,我们可以从 Uniswap 上 MEV 的表现作为基准,得出一些普适性结论:
套利机器人、三明治机器人与 LP 没有利益冲突;
套利和三明治攻击的发生与市场价格波动的强度有关;
交易量大的矿池更容易被三明治机器人从中提取价值;
涉及 2 个场所的空间套利是最常见的模式,最多涉及 100 多个场所;
盈利能力和三明治机器人的活跃程度呈现正相关。
1.1 套利机器人、三明治机器人与 LP 没有利益冲突
我们首先观察一下 MEV 机器人与 LP 的收入规模。EigenPhi 在《MEV's Impact on Uniswap》报告中,分别统计了 2022 年 1 月 1 日至 10 月 31 日期间,V3 LP 的收入与套利、三明治、JIT 三种机器人的收入,如下图所示。从收入规模来看,三种 MEV 机器人的收入超过了 LP 收入的 25%,金额达到 54000 万美元。这似乎在与 LP 争夺市场,试图从交易者的手中夺取本该属于 LP 的利润。
套利、JIT和三明治攻击的利润以及 LP 交易手续费的收入。来源:EigenPhi
然而,根据 Messari 在 Dune 中呈现的相关系数来看,套利和三明治机器人与 LP 的收入没有负相关关系,这意味着套利和三明治 MEV 的发生与 LP 没有利益冲突。这可能是因为三明治机器人的攻击并非只涉及用户交易的币对的两者,而是会路由到头部流动性池对代币兑换,如将稳定币 USDC、DAI 兑换成币对中需要的 ETH。一定程度上,套利和三明治攻击会在用户的普通交易之外带来额外的交易量,这不会对 LP 的收入产生负面影响,他们的收入更有可能随着整个市场而波动。
套利、JIT和三明治攻击的利润与 LP 交易手续费收入的相关系数矩阵,来源: Dune, @messari
1.2 套利和三明治攻击的发生与市场价格波动的强度有关
为了探究套利和三明治机器人收入的影响因素,我们探究了其收入市场价格波动的关系。EigenPhi 报告中的数据展示了 ETH 价格变化与套利和三明治活动的数量关系,如下图所示。我们可以明显观察到随着 ETH 价格波动变大,套利和三明治共计的次数也随之增加,呈现明显的正相关关系。
ETH 的 7 天价格变化百分比(波动强度)与套利和三明治活动的数量关系,来源:EigenPhi
这种现象的发生有几种可能的原因:
市场价格的波动会加剧价格不一致性:ETH 价格的显著波动可能会在不同交易所之间产生短暂的价格不一致。套利机器人利用这些不一致来从中获利,因此在价格波动较大时套利活动增加。
大的价格波动可能对应市场低的流动性:价格波动通常与市场流动性有关。在流动性较低的市场中,大订单会对市场价格产生较大影响,从而为套利和三明治交易提供了机会。
价格波动会激发交易的活跃程度: ETH价格波动加剧时,交易者对于潜在利润的追求会增加,从而增加了市场活动,这为三明治交易创造了条件。
1.3 交易量大的矿池更容易被三明治机器人从中提取价值
为了观察哪些流动性池更有可能参与 MEV 活动,EigenPhi 在报告中合并了 Uniswap V3 矿池的元数据和按矿池地址分组的 MEV 活动参数。结果表明:在交易量排名前十的流动性池中,三明治机器人能够从中获得超过 80% 的利润。然而,这些流动性池中只发生了 20% 的三明治交易活动。
这意味着对于三明治机器人来说,具有大交易量的流动性池更容易从中提取价值。因为交易量大的流动性池中涉及的资金和交易更多,深度更佳,为三明治攻击中有限的可利用的滑点带来了丰厚的利润空间。不过,需要提醒的是,这这并不意味着交易量较小的流动性池就不容易受到三明治攻击。
1.4 其他一些有趣的观测结论
从 EigenPhi 报告呈现的数据中,我们还可以得出其他有趣的结论帮助理解 DEX MEV 的发生。比如,从排名前 10 的套利的分布组合中可以看出,涉及一个 Uniswap V3 池和另一个场所的空间套利是最常见的模式。随后的两种常见模式是涉及一个或两个 Uniswap V3 池的三角套利。有些单笔套利交易也可能涉及 100 多个场所。
套利模式的不同场所数目的分布,来源:EigenPhi
同时,三明治攻击的总利润和总活动数之间的关系表明,盈利能力和活跃程度呈现正相关,大多数盈利机器人有能力成功提交交易 1000 次以上。(EigenPhi 的报告中笔误为 ‘100’)。这意味着越’勤劳‘的三明治机器人收入越多。
三明治 Bot 攻击频率与利润的点图,来源:EigenPhi
2.DODO - Where Does High Volume Come From?
DODO 专注于稳定币交易,主动做市的策略为稳定币池带来了极佳的深度。在市值仅为 4200 万美元,但它在 DEX 交易量中一直位居前三。DODO 上 MEV 表现为两个特点:
MEV 为 DODO 贡献了高额的交易量,约占总交易量的 60%;
DODO 上的 MEV 大部分来自 1inch 路由。
2.1 MEV 为 DODO 贡献了高额的交易量,约占总交易量的 60%
与之相比,Uniswap 的市值为 410 亿美元。也就是说,DODO 在市值为 Uniswap 1% 的情况下,实现了 Uniswap 8.6% 的交易量。究其原因,是利用 DODO 流动性的 MEV 作祟。
头部 DEX 过去一年与一周的交易量分布,来源:EigenPhi
Dune 的数据显示,DODO 在 ETH 链的主要交易对是稳定币。从普适性结论我们能了解到,交易量大的矿池更容易被三明治机器人从中提取价值。这与 DODO 的数据一致,稳定币池成了 DODO 中 MEV 攻击活动发生的主要场所。根据 EigenPhi 在 《DODO: Where Does High Volume Come From?》报告中的研究:DODO 上受到三明治攻击的交易总数达到 1,322 笔,USDC-USDT 交易占 55.99 %,DAI-USDT 交易占 44.01%。
三明治攻击中影响的交易对份额分布饼图,来源:EigenPhi
从这两个稳定币对的交易量分布来看,大约 60% 的交易量来自三明治交易。因为三明治攻击需要大额的交易引发流动性偏移,所以尽管 Victim Volume 只占 2% 左右的份额,但为此所做出努力的 Front-run 和 Back-run 为 USDC-USDT 与 DAI-USDT 贡献了 60% 的交易量。
在 USDC-USDT 与 DAI-USDT 交易对中交易量的分布,来源:EigenPhi
2.2 DODO 上的 MEV 大部分来自 1inch 路由
DODO 的前端交易通常有滑点的保护,超过滑点的交易无法成交,稳定币对的滑点默认为 0.01%。可为什么还会发生如此高额的 MEV 交易量呢?
根据 Eigenfi 的数据,可以发现:受害 txn 数量大于 20 的地址的交易中,一半以上与 1inch 聚合器交互路由交易,如下图所示。1inch 作为聚合器,并不直接提供流动性为用户成交,而是把订单路由到其他 DEX 中的流动性解决。其 Fusion 模式提供了三种选项:
Fast 模式:适于希望订单立即执行的用户,意味着较差的价格;
Fair 模式:用户短暂等待以换取更具吸引力的价格;
Auction 模式:用户将订单拍卖,为最优的价格等待最多十分钟。
被攻击超过 20 次的地址交互的路由分布,来源:EigenPhi
简单来说,1 inch 的 Fusion 模式可能会以大额的滑点为代价实现快速成交,减缓用户交易的等待时间。尽管 DODO 的前端已经严格对用用户的滑点做了保护,对稳定币默认使用 0.01% 的滑点容忍,对 BTC、ETH 等主流币默认使用 0.5% 的滑点容忍。但对于 1 inch 路由过来并未对用户进行滑点保护,这是 1inch 聚合器交易处在危险之中的根本原因。
在传统的滑点设置中,绝大部分 DEX 都采取了固定的滑点值,例如 Uniswap 提供的 0.3%。这种静态设置存在一定的局限性,交易逆转的发生会给用户带来挫败感和潜在损失。另一方面,在波动性较小的时期,此设置可能过高,使交易容易受到 MEV 攻击。
DODO 前端推出的“动态滑点”利用时间序列模型预测实现最佳滑点容忍度。帮助用户减轻交换过程中的潜在损失,同时保持高成功率。利用 ARIMA 模型,一个经过验证且稳健的时间序列预测器,动态滑点在回测中证明了 98% 的准确率。
“动态滑点”示意图:长尾资产价格与预测的边界,来源:@DODO
3.PancakeSwap - ’Uniswap’ of BNB Chain
PancakeSwap 一直是交易量仅次于 Uniswap 的 DEX,市场份额约占 15%。在 BNB 链上,Pancake 是绝对的巨头,垄断了约 90% 的市场份额。这与 EigenPhi 的统计的 MEV 数据一致,BNB 链上超过 90% 的总 MEV 来自涉及 PancakeSwap 的活动。PancakeSwap 上 MEV 的显著特点是:
Pancakeswap v3 在 BNB 链有着显著更少的 MEV 比例;
Pancakeswap v3 的三明治攻击非常罕见。
BNB 链上不同协议的市场份额,来源:Dune
MEV 在 BNB 链上收入分布、比例以及 Pancakeswap 的份额,来源:EigenPhi
3.1 Pancakeswap v3 在 BNB 链有着显著更少的 MEV 比例
Panacakeswap 在 BNB 链的主导地位一如 Uniswap 在 Etherum 链一般,两者的机制设计也没有截然的不同。我们很难不自然而然地推断 Pancakeswap v3 在 BNB 链上的表现会和 Uniswap V3 在 Etherum 链上的表现一致。
然而,根据 EigenPhi 在《PancakeSwap V3's Ascendancy in the MEV Market - A Comprehensive Study》中数据,Pancakeswap v3 在 BNB 链上,套利攻击次数仅占总交易的 7.65%,三明治攻击次数仅占总交易的 1.92%,相比之下,Uniswap V3 在 Etherum 链上 的 MEV 交易量比例相对稳定地保持在 50% 至 60% 左右。这一现象有两个可能的原因解释:
链的基本设施。在比较 PancakeSwap V3 在 BNB 链和 ETH 链的 MEV 交易比例时。发现 BNB 链中有 9.4% 的 MEV 比例,在 ETH 链上则为 30.3%。这意味着 ETH 链和 BNB 链有不同的 MEV 生态系统。
协议的丰富性。PancakeSwap 是 BNB 链上的主要协议,而在 ETH 链上,协议更加多样和丰富,这提供了更多的 MEV 机会。
MEV 中间商。在Uniswap 上,三明治攻击是 MEV 的主要来源,而在 PancakeSwap 上则很少见。像 Flashbots 这样的中间服务在 Ethereum 上使 MEV 提取过程变得更为简单。而这样的服务在 BNB Chain上还不够成熟。
MEV 的基础设施。Ethereum 引入了如 MEV-Boost 和 MEV-Boost Relay 这样的机制,鼓励更多的验证者加入。这些设施使得验证者的 MEV 提取过程更为高效。Ethereum 有超过 820k 的验证者,而 BNB Chain 只有 29 个。
交易量影响。从 Uniswap 的普世性结论中,我们可以得知:在相同的条件下,MEV 活动的比例与大的交易量高度相关。交易量大的交易更有可能产生 MEV 的机会和更大的 MEV 交易量和 MEV 收入。在对比两条链上的每笔的交易量时,也能明显注意到:ETH 链上的交易量单笔约为 BNB 上的 10 倍。
PancakeSwapV3 在 BNB 链和 UniswapV3 在 Ethereum 的交易量大小对比,来源:Dune
3.2 Pancakeswap v3 的三明治攻击非常罕见
EigenPhi 的报告还表明:较于 PancakeSwap V2,V3 的三明治攻击非常罕见,其收入仅占三明治总收入的 2.32%。差异的出现可能来自于 V3 的机制特点:
交易费用调整:PancakeSwap V3 引入了四个不同的交易费用层(0.01%,0.05%,0.25%和1%),而 V2 的单一费用水平为 0.25%。流动性提供者可能会根据市场情况和自身的风险容忍度选择不同的费用层。这种动态变化可能导致更加复杂的交易环境,使得 MEV 机会不稳定,因为流动性和交易模式可能会随时间而改变。
改进的智能路由:通过添加拆分路由功能和利用协议中所有可能的流动性的能力,为交易引擎带来了整体改进。新的智能路由器通过利用 PancakeSwap V3、V2 和 StableSwap 的流动性,具有多跳和拆分路由功能,智能地找到最佳交易路线。通过优化交易路径和利用多个流动性来源,PancakeSwap V3 可能会降低单一交易的潜在利润性。因为交易是在多个池中进行的,这可能会使得潜在的 MEV 机会更加复杂和难以利用。智能路由还将利用做市商集成提供的流动性为交易者提供最佳交易。用户可以选择或禁用某些流动性来源,这为用户提供了更多的灵活性。这可以避免某些池的潜在前跑或后跑行为。
4.Curve - Haven of arbitrage for the Clever
Curve 与 2020 年推出,以 StableSwap 闻名,其独特的价格曲线不同于恒定产品公式曲线,使其池在稳定币 AMM 市场中遭受的滑点较少。Curve 有一个强大的生态系统,允许用户以较低的费用和滑点与其他 DEX 协议交换稳定币。Curve 主打的业务有:
稳定币的交换:经典的流动性池有 3pool,LUSD/3Crv 等;
稳定的挂钩资产:例如,Curve 支持 ETH 的 PoS 和合成资产,stETH、frxETH 等;
不稳定的挂钩资产:在曲线 V2 之后,用户可以在 Curve 的 Tricrypto 池中兑换 BTC,ETH 和 USDC。
这也让 Curve 上发生的 MEV 呈现与众不同的表现:
三明治攻击和套利机器人的收入占 Curve 池收入的 73%,且套利活跃;
MEV 机器人收入 80% 的利润被 20% 的机器人赚取;
套利机会与市场价格波动的强度相关,而三明治攻击与市场价格波动无关。
4.1 三明治攻击和套利机器人的收入占 Curve 池收入的 73%,且套利活跃
Curve 的 3Pool,也称为 Tri-Pool,为 DeFi 中三种顶级稳定币提供了大量流动性(约 34 亿美元)。与其他去中心化交易所(例如 Uniswap 或 SushiSwap)相比,这种深度流动性和 Curve 的优化使 3Pool 通常为 USDT、USDC 和 DAI 的交换提供最具资本效率的途径,这对于套利者和交易者来说非常有利。根据 EigenPhi 的数据,三明治攻击和套利机器人的收入占 Curve 池收入的 73%。对比 Uniswap 中 25% 的比例,Curve 上的 MEV 活动可谓相当活跃。
同时,Curve 中有大量、丰富的挂钩资产的交易对池,这些池子往往会产生巨大的套利机会。EigenPhi 统计了套利和三明治机器人的每日收入,如下图所示,2022 年 6 月 13 日 stETH 脱钩,套利机器人产生了相当可观的利润。
Curve 协议中的三明治攻击、套利收入与手续费收入随时间变化的折线图和比例,来源:EigenPhi
4.2 MEV 机器人收入 80% 的利润被 20% 的机器人赚取
EigenPhi 在 《10M Revenue Drain in 5 Months: MEV impact on Curve》报告中,绘制了套利和三明治机器人的收入分配的箱线图,如下图所示。从图中可以看出:MEV 机器人产生的收入呈现肥尾分布。肥尾相对于正态分布,意味着极端事件的概率更高,既 “聪明” 的高利润机器人贡献了大部分收入。
套利和三明治的收入分配的箱线图(箱线图中的柱体表示四分之一分位点,中间的线表示中位数),来源:EigenPhi
根据 EigenPhi 更详细的数据,可以发现,头部 25% 的套利机器人收入占比 94% 以上,头部 25% 的三明治机器人收入占比 87.8%。最赚钱的三明治机器人只发起了 14 次三明治攻击,仅使用 2 笔交易即可在 Curve stETH 池中产生超过 46,000 美元的总利润。
4.3 套利机会与市场价格波动的强度相关,而三明治攻击与市场价格波动无关
EigenPhi 在报告中使用 ETH、BTC 和 CRV 的 7 天价格的波动频率观察套利和三明治机器人的活动时发现,套利交易机会的发生与市场价格波动的强度相对相关。然而,三明治机器人的机会似乎与市场的价格波动无关。这与 Uniswap 得到的普世性结论并不相同(其相关系数为 0.6),这可能意味着即使在波动大的行情,不够聪明的三明治机器人仍然无法完成攻击。
这一点发现和 4.2 相互印证。结合 4.1 中套利机器人的收入远高于三明治攻击的现象我们不难推测:相较于 Uniswap,Curve 池中的三明治攻击更为困难,而技术高超的套利机器人在 Curve 拥有无与伦比的施展空间。
一个可能的原因是:Curve 提供了像 3pool 和 Tricrypto pool 这样的多资产流动性池,这可能使得在 Curve 上执行三明治攻击相对于 Uniswap 的简单流动性池结构更为复杂。多资产池可能引入额外的变量和动态,这可能使攻击者难以有效地预测和操纵价格。这一点在 MEV 收入的肥尾分布中也可以看出,头部的高利润的机器人贡献了 MEV 收入的绝大部分。
另一个原因是 Curve 包含更多的稳定币池,这意味着三明治机会将更少地依赖市场的价格波动。大量、丰富的挂钩资产交易对池,给套利提供了机会。
从上文可以了解到,不同 DEX 中 MEV 的分布可能存在巨大的差异,机制、业务、技术的不同都在影响着 MEV 的分布和规模。不管是链上的基础设施,还是优化算法,再到 DEX 本身的机制创新,市场正在为力求克服 MEV 寻找方案。我们尝试总结出了以下 5 种类型的解决方案。
1.私人 PRC 节点
MEV 的必要条件是公共内存池无需许可的可见性,通过私人 RPC 节点交易可以直接路由到区块提议者(proposer),从而有效免受公共内存池的影响,在恶意抢跑者之前执行交易。
PropellerRPC 是一种即插即用的 RPC 解决方案。接收到用户的交易之后,专门设置的 PropellerSolver 会启动算法自动搜索可能的 backruns,如果发现可能的 backruns,PropellerRPC 会将原始的 tx 捆绑(bundle)在一起私下发送给“诚实的”构建者,并将 backruns 所有利润返还给用户。由于 RPC 私下提交给区块构建者,搜索者无法抢先或夹在交易中间。当监控到构建者的不当行为时,如构建者以用户为代价重新排序 tx,则会将这些构建者列入“不诚实”黑名单。
MEV-Share 是一个开源协议,为用户、钱包和应用程序提供了一个框架,使它们能够将其交易创建的 MEV 内部化。具体地,它通过所谓的订单流拍卖(orderflow auction)实现。它允许用户选择性地与搜索者分享有关其交易的数据,而搜索者则会竞标将这些交易包含在捆绑中。用户可以选择如何重新分配搜索者的出价,例如分配给自己、验证者或其他方。MEV-Share 是可信的中立的,对搜索者来说无需许可,不偏袒任何一个区块构建器。旨在减少独家订单流(exclusive orderflow)对以太坊的中心化影响,同时使钱包和其他订单流来源能够参与 MEV 供应链。用户可以将交易提交到 Flashbots MEV-Share 节点来从 MEV-share 赚取 MEV 退款。
PropellerRPC 和 MEV-Share 本质区别在于一个利用算法,搜索可能 backruns 将利润返还给用户;一个利用拍卖的方式,使所有搜索者参与进来,通过充分的竞争将利润返还给用户。两者防止的MEV 的核心都是绕过公共内存池,将用户的交易私下发送从而减缓 MEV。大多数 DEX 都已经集成私有 RPC 节点供用户开启选择。
2.机制创新——订单打包拍卖
用户不需要发送一个 transaction 来提交一个交易,而是需要用户发送一个签名的订单。所有未结订单被打包成一个 Batch 交给 solver 求最优解。优化的路径一方面来自链下求解需求巧合(CoW, Coincidence of Wants),另一方面依赖链上的流动性。荷兰拍的方式选择最优的方案,第三方支付 Gas 代表用户提交。批量拍卖允许批次内的交易具有相同的统一清算价格,因此矿工没有必要重新排序交易。
订单打包的好处有很多:减少订单被抢跑或被三明治攻击的机会,改善价格,增加可用的流动性和优化交易路由,详细的论证可以参见我们另一篇报告《CowSwap 未来 Intent 的 DEX 形态?》。但是这种方式有两个显然的劣势:
难以确定 Solvers 的不同解决方案哪个是最优的。对于单个订单而言,显然最大化用户的所得是简单的。但如果对于 1 个 transaction 中有多个用户,评判 solvers(求解器)之间的解决方案就很难。比如一个解决方案可能对 A 好,对 B、C 没那么好;但另一个方案对 B 好,对 A、C 没那么好。市场尚不确定是否存在一种去中心化又可靠的标准对 solvers 的解决方案做评判。
CoWSwap 提出了“最大化盈余” 策略,选择能为所有参与的用户总体创造最大剩余的方案处理打包的订单。这种方法是基于集体最优而不是个别最优的原则。在实际操作中,solvers 通过算法优化来考虑所有订单,并试图找到一个整体最优的匹配,这可能涉及跨多个订单完成复杂“需求巧合”,从而找到一个整体最有效率的交易组合,使得所有用户的总满意度最大化。可以作为一个研究学习的参考。
等待时间会比执行单个时间长。对于不活跃的标的,受 AMM 曲线的影响可能会在执行等待的过程中发生较大的价格波动。不过,对于进行大额交易的参与者,特别是那些不需要立即成交的用户,例如 DAO,这种方法提供了一个更优的选择。它允许这些用户通过更好的价格执行和减少市场影响的交易,同时可能从批量处理中获得更好的滑点保护和费用优化。对于那些寻求成本效益且可以容忍较长结算时间的用户,这种机制能够提供显著的经济利益。这也是 1/3 的 DAO 的交易量都在 CoWSwap 上发生的原因(来源:Dune)。
3.机制创新——外包订单
CoW、UniswapX、1inch fusion 等都希望通过机制创新解决 MEV 问题。如果以 Uniswap 为 DEX 的行业基准的话,外包订单的解决方案甚至可能是一种趋势。因为将订单流的执行权移交给专业填充器(filler)上会方便得多。用户签署交易订单,执行逻辑从链上拉到链下,交易对手执行并具有预保证的兜底交易结果,由智能合约验证保证作保障。
具体来讲,UniswapX 将路由的复杂性外包给第三方填充者。这些填充者竞争使用链上流动性(如Uniswap v2 或 v3)或他们自己的私人流动性存来执行用户的交易,同时为用户支付 Gas。任何人都可以成为UniswapX交换的第三方填充者,荷兰拍的定价价值保障了最优的价格。CoWSwap 则是将交易打包后,对求解器(solver)的解决方案排名,并交授交易的执行权。1inch 类似 UniswapX,不同点是求解器(resolver)按时间顺序依次允许求解。
尤其是等到 Uniswap v4 推出后,由于 Hook 的特殊性质,将出现大量同样币对的池子。如果没有强大的工具,面对 AMM 复杂的数学时,用户几乎不可能自己找到最佳路线。因此,外包订单的方式实际上是将路由和执行外包给市场,然后说,谁给我最好的执行力,谁就可以进行交易。
这种方案的解决难点在于,如果确保这些求解器/填充者的行为方式符合预期。
一种解决方案是引入信誉机制:通过监视,在他们行为不端时,他们就会从订单流中被切断,并且必须支付罚款才能重新上市。
另一种解决方案是创建一个高度竞争性的市场。在这个市场中,用户的订单可以被无许可地执行,这意味着任何人都可以参与。通过利用 MEV-Share,可以在保护隐私和承诺的前提下,促进用户或订单流提供者与 MEV Searcher 之间的无许可合作。从长远来看,这种无许可的执行方式将极大地增加市场的竞争力,从而为用户提供更优惠的价格。
另一个难点是:如何对最佳执行进行基准测试?
第一道防线,也是始终得到保证的,就是你在订单中设置的限价。第二道防线是EBBO(交易所最佳买卖报价)获取链上可见的最佳价格,即考虑到 Uniswap,Balancer 等 DEX 的报价。
由于私有内存池的存在,提供最佳执行可能会受到内存池访问权限的限制。为了解决这个问题,可以考虑实现 SUAVE,这种即插即用的架构旨在为所有区块链提供一个通用的内存池和区块构建网络,在构建区块(block building)的过程中将链上所有待处理的信息都考虑在内。
4.滑点优化
为了避免交易失败,DEX 经常设置较高的默认滑点,例如 Uniswap 提供了 0.3% 的默认滑点。但静态的滑点设置具有局限性,滑点太小了可能面临交易失败,太大了可能给用户造成损失。在某些市场条件下,这样的静态设置可能导致严重的交易回撤,给用户带来挫折和潜在损失。
DODO 最新推出的动态滑点基于时间序列预测模型能够在保障成功率的前提下,推荐合适的滑点避免用户的损失。它利用 ARIMA 模型,一个经过验证且稳健的时间序列预测器,动态滑点在回溯测试中展示出了 98% 的准确率。旨在帮助用户在交换过程中减少潜在的损失,同时保持高成功率。
甚至对于以“不可预测性”而闻名的长尾币种,有 95.8% 的实际价格都紧密地符合预测的置信区间。在更稳定的市场条件下测试时,表现更为出色,97.2% 的实际价格都可以保持在预测的置信区间内。展现了其模型的灵活性,能够无缝地适应不同的市场情绪。
“动态滑点”示意图:市场波动期间的长尾币种的价格预测与实际走势,来源:@DODO
Sushiswap 则推出了自动检测“征税代币”的功能(征税代币是具有交易“税”的代币,即购买、出售或转让代币时的额外费用)。如果UI显示“低滑点:由于价格变动或转账费用,此交易可能无法成功”,如下所示,则可能是征税代币。此时就需要将代币的税收百分比添加到原始容差中。
较低的滑点交易征税代币可能会导致交易失败,来源:SushiSwap
5.透明化
DEX 将订单路由到私有节点,而不是公共交易池。保护用户的同时带来了系统性风险。Flashbots 致力于所有市场参与者都无需许可。用户可以选择在使用 Flashpots Protect 时将订单流发送到何处,以及发送给哪些构建器。
这种方案的难点是:如何从系统设计上消除与搜索者玩猫捉老鼠的游戏,即不需要花费大量的时间、投资和资源来识别某人何时在系统中实际行为不端。而是一种不需要做监管,不需要在系统中不断拥有人力资源来知道它是否正常工作的系统。
写在最后
黑森林的 MEV 蛋糕散发着诱人的香气。DEX MEV 在过去 30 天的利润高达百万(million)美金,意味着对用户的损失仍有较大规模。在对 MEV 过程详解后,我们也得出了 MEV(以三明治攻击为例)的必要条件:1、引发流动性偏移;2、对交易排序;3、保证不超出滑点范围。在交易排序中,矿工需要支付费用贿赂矿工以保证 Back-run 紧贴在 Victim 之后,最大化利润的同时保证不被其他 MEV bot 抢占利用。贿赂矿工是 MEV Bot 的一大/主要支出, 引发流动性偏移而不在攻击后超出滑点范围也为 MEV bot 提出了高难度的计算要求。其余成本发生在硬件设施上,保证捆绑事务后能在短时间内广播给全球的节点。
深究 DEX 中 MEV 的发生原因,相互联系又不尽相同。以 Uniswap 为基准,存在一些普世的结论。比如市场波动越大,发生三明治攻击和套利攻击的频率和利润就越高;交易量更大的池子的获利金额也往往越大;MEV 的收入于 MEV bot 的“努力”程度正相关。但每个 DEX 拥有其各自特点,基于此,在 MEV 的发生中各自演变出独属的分布。例如 Curve 由于多币池的存在以及丰富的挂钩资产交易对业务,套利在 Curve 中的获利尤为突出,且不容易受市场波动影响,套利难度大。又例如 DODO 主打稳定币对的交易,以主动做市提供极佳的流动性深度使 MEV 的三明治攻击有机可乘,为 DODO 贡献 60% 的总交易量。对比 PancakeSwap 在 BNB 和 Etherum 的表现,证明 DEX 的机制特点并非单一的影响 MEV 分布的变量,所处的公链的基础设施、协议的数量等也会使该 DEX 的 MEV 分布发生变化。譬如,Etherum 链拥有比 BNB 链更丰富的协议,为 MEV 的攻击提供了更多选择,对比下 MEV 的发生也更为激烈。Pancakeswap 中 Etherum 上的 MEV 高于 BNB 链也可能取决于 Etherum 拥有更完备的基础设计,为 MEV 提供了工具。
面临 DEX MEV 的以上情境,从 DEX 到基础设施,Web 3 世界正在积极寻求解决方案。我们搜集整理了 5 类解决方案:私人 RPC 节点、订单打包拍卖、外包订单、滑点优化和透明化。私人 PRC 希望通过绕开公共内存池无许可的可见性扼杀 MEV 的发现。订单打包拍卖和外包订单都属于机制创新。前者将多个未结订单打包执行,通过需求巧合和统一清算价,在提升效率的同时阻止 MEV bot 利用交易排序操纵价格,代表项目是 CoWSwap;后者将订单无许可地交给任何求解器,在市场的充分竞争后,选出最有利于用户的方案执行,用“内卷”减缓 MEV bot 作恶,代表项目是 UniswapX。滑点优化实质上是产品的优化,代表项目是 DODO 的“动态滑点”,智能推荐滑点在保障成功率的同时让三明治攻击无隙可乘。透明化是 Flashbots 的愿景,通过系统设计上使黑森林中用户的订单照在阳光下,以自监督的方式维持正常运行。
本文仅代表作者观点,不代表喜来顺财经立场。
未经喜来顺财经许可,不得转载。