
想象一下,你在 Uniswap 上购买一个代币。你点击确认后,钱包显示“挂单中”。几秒钟后,交易确认。但似乎出了问题——你支付的价格明显高于点击购买时看到的价格。你查看 Etherscan,发现了一些奇怪的事情:有人在你之前购买了完全相同的代币,导致价格上涨。然后他们在你之后立即卖出,导致价格回落。
恭喜,你刚刚被抢先交易了。有人看到了你的挂单,在你之前抢先进行了交易,并从中无风险获利。这并不罕见,它每天都会在以太坊和其他区块链上发生数百万次。据 Flashbots 研究称,MEV 提取(包括抢先交易)在2023年总计超过13.8亿美元。这不是交易者的利润,而是从他们手中提取的利润。
抢先交易是指有人看到你的挂单并提交自己的交易,以你的动作为依据来获利。这个术语来源于传统股票市场,那里经纪人会在客户订单前进行交易——在受监管的市场中这是非法的。在加密货币领域,这不仅是合法的,还是一个整个产业。
操作方式如下:当你在以太坊上提交一笔交易时,它不会立即执行。它进入事务池(mempool)——这是一个公共等待区域,交易在被包含到区块中之前会先在这里等待。任何人都可以看到这些待处理交易。抢先交易者监控事务池,识别有利可图的交易,并提交他们自己的高额油价交易以优先执行。他们先于你购买(推高价格),你的交易在更高的价格执行,然后他们立即卖出获取即时利润。这一切都在大约 12 秒内完成。
这种漏洞的存在是因为区块链的交易排序方式。你点击确认时,你的交易会被广播到网络并进入事务池。矿工和验证者会从这个公共队列中选择交易,通常根据油价来优先处理。高费用的交易会优先执行。
这为抢先交易者创造了信息优势。他们看到你的1万美元代币购买挂在 20 gwei 的油价。他们以 25 gwei 的油价提交自己的1万美元购买。执行顺序变成:他们的购买先执行(价格上涨),你的购买在更高价格执行(你得到的代币更少),他们的卖出执行(他们从你引起的价格上涨中获利)。你支付的价格高于应有的价格,他们获得无风险利润,而这个利润直接来自于你。
这种运算方式很无情。假设一个代币有 100 万美元的流动性,单价 10 美元。抢先交易者先购买1万美元,推高价格到 10.10 美元。你的1万美元购买在 10.10 美元把价格推到 10.25 美元。他们在 10.20 美元卖出,几秒钟内获利约 1000 美元,达到了 10% 的收益。你支付的价格比应有的价格高出 2% 到 2.5%。这在每天数百万笔交易中反复发生,你就能明白它为何如此有利可图。
先进的抢先交易者使用油价拍卖——自动增加油价的竞价大战。在2021年的高峰时期,抢先交易机器人为赢得一个有利可图的交易,支付的油费超过50万美元。这不是一个笔误——一次交易支付50万美元的油费显示了机会的价值。
经典的抢先交易是基本攻击——看到你的交易,在你之前进行交易获利。回购是在你之后立即交易,利用你的交易状态变化。三明治攻击结合了两者——在你的交易前后各进行一次交易,给你形成夹击以最大化提取利益。替代攻击提交相同的交易但加高油价来偷取机会,比如领取奖励。抑制攻击是通过充斥事务池来阻止你的交易执行。
抢先交易是 MEV——最大可提取价值的一部分,之前称为"矿工可提取价值",现在改为"最大",因为不仅仅是矿工,验证者和搜索者现在也在提取价值。生态系统有明显的角色:搜索者扫描事务池寻找机会,区块构建者构建区块以最大化利润,验证者提案区块并可接受有利排序的支付,中继者连接这些方。
Flashbots 改变了这个领域,通过创建基础架构来提高 MEV 提取的效率并减少混乱。在 Flashbots 出现之前,MEV 是通过油价拍卖实现的,导致网络拥堵。现在,搜索者直接将“包”提交给验证者,绕过公共事务池。这减少了油价浪费,但提高了提取效率。Flashbots 推出了 MEV-Boost,约90%的以太坊验证者在合并后使用。
统计数字令人震惊。据 Flashbots 数据 显示,截至2023年,以太坊上提取的 MEV 总量超过7.7亿美元,平均每日提取量为200万至500万美元。大约 70-80% 的区块包含某种形式的 MEV 提取。如果你曾在去中心化交易所进行交易,你很可能已经被抢先交易过。
2021 年 4 月,一个机器人支付了 42 万美元的油费来赢得争夺 Aave 上 3.65 亿美元头寸清算的比赛,赚得约 470 万美元。当 ENS 域名“wallet.eth”到期时,一个机器人支付了 1.5 万美元的油价来注册它,随后以超过 20 万美元的价格出售。2020 年 Uniswap V2 推出时,机器人仅在首批区块中就通过抢先交易提取了超过 50 万美元的利润。
根本问题在于事务池是公开设计的。透明性是区块链的一项功能——节点需要看到交易以便验证它们,去中心化需要信息共享,抗审查需要透明。将事务池私有化可以解决抢先交易问题,但会破坏去中心化。
矿工和验证者控制交易排序。即便有“按油价排序”的规则,他们如果能获利则会偏离。当区块生产者能够顺序排序交易且抢先交易仍有利润可言时(显然它是一个数十亿美元的产业),高级行为者会追求它。
你不能完全消除抢先交易的风险,但可以缩小风险。使用合适的偏差设置——成熟代币为 0.5-1%,波动大的代币为 2-3%。太低(0.1%)会因为正常波动而导致交易失败。太高(10%+)会给抢先交易者许可以最大化提取价值。
将大额交易分成若干小额交易分时段进行。十笔 10 ETH 的交易对价格的影响比单笔 100 ETH 的交易小,让抢先交易的利润减少。使用如 Flashbots Protect 这样的私有事务池,直接将交易发送给验证者,避免公共事务池。
在 Arbitrum 或 Optimism 等第 2 层解决方案上进行交易,这些通常有不同的事务池动态。使用像 CoW Protocol 这样的抗 MEV 协议,它使用批量拍卖,在批次内的交易无法相互抢先。
项目正在研究加密事务池,在执行之前保持交易隐秘。一些第 2 层实施按提交时间而非油价的公平排序。研究探索将 MEV 利润返回给用户,而非机器人操作者。监管机构正开始关注——抢先交易在传统市场是非法的。
账户抽象可以启用具有自动抗 MEV 技术的钱包。零知识汇总正在设计抗 MEV 排序。没有冒犯去中心化,完全消除可能是不可能的,但显著减少是可以实现的。
抢先交易是指有人看到你的挂单并抢先执行以从中获利。这从技术上是合法的,伦理上存在争议,在公共事务池系统中几乎是不可避免的。每年从交易者手中提取超过 10 亿美元。
最小化风险:使用合理的偏差设置,分割大额交易,使用私有事务池,在第 2 层进行交易,并考虑抗 MEV 协议。抢先交易是加密货币的隐形税。了解得越多,支付得越少。记住:如果你的交易以比预期更差的价格执行,你可能不是误读了屏幕,而是被抢先交易了。
References:
Note: 本文仅供教育目的,不构成投资建议。交易时请自行进行研究并采取保护措施。