
三明治攻击是指攻击者在同一区块中,先于你的交易下单买入,再在你的交易之后卖出,把你的交易“夹住”,借此操纵AMM的即时价格并吃掉你的滑点空间。
内存池是等候被打包的公开交易列表,MEV是通过调整交易排序和打包方式获得的额外收益。三明治攻击就是一种典型的MEV策略,目标是让你的交易在不利价格下成交,进而为攻击者创造安全的价差。
它发生在你的交易进入内存池之后。机器人看到你将用较大金额在某个池子换币,便提交一笔更高费用的买单抢先执行,抬高价格,随后你的交易在更差的价格下成交,最后机器人用一笔卖单把刚抬起的价格“放回去”,锁定利润。
可以用一个简化示例理解:你打算在某AMM用100个ETH换入代币A,并设置1%滑点。机器人发现后先买入A把池子中A相对ETH的价格推高;你的交易按更贵的价格成交,获得更少的A;机器人在你之后立刻卖出A,价格回落,机器人赚到价差,而你的滑点空间被消耗。
原理落在AMM定价与滑点上。AMM(自动做市)通过池子里两种资产的数量关系计价,数量被改变时,价格就会沿着曲线移动。大额交易会带来“价格冲击”,滑点就是你能接受的价格偏离范围。
三明治攻击利用这一点:先用一小笔资金把价格推向不利方向,让你的交易在更差价格下执行,随后再把刚刚推高的价格卖回原位。只要你的滑点容忍度允许,攻击者就能稳妥地在你前后两笔之间攫取差价。
直接影响是成交更差,同样的支付得到更少的目标代币。间接影响包括更高的交易费用(为了抢先与跟随,区块内竞价会抬升费用)以及潜在的交易失败风险(滑点太低时交易可能回滚,仍旧消耗部分费用)。
从近一年的行业趋势看,主流公链上MEV相关活动保持活跃,高拥堵时段更容易出现围绕大额换币的三明治攻击。因此在流动性较弱或价格波动较大的池子里,用户的成交质量更需要警惕。
识别思路是看同一块中的交易前后结构。你可以在区块浏览器中查看:你的换币交易前是否有一笔买入同一资产、之后是否紧跟一笔卖出同一资产,且两笔来自相似或关联地址。
还可以观察异常迹象:你的成交价格明显偏离当时报价;你设置的滑点被完全吃满;交易费用在该块中相对偏高。如果三点同时出现,往往就是三明治攻击的典型特征。
第一步:使用支持私有提交的RPC或中继,把交易从公开内存池“隐身”,降低被机器人窥视的概率。
第二步:设置合理滑点。滑点过高容易被吃尽,过低会导致频繁失败。先在小额试单中观察池子深度与价格波动,再调整滑点。
第三步:拆分大额交易。把一次大换币分成多笔,可以减轻单笔的价格冲击,让攻击者的收益空间变小。
第四步:选择流动性更深的池子或路由。深池价格更平稳,被操控的幅度更有限。
第五步:避开拥堵时段与热门话题币的瞬时行情。拥堵时,机器人更密集,费用与风险都会上升。
第六步:使用限价或时间加权平均(TWAP)工具。如果路由支持限价或分时执行,能显著降低一次性价格被拉动的幅度。
风险提示:任何链上交易都可能遭遇不利成交与费用损耗,请根据资金规模评估风险,避免在不熟悉路由、费用和池子深度时进行大额换币。
抢跑是只在你的交易之前插队,利用你即将推动的价格进行套利;三明治攻击则是前后各插一笔,把你的交易夹在中间,确保价差落袋。
有时也会看到“跟跑”(在你的交易之后操作)的说法,但三明治攻击必须同时具备前与后两笔,从而对你的滑点与价格影响形成严密包夹。
AMM的定价完全由池子资产数量决定,且链上交易是公开排队的,这让价格在单笔交易下更容易被短时推移。用户设置的滑点容忍度相当于给攻击者划出一个“可用的价格空间”。
而中心化交易所的撮合与订单簿不在公开内存池,外部机器人无法在同一块里围绕你的订单插入前后两笔,因此三明治攻击主要发生在链上AMM与路由器中。
如果你通过Gate的Web3钱包连接DEX进行换币,可优先选择支持私有交易的RPC或启用防MEV路由,并在大额交易前做小额试单来校准滑点与路由。
若你不需要AMM即时换币,使用Gate的现货或合约市场进行交易,不会暴露在公开内存池之中,三明治攻击风险显著降低。需要跨链或聚合换币时,尽量选择流动性深、路径清晰的方案,并在高拥堵时段谨慎下单。
资金安全提醒:无论在哪个场景,务必控制滑点、分批执行、并监控费用与成交明细,避免因设置不当造成额外损失。
三明治攻击本质是围绕你的交易前后下单,利用AMM价格与滑点空间来锁定价差。降低风险的关键在于减少公开暴露、缩小可被利用的价格空间、以及把大额换币的价格冲击分散开来。结合交易时段、池子深度与路由质量做决定,再配合私有提交与限价/TWAP工具,能明显改善成交质量。
三明治攻击会导致你的交易滑点增大,最终成交价格远低于预期。攻击者在你的交易前后插入大额交易,推高价格后再砸盘,你的订单被夹在中间承受损失。简单说,本该花100元买到的代币,可能要花110元才能买到,差价就进了攻击者口袋。
Gate平台上可以通过设置滑点容限来降低风险,通常建议设置在0.5%-2%之间。选择流动性较深的交易对、在非高峰期交易、避免单笔超大额操作也都能降低被攻击的概率。此外,使用聚合交易工具分散订单流量,也能有效避免被观察到的大额交易被捕猎。
不同交易所被攻击频率差异大,主要取决于交易透明度和流动性。交易所mempool透明度越高、用户越多、交易量越大,攻击者越容易观察和下手。流动性深的交易对反而更难被有效攻击,因为大额插入对价格影响小。选择Gate这样交易量大、流动性深的平台,反而能更好地保护自己。
普通滑点是市场正常波动造成的,谁都无法控制;三明治攻击是攻击者主动操纵造成的,属于恶意行为。区别在于:普通滑点是随机的、不可预测的市场现象,而三明治攻击是精心设计的、针对性的、重复性的掠夺行为。检查交易哈希历史,你能看到同样交易对为什么你的滑点特别大。
完全可以。在区块浏览器上查看你的交易哈希,观察前后交易的顺序和价格变化就能判断。如果发现你的交易前后分别出现了巨大的同向交易(如都是大额买入),且你的交易成交价格明显被推高,那就很可能是被攻击了。学会读懂链上数据,是保护自己的第一步。


