知识库
返回
explainCKBot·
2 mins
什么是区块链网络中的三明治攻击?

三明治攻击是区块链网络中一种隐蔽却威力很强的威胁,攻击者利用去中心化交易所的透明性获利,让毫不知情的交易者蒙受损失。

cover

去中心化交易所(DEX)中,一种不太显眼却日益严重的威胁,是所谓的三明治攻击(sandwich attack)。DEX 是点对点市场,用户可以连接钱包,直接将一种加密货币兑换为另一种,无需中央权威。

三明治攻击是一种恶意交易行为:攻击者在受害者的大额买单或卖单之前,放置一笔抢先交易(front-run)订单,并在其后立即放置一笔尾随交易(back-run)订单。通过将受害者交易“夹”在中间,攻击者从价格变化中获利,受害者则最终支付更多,或收到更少代币。

基础要素:AMM、区块链透明性与 MEV

中心化交易所(CEX)由公司控制订单簿和交易撮合,大多数 DEX 则依赖自动做市商(automated market maker,AMM)模型。在 AMM 中,代币价格由根据池内流动性调整的数学公式决定。这消除了对中介的需求,却也为新型市场操纵打开了大门。

在以太坊等网络上,待处理交易在内存池(mempool)中可见;内存池是尚未确认的区块链交易的临时等候区。这种透明性让验证者能够验证交易,也让攻击者能够提前看到即将发生的交易。许多攻击者和机器人不断扫描内存池,寻找公开数据中隐藏的获利机会。

这就涉及最大可提取价值(Maximal Extractable Value,MEV)。MEV 指矿工、验证者或机器人通过重新排序、插入或审查区块内交易,在标准交易手续费之外提取的额外利润。有权安排区块内交易顺序的验证者或矿工,可以策略性地安排交易,使自己获利。

控制交易顺序的能力、内存池中待处理交易的公开可见性,以及可预测的 AMM 价格影响,共同形成了让三明治攻击频繁发生在许多 DEX 上的有利条件。

什么是三明治攻击?它如何运作?

三明治攻击是发生在 DEX 上的一种复杂市场操纵。恶意参与者在受害者的交易前后放置两笔交易:一笔紧接其前,即抢先交易;另一笔紧随其后,即尾随交易。

受害者的交易就这样被“夹”在攻击者的两笔交易之间。攻击者通过操纵资产价格,使其朝有利于自己的方向变化而获利,受害者则得到较差的结果。

假设 Alice 想在 DEX 上购买大量代币。交易提交后,就会在区块链内存池中可见。内存池包含等待矿工或验证者处理的未确认交易。恶意参与者 Bob 监控内存池,寻找可能影响代币价格的大额交易。一旦发现 Alice 的交易,Bob 就有针对性地采取行动。

Bob 的第一步是抢先交易:在 Alice 的交易之前放置自己的买单。由于 AMM 算法的特性,这笔买入会暂时推高代币价格。Alice 的交易随后执行时,她会在不知情的情况下,以高于最初预期的价格购买代币。

接着,Bob 进行尾随交易,以因 Alice 的交易而进一步上涨的价格,卖出自己买入的代币。攻击者的利润来自低买高卖的差价,而 Alice 则因价格操纵蒙受损失。

这似乎是一项只有专业交易者才能完成的复杂操作,但机器人和自动化脚本的普及,让技术知识很少的人也能实施三明治攻击。这些机器人不断扫描内存池,执行交易的速度远超任何人的手动操作。

哪些人通常会成为目标?

三明治攻击不只针对大户,也可能影响任何在 DEX 上交易的人。常见目标包括:

  • 流动性较浅的池中相对较大的单笔交易,因为攻击者更容易推动价格。

  • 在不知情的情况下设置过高滑点容忍度、让自己暴露于风险中的散户交易者。

  • 流动性较差或新上线代币的交易,因为其价格影响较大。

  • 监控与缓解措施较弱的新兴链或新 AMM 池。

只要流动性足够薄弱,即使小额交易也可能成为目标。攻击者的目标很简单:寻找只需小幅操纵就能快速获利的机会。

识别三明治攻击

识别三明治攻击可能很困难,对偶尔交易的用户尤其如此。关键在于理解这类操纵的迹象。一种常见信号是,交易执行前,代币价格突然意外上涨,紧接着又迅速回落。交易者可能发现,尽管市场状况看似稳定,自己的交易成交价格却比估计更差。

已经出现了一些链上分析工具,帮助识别符合三明治攻击特征的模式。这些平台监控交易历史、内存池活动和价格变动,以发现潜在攻击。

缓解三明治攻击的策略

对个人交易者而言,最有效的方法之一是设置滑点容忍度(slippage tolerance)上限。用户通过规定可接受的成交价格相对预期价格的偏离程度,降低以被操纵价格成交的可能性。如果滑点超过预设上限,交易就不会继续,从而保护交易者免受过大损失。

避免在流动性薄弱的市场进行过大交易、分散代币持仓,以及使用声誉良好且内置防抢先交易措施的 DEX,都有助于降低风险。

一些 DEX 聚合器现在通过私人中继(relays)路由交易,或使用矿工打包交易(例如通过 Flashbots),提供 MEV 保护。目标是从完全透明的内存池,转向保护更严密的交易提交流程。一些链也在探索内置的公平交易排序或 MEV 排除区。

结语

三明治攻击是区块链网络中一种隐蔽却威力很强的威胁,攻击者利用 DEX 的透明性获利,让毫不知情的交易者蒙受损失。通过在受害者交易前抢先交易、在其后尾随交易,攻击者能够以可预测的方式操纵代币价格。

为保障安全,交易者应降低滑点上限、使用流动性更深的池、拆分大额交易,并选择提供 MEV 保护的 DEX。开发者则可以通过实施公平排序、私人交易路由和用户教育来提供帮助。

end