1.三明治攻击介绍
经常在链上打新和交易 meme coin 的 trader 都会面临三明治攻击(夹子)从而造成本金损失,这种三明治交易俗称夹子机器人,核心思想是通过“夹击”目标交易(有滑点),在目标交易执行前后分别发起买卖两笔交易从中获利,从而形成套利。
1、前置买入: 在目标交易之前买入代币
2、目标买入: 目标交易执行,推高市场价格
3、后置卖出: 在目标交易之后卖出代币,赚取差价
如图 MEV Bot:
2.三明治交易(夹子机器人)原理
在 EVM 链上交易时,所有的交易都会聚到 mempool 内存池中,验证者都会从内存池中以 GasPrice 高低顺序进行打包并确认,所以三明治攻击者可以在交易被打包前监控到所有交易并解析数据。
在碰到热门币交易时,大家处于 fomo 阶段时会设置高滑点 slippage 去进行竞价,但是交易的执行价格不同于预期价格,并且链上报价有一个区块时间的延迟,所以三明治攻击者会监控 mempool 公共内存池,通过解析未打包交易数据,根据交易滑点来计算利润从而进行三明治攻击。
3.计算最大买入量
在目标交易成功的基础上,根据目标交易的输入金额和输出金额计算前置买入的最大输入量,从而实现利润最大化。
4.贿赂矿工 MEV
MEV 被称为矿工可提取价值(Miner Extractable Value),指的是矿工通过在区块链区块中对交易进行重新排序、插入或排除操作所能获得的额外利润。当进行三明治攻击的时候,为了三笔交易能按照指定顺序被矿工打包,所以三明治攻击者会将大部分利润贿赂给矿工从而达到盈利。
5.如何避免被夹
1、在发送交易时设置滑点 slippage 不能过高,Dex 前端网页显示的滑点 slippage 是存在区块延迟
2、通过第三方隐私 rpc 发送交易,这样交易不会进入 mempool 内存池,从而避免被夹
3、列举了部分公链隐私rpc
ETH: https://rpc.flashbots.net/fast
BSC: https://bsc.rpc.blxrbdn.com、https://bscrpc.pancakeswap.finance
此文章内容由云梦量化科技区块链开发工程师Bobby创作投稿。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。