在以太坊等公链的DeFi(去中心化金融)生态中,套利交易一直是投资者追求收益的重要策略,而“三明治套利”(Sandwich Attack)作为其中一种更具争议性的操作,如同潜伏在DEX(去中心化交易所)订单流中的“隐形剪刀手”,通过“夹击”大额交易获利,也让普通用户成为其“收割”的对象,本文将深入解析三明治套利的原理、运作机制、风险与防范策略,带你看清这一复杂DeFi博弈的本质。
三明治套利是一种针对大额交易的恶意套利策略,因其操作流程类似“面包夹心三明治”——在大额交易前后各插入一笔小额交易而得名,核心逻辑是:预判某笔大额交易会推动代币价格变动,通过“提前买入→推动价格上涨→大额交易确认后高价卖出→再低价买回”的闭环,从价格波动中获利。
若用户在Uniswap、SushiSwap等DEX上发起一笔大额ETH→USDT交易,由于DEX采用恒定乘积做市商模型(如x*y=k),大额买入会推高代币价格,而大额卖出会压低价格,三明治攻击者正是利用这一机制,在大额交易“入场”前买入目标代币,待其推高价格后卖出,再在大额交易“完成”后低价买回代币,赚取中间的价差。

假设目标代币为XYZ,当前价格为1 ETH=1000 XYZ,攻击者检测到一笔即将发生的100 ETH→XYZ大额交易(需买入100,000 XYZ),具体操作如下:
前端嗅探(Front-running):
攻击者通过区块链浏览器、MEV(最大可提取价值)中继工具或与矿工/验证者合作,提前“看到”待打包的大额交易,在其被确认前,攻击者先用0.1 ETH买入XYZ(此时价格因买入量较小波动不大,约1 ETH=1001 XYZ),持有约100 XYZ。
夹击大额交易:
大额交易(100 ETH买入)被广播后,由于需求激增,XYZ价格迅速上涨至1 ETH=1100 XYZ,此时攻击者立即将持有的100 XYZ卖出,换回约0.0909 ETH(100 XYZ/1100 XYZ≈0.0909 ETH),初步获利(忽略手续费)。
后端清算(Back-running):
大额交易完成后,市场上因大量XYZ被抛售(卖出者获得ETH),价格回落至1 ETH=1050 XYZ,攻击者此时用0.09 ETH买入XYZ(约94.7 XYZ),为下一次攻击做准备或等待机会。
最终收益:攻击者初始投入0.1 ETH,最终持有约94.7 XYZ 0 ETH(假设无手续费),若XYZ价格回归,可通过后续操作实现净收益,而发起大额交易的用户,因“买入价被推高、卖出价被压低”,实际支付了更高的成本,成为价差的“买单者”。

三明治套利的实现并非偶然,依赖以下关键要素:
MEV(最大可提取价值):
MEV是指区块生产者(如矿工、验证者)通过排序、插入或排除交易获得的超额利润,三明治套利是MEV的典型应用,攻击者需通过MEV中继(如Flashbots)或与节点合作,获取待处理交易的优先权。
DEX的做市商模型:
恒定乘积模型(如Uniswap V2/V3)的价格由流动性池的代币数量决定,大额交易必然导致价格滑点,为三明治攻击提供了“价格波动空间”,而订单簿型DEX(如dYdX)因价格由挂单决定,三明治套利空间较小。
大额交易的“可预测性”:
攻击者需提前预判大额交易的存在,通常通过分析链上数据(如大额转账、未公开的交易池)或与DEX前端合作获取信息。
作为DeFi生态的“双刃剑”,三明治套利的影响具有两面性:

对攻击者:
对普通用户:
对DeFi生态:
对于普通用户和项目方,可通过以下方式降低三明治套利风险:
对用户:
对项目方:
三明治套利是DeFi发展中的必然产物,反映了MEV与市场公平性之间的深层矛盾,随着以太坊合并后PoS时代的MEV分配机制改革(如Proposer-Builder Separation,PBS)以及Layer2扩容技术的成熟,MEV问题有望得到缓解。