开发者生态
morning
流动网络安全事件评估
摘要
Note to readers: The information contained in this report is current as of the date of publication and may be updated as the investigation continues. Technical claims are drawn from internal and exter...
the
and
Liquid
BTC
nodes
The
Bitcoin
its
block
attacker
2026-09-24
1 阅读
约6分钟阅读
greyface-
字号:
读者须知:本报告中包含的信息是截至发布之日的最新信息,并且可能会随着调查的继续进行更新。技术声明来自内部和外部文档,支持源材料和链上分析。我们感谢流动联盟委员会和职能节点运营商在整个过程中的密切协调,以及更广泛的比特币开发社区的审查和支持。内容 1. 执行摘要 2. Liquid 架构和安全不变性 3. 漏洞分析 4. 事件时间表 5. 缓解、修复和恢复 6. 教训和纠正措施 7. 致谢 第 1 部分:执行摘要 UTC 时间 2026 年 9 月 6 日 13:53(Liquid 区块 4,050,336),攻击者利用了 Elements 范围证明验证中的漏洞缓存,允许单个交易通过验证,即使其输出值不受其输入支持。流动节点,包括联邦职能节点,接受了交易。它将 LBTC 供应量夸大了约 4,000 LBTC,背后没有比特币。然后,攻击者通过 Liquid 的标准转出挂钩流程,通过持有转出挂钩授权密钥 (PAK) 的联盟成员 SideSwap 转移未支持的 LBTC。这产生了约 4,000 BTC 的提现,并在比特币区块 965,783 中得到确认。在网络停止之前确认的较小的挂钩使 Liquid 储备从约 4,205 BTC 降至 197 BTC。所有其他 Liquid 发行的资产(USDt、DePix 和其他代币化资产)均未受到该事件的影响,尽管它们在网络暂停期间不可用。事件发生后数小时内,攻击者在链上确认了自己的身份,并在经过几轮谈判后返还了 3,400 BTC(世界标准时间 9 月 7 日 16:09,比特币区块 965,950)。大约有 602 BTC 未偿还。攻击发生后不久,Blockstream 协调停止了 Liquid 桥接节点(用户连接的公共节点),在数小时内部署了紧急临时补丁,并在几天内发布了经过全面审查的强化版本 Elements v23.3.4 。本报告的目的是概述发生的情况,以及 Blockstream 和 Liquid Network 如何应对这一史无前例的攻击。第 2 部分:Liquid 架构和安全不变性 Liquid 是基于 Elements 构建的生产型比特币侧链,Elements 是 Blockstream 开发的开源区块链平台。 Liquid 运行具有自己的链参数、共识配置和主动联盟的 Elements Core,并由 15 个地理分布的功能节点运行。区块需要 15 个功能节点中至少 11 个的签名才能被网络接受。三个架构属性对于理解 9 月 6 日的安全事件及其影响尤其重要:1) 1:1 BTC 支持。通过挂钩锁定在比特币链上的BTC与Liquid上发行的LBTC进行1:1匹配。 BTC 仅在挂钩相应 LBTC 销毁时释放。这完全取决于共识的正确验证,即如果没有匹配且可证明有效的交易,则无法创建 LBTC。在转出挂钩时没有单独的链下准备金检查;转出挂钩机制依赖于侧链自身的验证状态。 2) 保密交易和范围验证。 Liquid 使用 Pedersen 承诺对交易金额和资产类型进行盲化。每个机密输出附加的零知识范围证明证明提交的值在有效范围内,而不会泄露它,并且满射证明将输出的资产生成器与有效的输入资产联系起来。就其本身而言,范围证明仅证明值在范围内。共识规则将其与交易的资产生成器和 scriptPubKey 结合起来,因此证明仅对特定位置的特定输出有意义。 Elements 会缓存这些昂贵检查的结果,以避免跨内存池和块验证重新验证相同的证明。 3)基于PAK的转出挂钩授权。根据 Liquid Federation 会员章程和 PAK 条目创建说明,每个 PAK 条目都有两个密钥。每个键都有不同的作用。 A) 离线密钥。这是源自会员冷钱包的比特币扩展公钥(xpub)。它允许功能节点的 HSM 验证转出目的地是否属于已注册的 PAK 条目,而无需钱包的私钥。转出挂钩收益将用于接收从此密钥派生的地址。该宪章指示会员“保持比特币接收钱包离线且安全”。即使攻击者突破了其他防御措施,这也能保证支持 LBTC 的比特币安全。 B) 在线密钥。这是 secp256k1 密钥。它的私有部分位于正在运行的 Elements 节点上,位于该节点的转出挂钩钱包中。它保持在线状态,因为它签署了转出挂钩请求。换句话说,PAK授权做了两件事:它控制BTC可以去哪里(离线密钥),它控制谁可以请求发送BTC(在线密钥)。离线
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱