攻击者拿走约 170 万美元,池子里的窟窿却接近 1100 万 —— 这从来不是同一个数字
跨链流动性协议 Maya Protocol 在 8 月 18 日遭到攻击,三天之后,被认为处于事件中心的那个比特币地址仍持有约 20.83 枚 BTC,一分未动,按报道当时的比特币价格约合 159 万美元。真正没有解决的部分要大得多:受影响…
跨链流动性协议 Maya Protocol 在 8 月 18 日遭到攻击,三天之后,被认为处于事件中心的那个比特币地址仍持有约 20.83 枚 BTC,一分未动,按报道当时的比特币价格约合 159 万美元。真正没有解决的部分要大得多:受影响的池子承受了约 1090 万美元的冲击,而 Maya 至今没有公开说明其中哪些损失会被补偿、剩下的由谁承担。
研究方 SigIntZero 的技术复盘认为,这次攻击把六个记账与状态处理上的缺陷串在了同一笔包含 23 条消息的交易里。被覆盖的出账状态产生了一个转账缺失的假信号,触发了补偿路径,向一个流动性很薄的 ARB.LINK 池记入约 4945 万枚 CACAO,而 Maya 的储备当时只有约 16.8 万枚 CACAO。储备划转失败了,被虚增的余额却留了下来。随后攻击者只需再添入微不足道的一点流动性,就拿到了该池约 99.93% 的份额,提走约 4887 万枚 CACAO,并把它换成了其他 MAYAChain 池子里的资产。
SigIntZero 估算,约 136 万美元的资产被转移到外部链上,约 29.1 万美元留在 MAYAChain,攻击者控制的价值合计约 165 万至 170 万美元。1090 万美元则是另一种性质的数字:CryptoSlate 的分析把其中约 640 万美元归因于 CACAO 的重新定价,约 290 万美元归因于套利——该代币从约 0.115 美元跌至 0.013 美元,跌幅 88.7%。
这道差额,正是初学者最容易忽略的地方。攻击者拿走多少,和其他人损失多少,是两个各自独立的数字。把凭空多出来的大量代币抛进池子会推动价格,而价格一动,伤到的是所有仍然持有该代币、或以它为对手方提供流动性的人,无论攻击者有没有碰过他们的资金。接着套利者会把各个场所之间剩下的价差抹平,过程中同样带走价值。
Maya 创始人 Aaluxx 起初表示,网络可能损失了约 20 枚 BTC(按当时价格约合 140 万美元),外加约 30 万美元的其他资产,并称会设法全额挽回。据报道,Maya 希望攻击者以漏洞赏金的形式退回这笔比特币;若不成,则可能通过 Aztec Chain 的投资等方式设法补上这约 20 枚 BTC。但即使这笔比特币被完整归还,也只覆盖了损失的其中一部分。
这不是投资建议,但有一个模式值得记住。当你向某个池子提供流动性时,你承担的不只是池中资产的价格风险,还有这个池子记账逻辑本身的风险。“资金会被追回”通常指的是攻击者手上那笔可追踪的链上余额,而不是代币重新定价时蒸发掉的价值。在相信一份追偿承诺之前,先找找有没有一份写明哪些损失被覆盖、剩下的由谁买单的公开方案。在这样的方案出现之前,诚实的说法只有一个:尚未解决。