为什么会发生三明治攻击?
本页说明三明治攻击的根源。
公开内存池(Mempool)
- 交易在被打包进区块之前,会在内存池(待处理交易池)中公开可见。
- 攻击者监控内存池,捕捉大额交换或滑点容忍度较大的交易,并迅速组装攻击交易。
- 这类“透明度”是区块链的特性,但也滋生了抢跑。
RPC 的滥用
- 许多用户与 dApp 通过 RPC 服务器连接网络。
- 恶意的 RPC 可拦截交易并提前泄露给攻击者。
- 使用某些“免费 RPC”或不透明的基础设施,会增加订单流泄露与被滥用的风险。
验证者“行贿”(MEV‑Boost)
- 在以太坊 PoS 中,验证者可以决定区块内交易的顺序。
- 搜寻者(攻击者)向验证者/构建者支付贿赂(bribe),以在有利位置插入自己的交易。
- 在 MEV‑Boost 机制下,这种排序优化以经济竞价的方式进行,潜在有害的交易序列也可能通过“合法的拍卖”被实现。
验证者不当行为
- 若验证者自行构建区块,也可能直接实施三明治。
- MEV‑Boost 虽降低了单个验证者任意妄为的动机,但并未完全消除风险。
- 在小型网络或验证者集中度高的链上,风险更大。
小结
- 区块链的透明性(公开内存池)
- 交易处理的不对称性(掌握排序权的主体)
二者叠加,使三明治攻击成为可能。透明性是区块链的优势,但当下也被这类攻击所利用。