前言
黑森林中总藏匿着诱人的财富,MEV(Maximal Extractable Value,最大可提取价值)以先到先得的方式从用户手里提取价值。AMM 是 MEV 提取过程中最直接的一环,由于内存池无需许可的可见性,DEX 用户会不可避免地面临遭受 MEV 机器人攻击的风险。同时,套利机器人在提高 AMM、市场的价格发现效率方面发挥着至关重要的作用。在讲述 MEV Guard 模块之前,先简单介绍一下 AMM 最常受到的两种 MEV 攻击类型。
初始流动性抢跑攻击
在传统的代币上市流程中,通常由项目方或募资平台直接在去中心化交易所(DEX)部署流动性池。然而这实质上形成了重大的市场漏洞。一些专业量化机器人或恶意项目方能够通过“抢跑攻击”(Front-Running Attack)在初始流动性部署的同一区块内完成大量代币扫货,导致早期流动性池中绝大部分代币供应量往往被少数人垄断,形成畸形持仓结构。
这种市场失衡引发多重负面效应:
操纵者通过高频交易策略在二级市场制造虚假流动性,诱导散户投资者接盘。
抢跑者通过程序化抛售策略形成持续性抛压,致使代币价格长期处于低迷状态。
恶意做市不仅削弱项目估值基础,更会引发社区信任危机,导致持币者恐慌性抛售。
LBP(Liquidity Bootstrapping Pool),即流动性引导池,是历史上为解决“抢跑攻击”问题而出现的一种方案。其主要特点包括:
灵活的流动性池组成:项目方无需将 Token 与募资货币按 1:1 的比例组成交易对,可以采用 1:5,1:10 甚至更小的比例来构建流动性池。这降低了项目方提供初始流动性的成本。
独特的定价机制:LBP 采用类似荷兰拍卖的定价机制,发行价格从价格区间的最高点开始,随着时间的推移逐渐降低。这种机制允许用户在自认为合适的时机购买代币,而不必担心被机器人抢购。
价格发现功能:由于发行价格的变化,购买者之间会形成价格博弈。购买代币的行为会短暂提升代币价格,从而实现价格发现。
乍一看,LBP 似乎是一个理想的解决方案,可惜这只是站在项目方的角度,对于散户投资者而言,LBP 却可能成为一种最无情的剥削工具:
项目价值高估:在 LBP 过程中,价格会随着市场供需和权重变化实时波动。散户往往缺乏专业的投资知识和深入的项目调研能力,容易受到市场情绪和项目方宣传的影响,从而对项目的价值产生过高的预期。
价格操纵风险:项目方可以在 LBP 持续期间,通过内部购买一部分代币来减缓代币价格下降的趋势。由于 LBP 有时间限制,代币价格很容易在 LBP 期间被维持在高位。
Rug 风险:项目方不需要准备大量资金作为初始流动性,代币可以以超高完全稀释估值(FDV)启动,从而募集大量资金,并可能在募资结束后选择跑路或软跑路。同时,短期内不会再有任何投资者买入代币。为什么?因为如果他们要在 LBP 结束后买入代币,为什么不在 LBP 期间早点买入呢?投资者在 LBP 期间就已经被榨干了购买潜力,在 Rug 风险与无后续买盘的双重绞杀下,等待投资者的结局只有代币破发甚至归零(这非常常见)。
事实上,我们可以轻松查询到通过 LBP 启动的项目代币价格的历史数据,而这些数据显示,在 LBP 结束后,绝大部分代币价格会迅速跌破发行价,并持续下跌。在 2021 年的牛市期间,甚至有大量毫无价值的项目仅仅通过社区 LBP 募资,就成功筹集了数千万甚至上亿美元的资金,这还不包括项目方和 VC 持有的代币抛售所造成的额外压力。这些项目方在募资结束后,基本都从公众视野中销声匿迹了。
LBP 确实解决了“抢跑攻击”的问题,但它实际上是将原本抢跑机器人的收益转移给了项目方。更坏的情况是,如果项目方本身就是原来的抢跑者,那么 LBP 其实没有解决任何问题,散户没有从中获得任何好处与公平,因此这绝对是一个错误的解决方案。
三明治攻击
三明治攻击(Sandwich Attack)是 MEV 中最常见的一种攻击方式,它同时涉及到抢跑交易(Front-Running)与后置交易(Back-Running),攻击者通过在同一个区块目标交易的前后插入自己的交易,形成“夹击”,从而利用价格波动获利。
攻击步骤
检测目标交易:攻击者监控未确认的交易池(mempool),寻找大额交易或可能引发价格滑点的交易。例如,一笔大额的代币交换交易。
抢跑交易:攻击者在目标交易之前插入一笔交易,通常是购买大量目标代币,推高其价格。
执行目标交易:目标交易在推高后的价格下执行,由于价格滑点,受害者获得的代币数量减少。
后置交易:攻击者在目标交易之后插入另一笔交易,抛售之前购买的代币,以更高的价格获利。
目前市场上应对三明治攻击的解决方案主要如下:
隐私交易提交:使用隐私RPC端点,如Flashbots,将交易隐藏在公共内存池之外,减少信息泄露,从而降低被攻击的风险。但是这种方案需要用户自己手动设置隐私 RPC 节点,或者使用特殊的方式贿赂验证节点,使用门槛较高。
批量捆绑机制:一些聚合交易采用这种机制,交易由解析器匹配,将多个订单捆绑在一起,最后由解析器一起执行。然而,这种方法涉及聚合交易的链下匹配,并且不是自动做市商 (AMM) 的固有功能,因此不适用于特定的交易所。
分段下单策略:例如时间加权平均价格(TWAP)策略,其核心原理是将一笔大额交易订单拆分成多个小额订单,并在设定的时间区间内均匀地执行这些订单,进而降低滑点。攻击者需要在更长的时间范围内和更多的交易点上进行干预,增加了攻击的复杂性和成本。但是这种方案的使用场景受限,不适用于日常的快速交易。
这些解决方案在多个层面应对三明治攻击,在一定程度上维护市场的公平性和安全性。但是它们都存在一定的局限性,并且引入了很多外部系统,不够简洁,复杂度较高。我们需要一种创新的足够简洁的智能合约层面的解决方案。
Last updated