启用 Anti-MEV
在提交交易的 endpoint 后追加?anti_mev=1 即可启用 Anti-MEV 保护。启用后,BlockRush 会自动为交易添加 Jito Sandwich Mitigation 所需的 jitodontfront 账户,无需手动修改交易指令。
sendTransaction
submitBatch
如果 endpoint 已经有
? 查询参数,请使用 &anti_mev=1 追加。BlockRush 自动完成的处理
当anti_mev=1 开启后,BlockRush 会自动在交易中添加一个以 jitodontfront 开头的有效 Solana public key。例如:
jitodontfront 账户的交易,在 Jito Bundle 中只有位于第一个位置时才会被 block engine 接受。这意味着攻击者无法把其他交易放在该交易前面进行 front-run。
用户不需要手动添加 jitodontfront 账户,只要在 endpoint 后增加 anti_mev=1,BlockRush 会自动完成相关处理。
Anti-MEV 保护无法保证 100% 避免所有 MEV 风险,因此仍建议用户:
- 设置合理且较低的滑点;
- 保护交易策略和私钥信息;
- 避免在公开环境泄露敏感交易信息。
三明治攻击是如何发生的?
三明治攻击是一种攻击者故意将用户交易夹在两笔攻击交易之间的 MEV 攻击方式。通常流程如下:- 攻击者先发送一笔 front-run 交易,在用户之前买入或执行相关操作;
- 用户的正常交易随后执行;
- 攻击者再发送一笔 back-run 交易,在用户交易完成后卖出或执行反向操作。
常见的攻击方式
使用 Jito Bundle。 攻击者将 front-run、用户交易、back-run 三笔交易打包进同一个 Jito Bundle,并提交给 Solana validator。Bundle 顺序受保证,因此攻击更稳定。 使用普通交易进行抢跑和尾随。 攻击者监听交易传播,并快速发送两笔普通交易,分别排在用户交易前后。这种方式依赖网络速度、费用设置和排序能力,执行难度更高,但不完全依赖 Jito Bundle。BlockRush Anti-MEV 为什么有效?
自动添加 jitodontfront
Jito Sandwich Mitigation 可以防御基于 Jito Bundle 的三明治攻击。当交易中包含 jitodontfront 账户时,如果该交易不是 bundle 中的第一笔交易,Jito block engine 会拒绝该 bundle,从而阻止攻击者将 front-run 交易放在用户交易之前,降低用户交易被夹击的风险。
在 BlockRush 中,用户只需要开启 anti_mev=1,BlockRush 会自动添加 jitodontfront,无需手动处理交易指令。
Anti-MEV 提交路径
开启anti_mev=1 后,BlockRush 会通过 Anti-MEV 提交路径处理交易,帮助降低交易在传播和排序过程中被 MEV 攻击利用的风险。如果检测到当前提交环境存在较高风险,BlockRush 可能会调整提交策略,以进一步减少交易被三明治攻击的概率。