一条链说停就停,Initia 无上限铸币被薅 270 万美元复盘

上周五下午,一条公链自己按下了暂停键。Initia 在官方账号上说,因为安全事件,主链和它上面的 Rollup 从世界标准时间 10 月 23 日 15 点 41 分 30 秒起全部停摆,链停在 23365925 号区块,之后再没有新块。没被偷走的人也一样受影响,充值、兑换、跨 Rollup 转账一起冻结,账上的币在那一刻动不了。损失数字还在其次,链停了本身就是事故。

攻击的路子并不复杂。安全研究员 Spreek 最先公开报警,说有人凭空造币,已经把将近 260 万美元换成了别的资产。Initia 联合创始人 Ezaan Mangalji 随后给出初步判断,MoveVM 执行环境里有一个从第一天就存在的 Day 0 缺陷,让攻击者绕过铸币上限,直接在主链上增发代币。D2 Finance 的链上追踪补全了后半段,攻击者大约造了 200 万枚没有真实抵押支撑的 AUSD 形态代币,走跨链桥转到以太坊,最后汇总到一个钱包,约 1135.5 枚 ETH,按当时价格算大约 273 万美元。这笔交易只花了 135888 单位 Gas,直接调用了 Move 函数,桥的安全检查没有被攻破,洞开在铸币这一步。

有三处口径必须分开说。第一,270 万美元是联合创始人给出的初步估计,加上 D2 Finance 的链上汇总,项目方还没有公布最终确认的损失总额和重启时间,拿初步数当定论就过了。第二,联合创始人明确说,这个缺陷不适用于原生 INIT 代币,偷的是增发代币换成的资产,看到 INIT 名字就说原生币被增发了,属于张冠李戴。第三,AUSD 背后的 Agora 专门澄清,它在 Initia 上没有部署任何合约,别的链上的 AUSD 照常运转、足额抵押,写成 AUSD 发行方合约被攻破,同样是错的。

交易所的动作来得很快。Upbit 在 10 月 23 日 15 点 57 分暂停了 INIT 的充值和提现,站内交易照常走。从链停摆到大所关充值只隔了 16 分钟,消息扩散的速度远比任何人手动反应的速度快。INIT 当天先跌了大约 14%,市场第一反应是害怕,但真正决定你亏不亏的,往往是你当时能不能动。

这件事给散户留了三个可以直接用的提醒。链停摆是一种独立风险,币没有被盗,不等于币能动,平时把一部分资金放在自己能控制的钱包里,比全押在一条链的生态里踏实。铸币上限和抵押支撑是看项目时最值得问的两句话,代币能不能被凭空多印,印出来的东西有没有真东西撑着,这两点没说清楚的项目,桥接得再顺滑也只是帮印出来的东西更快变现。事故当天的所谓恢复、退款消息要默认先怀疑,Initia 官方自己都在公告里提醒用户提防非官方链接,停摆期间冒出来的捷径,十有八九是冲着着急的人来的。

我的观点很直接,这次事故的教训不在 270 万美元这个数字有多大,而在一条链可以因为一个铸币环节的缺陷,在 16 分钟内从正常运转变成全网冻结。散户防不住 Day 0 缺陷,但能防住把全部身家放在一个单点上,也能防住在停摆期间乱点链接。看项目的时候多问一句,这个币能不能被多印,这句话在事故发生前问,成本最低。

你有没有遇到过链停了、交易所关了充值、币明明在账上却提不出来的时刻,当时你是怎么处理的?
#Initia #链上安全 #被黑复盘 #跨链桥 #钱包安全
—— web3韭菜小凯
本帖仅为事件复盘与个人观点,不构成投资建议,提到的金额以公开报道与项目方初步说法为准,最终损失以官方确认结果为准。