Liquid Network 在9月28日生态系统更新中表示,已开始对 Elements v23.3.4 进行独立外部安全审计,并正在更换赎回授权密钥(PAK)条目,以安全恢复比特币锚定赎回。
该网络称,比特币锚定赎回目前仍处于暂停状态,且尚未给出恢复提款的具体日期。上述审计与 PAK 更换,是9月6日攻击事件后分阶段恢复计划中的最新步骤。
Elements v23.3.4 接受审计
Elements v23.3.4 于本月早些时候发布,用于修复9月6日事件中被利用的软件缺陷。当时,攻击者创建了约4000枚无背书的 LBTC,并利用 Liquid 正常赎回流程从联盟储备中提取比特币。外部审计将在赎回功能重新开启前,对该版本增加一层审查。
Elements 是 Liquid 背后的开源区块链平台。Liquid 使用机密交易,隐藏交易金额,同时通过密码学证明让节点验证这些金额有效。
Liquid 的事后评估称,该漏洞涉及 Elements 缓存 rangeproof 验证结果的方式。此前一项改动从缓存键中移除了部分交易上下文,形成共识缺陷,使缓存验证结果可能在不同情况下被重复使用。随后修复解决了最初发现的问题,但第二个涉及缓存键字段组合方式的问题仍然存在。9月6日攻击者利用第二个弱点,创建了一笔价值没有得到输入背书的输出。
Elements v23.3.4 改变了 rangeproof 和 surjection proof 缓存键的构造方式,通过为每个字段添加长度前缀进行序列化。Liquid 表示,这一改动可防止不同输入集合通过攻击中使用的碰撞方法产生相同缓存键。该加固修复于9月8日合并至 Elements 23.3.x 发布分支,Elements v23.3.4 于次日发布。
在功能节点收到所需软件更新后,Liquid 恢复了区块生产,但赎回操作仍被禁用。随着 Liquid 推进分阶段恢复,交易随后恢复。
PAK 条目被更换
9月28日更新还聚焦用于授权 Liquid 至比特币赎回的 PAK 系统。在 Liquid 架构下,PAK 条目包含两把功能不同的密钥。离线组件由成员的比特币收款钱包派生,在线密钥则签署赎回请求。功能节点使用离线组件验证比特币目的地属于已注册的 PAK 条目。控制收款比特币的私钥应保持离线。
在线组件的私钥需在 Elements 节点上运行,因为赎回流程需要它签署释放比特币的请求。Liquid 表示,联盟正在更换现有 PAK 条目,并确保与赎回相关的所有比特币收款密钥在提款恢复前妥善保存在冷存储中。
9月攻击与恢复进展
在创建无背书 LBTC 后,攻击者利用拥有 PAK 的 Liquid 联盟成员 SideSwap 处理赎回。SideSwap 通过其服务收到约4000枚 LBTC,随后联盟签名者释放了约3996枚 BTC。
Liquid 的评估称,两个独立问题导致比特币被取走:Elements 共识漏洞,以及一个联盟成员 PAK 签名流程配置中的缺口。SideSwap 表示,联盟知道其赎回授权密钥在线运行,且该安排多年来在其赎回中一直可见。公司称,事件前未被告知更改密钥运行方式或暂停赎回。SideSwap 还表示,正在审查授权密钥的持有方式,以及支付前适用的限制和检查,并在其与联盟对新安全设置满意前,不会恢复其赎回服务。
原始事件导致约4000枚 BTC 离开联盟储备。相关行为者通过链上消息自称白帽,并在 Blockstream 确认受影响节点已打补丁后,向联盟钱包归还3400枚 BTC。根据 Liquid 最新详细事件评估,约602枚 BTC 仍处于追回努力中。Blockstream 后来拒绝了与剩余资金相关的赏金要求。
赎回仍受限
9月早些时候,普通交易活动已经恢复,但比特币锚定在恢复期间仍受限制。Liquid 最初在9月6日攻击者利用 Elements 缺陷后暂停了桥节点。9月9日,网络使用修正后的链恢复区块生产;随后在联盟监控网络期间,用户交易活动回归。在这些阶段中,赎回一直处于禁用状态。
Liquid 的分阶段恢复计划要求,在网络状态恢复且必要安全工作完成后,才恢复赎回操作。Elements v23.3.4 的外部审计和 PAK 条目更换,是该流程下最新披露的步骤。预计很快会有关于恢复流程的进一步更新。
