Skip to main content

为什么会发生三明治攻击?

本页说明三明治攻击的根源。

公开内存池(Mempool)

  • 交易在被打包进区块之前,会在内存池(待处理交易池)中公开可见。
  • 攻击者监控内存池,捕捉大额交换或滑点容忍度较大的交易,并迅速组装攻击交易。
  • 这类“透明度”是区块链的特性,但也滋生了抢跑。

RPC 的滥用

  • 许多用户与 dApp 通过 RPC 服务器连接网络。
  • 恶意的 RPC 可拦截交易并提前泄露给攻击者。
  • 使用某些“免费 RPC”或不透明的基础设施,会增加订单流泄露与被滥用的风险。

验证者“行贿”(MEV‑Boost)

  • 在以太坊 PoS 中,验证者可以决定区块内交易的顺序。
  • 搜寻者(攻击者)向验证者/构建者支付贿赂(bribe),以在有利位置插入自己的交易。
  • 在 MEV‑Boost 机制下,这种排序优化以经济竞价的方式进行,潜在有害的交易序列也可能通过“合法的拍卖”被实现。

验证者不当行为

  • 若验证者自行构建区块,也可能直接实施三明治。
  • MEV‑Boost 虽降低了单个验证者任意妄为的动机,但并未完全消除风险。
  • 在小型网络或验证者集中度高的链上,风险更大。

小结

  • 区块链的透明性(公开内存池)
  • 交易处理的不对称性(掌握排序权的主体)

二者叠加,使三明治攻击成为可能。透明性是区块链的优势,但当下也被这类攻击所利用。