DeFi 数学难题:黑客盯上舍入误差,协议频频遭袭????
DeFi 建设者们正面临一个棘手的数学挑战:逼近法漏洞。黑客趁机从协议中窃取资金,尽管多次审计,类似的漏洞已经影响到 Balancer、Onyx 等 DeFi 协议。
上周,稳定币协议 Raft Finance 遭黑客攻击,损失约 360 万美元。黑客利用闪电贷发动攻击,利用了 Raft 智能合约中的精度损失漏洞。这类漏洞是由于数字逼近时产生的舍入错误导致的,使得黑客能够获得额外的份额代币。
舍入误差和精度丧失在加密领域普遍存在,主要原因是支持加密的计算逻辑与分数不太兼容。与此同时,代币的小数点位数各不相同,例如,USDC 有六位小数,而 DAI 有 18 位。在进行两种代币交换的交易池中,必须设计某种形式的精度缩放以考虑不同的小数点位数。
为了解决这一问题,智能合约审计员 Joe Dakwa 建议,健全的单元测试和模糊测试应成为标准最佳实践。模糊测试是一种可以在智能合约上进行的测试,其中将随机数据输入到代码中,以查看是否出现问题。
大家对 DeFi 安全性有什么看法呢?欢迎在评论区畅谈!