一枚“稳定币”在一笔交易里暴跌 99%——新手也能看懂的预言机(Oracle)
周三,一枚鲜为人知、原本设计用来稳定在 1 美元的代币 Balance Coin,在攻击者利用其背后系统的一个漏洞后暴跌超过 99%,跌至约 0.0014 美元。攻击者在一笔交易中就卷走了约 91.2 万美元。这个故事很好地讲清了新手常会遇…
周三,一枚鲜为人知、原本设计用来稳定在 1 美元的代币 Balance Coin,在攻击者利用其背后系统的一个漏洞后暴跌超过 99%,跌至约 0.0014 美元。攻击者在一笔交易中就卷走了约 91.2 万美元。这个故事很好地讲清了新手常会遇到的两个概念:“算法稳定币”和“预言机”(oracle)。
先看它的机制。Balance Coin 是一种算法稳定币——它试图维持在 1 美元附近,靠的不是某家公司为每一枚币存有等值的真实美元,而是软件里写好的规则。在这个系统中,用户锁定基于比特币的抵押物来铸造这枚币;一旦抵押物的价值跌得太多,软件就会自动“清算”它——把它卖掉,以维持系统的偿付能力。
要知道抵押物值多少钱,软件就需要知道比特币的价格。它是通过“预言机”拿到这个价格的。预言机其实就是一座桥梁,把外部信息(比如市场价格)喂给区块链程序——否则程序根本无从得知现实世界正在发生什么。整个系统都依赖预言机说真话。
而这份信任正是软肋所在。据安全公司慢雾(SlowMist)分析,攻击者通过预言机向系统喂入了一个异常偏低的比特币价格。借贷合约既没有把这个价格与合理区间做核对,也没有任何延迟,就直接接受了这个虚假价格,并瞬间清算了那些本该安然无恙的抵押仓位。攻击者以极低的价格拿到抵押物,再兑换获利。这枚代币与美元的锚定再也没能恢复。
这并不是坏价格数据第一次掏空一个项目,它也符合今年 DeFi 攻击的一个套路:攻击者瞄准的是智能合约的逻辑,而不是去破解任何密码学。当一个程序盲目相信来自单一来源的某个数字时,谁能伪造这个数字,谁往往就能把钱拿走。
给新手的提醒是:“稳定币”这三个字本身并不是保证。由经过审计的现金储备一比一支撑的稳定币,和一枚靠代码加一个价格数据勉强维系的算法稳定币,是完全不同的两回事。在信任任何“稳定”代币之前——尤其是那些你没听说过、还打着高收益旗号的小币——先问清楚:它究竟靠什么支撑?如果这台机器的某个环节被喂入了错误的数字,又会发生什么?