链上交易被夹22万USDC只换回5272USDT

网络安全3周前发布 cryptobaby
1,245 0 0
关键要点
  • 研究表明,交易攻击方法可能是“夹心攻击”(sandwich attack),这是一种在去中心化交易所(DEX)上的市场操纵形式。
  • 证据倾向于认为,攻击者通过在用户交易前后放置订单来获利,影响价格并导致用户损失。
  • 这种方法似乎与矿工可提取价值(MEV)交易有关,特别是在以太坊等链上。
  • 防范措施包括设置适当的滑点容忍度、使用限价订单和选择高流动性的代币。

引言
在去中心化金融(DeFi)迅速发展的背景下,交易攻击成为一个重要问题。特别是夹心攻击(sandwich attack),因其对用户交易的直接影响而备受关注。本文将详细探讨夹心攻击的定义、原理、过程以及防范措施,旨在为用户提供全面的保护指南,并结合提供的X帖子和补充链接内容,分析具体案例。
夹心攻击的概述
夹心攻击是一种市场操纵形式,攻击者利用区块链交易的透明性,在用户的大额交易前后放置订单,获利。研究表明,这种攻击主要发生在去中心化交易所(DEX),如Uniswap和Sushiswap,利用自动做市商(AMM)机制的特性。例如,Coinbase指出,夹心攻击通过前跑和后跑影响价格,造成用户损失。
攻击原理的深入分析
夹心攻击的核心在于价格滑点和交易顺序的操纵。攻击者通过以下步骤实现:
  • 前跑(Front-Running): 攻击者在用户交易之前购买目标代币,消耗流动性池中的代币,推高价格。
  • 用户交易执行: 用户交易按新价格执行,支付更高成本或获得更少代币。
  • 后跑(Back-Running): 攻击者在用户交易后立即卖出,锁定因价格上涨带来的利润。
这种攻击的可能原因包括区块链交易的公开性,任何人都可以在内存池(mempool)中看到挂单。研究如CoinMarketCap显示,价格滑点是关键因素,尤其在流动性较低的池中。
攻击过程的详细示例
假设一个用户计划用220,000 USDC交换USDT,初始价格为1 USDC = 1 USDT,流动性池有1,000,000 USDC和1,000,000 USDT。攻击者看到挂单后,执行以下步骤:
  1. 前跑交易: 攻击者用10,000 USDC购买USDT,计算公式为:

    • 接收的 USDT 量 = (1,000,000 * 10,000) / (1,000,000 + 10,000) ≈ 9,901.96 USDT。
    • 池变为:USDC 1,010,000,USDT 990,098.04。
  2. 用户交易: 用户的220,000 USDC交易执行,计算公式为:

    • 接收的 USDT 量 = (990,098.04 * 220,000) / (1,010,000 + 220,000) ≈ 177,098.83 USDT。
    • 用户损失约42,901.17 USDT(与未攻击时的180,327.87 USDT比较)。
  3. 后跑交易: 攻击者卖出9,901.96 USDT,计算利润:
    • 池变为:USDC 1,230,000,USDT 812,999.21(用户交易后)。
    • 攻击者卖出9,901.96 USDT,接收USDC ≈ 14,812.24。
    • 攻击者利润 ≈ 14,812.24 – 10,000 = 4,812.24 USDC。
这种计算复杂,但研究如Unchained提供了类似案例,显示攻击者如何利用价格差获利。
具体案例分析:X帖子与补充链接
近期,一位X用户“jin_asac”分享了一个案例(X帖子),提到有人用220,000 USDC只换出了5,272 USDT,明显低于预期。分析显示,这是夹心攻击的结果,用户设置的amountOutMinimum为0,接受任何数量的USDT,导致交易容易被操纵。补充链接(Uniswap分析)进一步指出,这种情况可能发生在Uniswap V2或V3上,攻击者利用低流动性池和用户设置不当的滑点参数进行操作。
我来分析一下整个流程。
首先打开链接,发现是区块前 3 笔。说明这肯定是一个 MEV 交易.用户被夹了,那么用户为什么会被夹呢?根本原因是什么呢?可以看图 1,链上交易被夹22万USDC只换回5272USDTamountOutMinimum:0 说明用户交易以后,可以接受的最少 usdt 数量是 0。这种交易发在链上,就是给bot 送钱啊。
链上交易被夹22万USDC只换回5272USDT 链上交易被夹22万USDC只换回5272USDT
研究显示,2021年4月,Uniswap V2每月约有84,000次夹心攻击,平均每30秒一次(Cyberscope)。受害者损失的大小取决于交易规模和流动性,较大交易更容易被攻击。
影响与风险
夹心攻击对受害者的主要影响是金融损失。特别在低流动性池中,价格滑点放大,损失可能高达预期价值的90%以上,如上述案例所示。
防范措施的全面指南
以下是详细的防范策略,旨在降低夹心攻击的风险:
  • 设置适当的滑点容忍度: 建议将滑点设置为1%-2%,避免过高设置,如Trust Wallet建议。
  • 使用限价订单: 限价订单可指定交易价格,减少滑点影响,适合价格敏感的用户。
  • 选择高流动性代币: 高流动性代币如USDT或USDC较难被操纵,研究如CoinGecko支持此观点。
  • 使用MEV保护工具: 一些平台如Flashbots提供MEV保护,减少交易被前跑的风险。
  • 监控交易费用: 高燃气费可能表明MEV活动,需谨慎。
  • 教育与意识: 了解夹心攻击的工作原理,如Matcha提供的指南,帮助用户做出明智决策。
数据与表格分析
以下表格总结了夹心攻击的常见特征和防范措施:
特征
描述
前跑(Front-Running)
攻击者在用户交易前购买目标代币,推高价格。
用户交易执行
用户按新价格交易,损失增加。
后跑(Back-Running)
攻击者在用户交易后卖出,锁定利润。
常见平台

Uniswap,Sushiswap 等去中心化交易所。
风险因素
低流动性池、大额交易、滑点容忍度过高。
防范措施
效果
设置滑点容忍度
限制价格波动,减少损失。
使用限价订单
确保交易按指定价格执行。
选择高流动性池
降低价格操纵可能性。
使用MEV保护工具
隐藏交易,减少被攻击风险。
监控燃气费
避免在高MEV活动期间交易。
结论
夹心攻击是DeFi生态系统中的重大威胁,但通过适当的防范措施,用户可以显著降低风险。本文提供了详细的分析和实用建议,鼓励用户在交易前充分了解并采取保护措施,以确保资产安全。
© 版权声明

相关文章

暂无评论

暂无评论...