原创 | Odaily星球日报
作者 | 南枳

10 月 20 日,Bitcoin Core 核心开发者/dev/fd0 在 X 平台宣布,将停止参与闪电网络及其实施的开发,包括协调处理协议级安全问题。
/dev/fd0 表示,每个比特币节点都有自己的内存池。交易由对等节点转发。如果闪电网络节点用于打开通道并接受 HTLC 转发,那么很容易受到替代循环攻击(Replacement Cycling Attacks)。
该开发者所指的“替代循环攻击”是什么,其具体实现途径如何,Odaily星球日报将于本文揭示。
比特币网络的 TPS 仅约为 7 ,并且手续费高昂,为解决小额支付的需求,闪电网络应运而生。
闪电网络(Lightning Network)是一种针对比特币和其他加密货币的第二层扩展解决方案,旨在解决加密货币网络的可扩展性和交易速度问题。
其实现原理可简化为:
通过以上流程,不论 A、B 在链下进行多少次交易,都只要支付两笔上链费用,并节约了大量的时间。
以上介绍的形式限于 A 和 B 之间有直接的交易通道,为跨通道支付而出现了中继节点,中继节点中转两者交易,以便跨通道进行支付,而中继节点可以收取小费。
但这面临着一个问题:需要确保每个通道内每个参与者都是诚实守信的,通过多通道链接是安全的。
因而出现了 HTLC(Hash Time-Lock Contract、哈希时间锁合约),一笔带有 HTLC 的支付事务可简化为:
通过上述的 HTLC,一笔涉及中继节点的支付流程如下:

涉及三者的流程如上,中间也可以多加入几个中继节点,而支付模式仍保持不变,通过链式发送支付到最终接收者,然后再反向传播暗号至初始的中继节点,最终完成交易。
而中继节点如果迟迟没有收到暗号 R(下家不做解答,时限由中继节点自行判断)**,则中继节点可以选择关闭通道,**若成功上链,则 B 发起的支付将“失效”,没有资金损失。
回到 HTLC 的基本原理中,除了回答暗号外,中继节点还需要达成另一条件“中继节点回答的时间在 T 之内”,而恶意攻击者即是瞄准了该点进行攻击:
B 尽管获取了暗号,但已没有时间回答 A 发起的支付,资金退回给 A,而向 C 的支付又已经成立,最终“循环替代攻击”实现。此外,A、C 也可以通过串通,循环攻击 B 的关闭交易而实现双花。
尽管存在以上攻击途径,但并不意味着攻击者就可以为所欲为,任意盗取闪电网络中的资金,原文中作者也提出了五种处理办法,如本地内存池和事务中继流量监控、矿工内存池监控等。
前途是光明的,道路是曲折的,今年比特币网络上也诞生出了 Ordinals、BRC-20、Taproot Asset 等一系列新事物,问题虽存在,但持续的发展终将能解决问题。