黑客利用OCA通缩逻辑攻击USDC-OCA池,获利约34万美元 | 加密百科深度分析
加密百科独家解读
这次攻击的核心,可以理解为一个“利用规则漏洞,操纵自动售货机价格”的把戏。
1. 攻击者钻了什么空子?
攻击的目标是一个由USDC和OCA代币组成的流动性池。OCA代币有一个特殊设计:每当有人卖出OCA时,总供应量会按比例销毁一部分,导致剩下的每个OCA理论上更稀缺。攻击者正是利用了这个“卖币即通缩”的规则。
2. 攻击是如何操作的?
攻击者像玩一个精密的套环游戏,把三件事在极短时间内捆绑完成:
第一步(操纵价格):攻击者自己调用项目的 `sellOCA()` 函数卖出大量OCA。这个操作触发了通缩逻辑,同时,合约被设计为会自动从流动性池中移除等量的OCA。池子里的OCA突然被抽走,导致池子中OCA对USDC的价格在瞬间被人工抬高了。
第二步(套现离场):就在价格被抬高的那一瞬间,攻击者立刻用手里另一部分OCA,去这个价格已经失真的池子里兑换出巨额的USDC。因为池子价格显示OCA很“贵”,他能换走的USDC就远高于正常市场价。
第三步(支付“贿赂”):为了能让上面这两步交易被区块链优先打包确认,攻击者向负责打包交易的区块建造者支付了高额“小费”(约112枚BNB)。这确保了整个攻击流程不会被别人打断或抢跑。
3. 造成了什么后果?
这个“抬价-套现”的组合拳,直接从池子里抽走了约42.2万美元的USDC。扣除支付给小费和成本后,攻击者净赚约34万美元。整个过程依赖于项目自身通缩逻辑与流动性池操作之间的一个设计缺陷,让攻击者能够人为制造价格偏差并从中套利。
4. 为什么“抢跑”也出现在这里?
在攻击发生的同一个区块里,还有另一笔类似的失败交易。这很可能是其他攻击者或套利机器人也发现了这个机会,试图执行同样的攻击,但被本次的攻击者通过支付更高“贿赂”的方式抢占了先机。这反映了区块链上这种“黑暗森林”般的竞争环境。
背景资料 (原快讯)
据 BlockSec Phalcon 监测,BSC 链上 USDC-OCA 池遭遇攻击,导致约 42.2 万美元 USDC 被提取。攻击者利用 OCA 的 sellOCA()通缩逻辑,在交易时同步从流动性池中移除等量 OCA,人为抬高价格。该攻击通过三笔交易完成,其中第一笔执行攻击,后两笔用于支付贿赂。攻击者向 48club-puissant-builder 累计支付约 112 枚 BNB,最终利润约 34 万美元。同区块内另一笔相关交易失败,疑似被该攻击者抢跑。
注:以上背景资料自公开行业资讯,加密百科网仅作科普解读。
