Balancer 去中心化交易所协议中的一个关键漏洞允许攻击者通过利用分批交换机制中的舍入误差提取超过1.2亿美元。分析显示,EXACT_OUT 交换函数中的有缺陷逻辑在多个步骤中错误地放大和缩小代币数量,导致微小的余额失衡在重复交易中累积。这些差异,类似于抹去小数部分的极小分数,被黑客系统性地抽走,直到触发流动性不足的条件。
该漏洞针对包含具有不同十进制精度的代币的池子,这一情形在经过多次安全审计后仍未被发现。在批量交易过程中,Balancer 的代码在执行价格计算之前将输入金额转换为 18 位小数表示,然后再将结果还原为本地代币的小数位。在某些情况下,最终的降尺度步骤向上舍入数值,使得交换发起者获得额外资产。通过高频微型交换,攻击者累积的收益超越了链上滑点限制。
在被发现后,Balancer 团队发布了初步报告,并与区块链验证者及节点运营商协调,实施紧急措施。在 Polygon 和 Sonic 平台,治理机构部署冻结模块以锁定受影响的池合约并拦截外发转账。Berachain 的股东批准了紧急硬分叉,以回滚漏洞利用窗口并为流动性提供者提供赔付。这些干预凸显了不可变账本原则与去中心化金融生态系统中快速危机响应之间的持续紧张态势。
这一事件重新点燃了关于安全控制集中化的辩论,批评者认为冻结功能和硬分叉与“代码即法律”的信条相悖。支持者则认为在高风险环境中需要自适应治理工具来保护用户。Balancer 的漏洞强调对严格的小数处理检查的重要性,并凸显出利用数学边缘情况的日益演变的攻击向量。协议开发者现在正重新审视审计框架,并将自动模糊测试整合到小数运算中,以防止未来版本出现类似漏洞。
评论 (0)