闪电网络有资金风险?一文解读其原理和处理方法

区块链1年前 (2023)发布 EdiY
0 0

原创 | Odaily星球日报

作者 | 南枳

引言

10 月 20 日,Bitcoin Core 核心开发者/dev/fd0 在 X 平台宣布,将停止参与闪电网络及其实施的开发,包括协调处理协议级安全问题。

/dev/fd0 表示,每个比特币节点都有自己的内存池。交易由对等节点转发。如果闪电网络节点用于打开通道并接受 HTLC 转发,那么很容易受到替代循环攻击(Replacement Cycling Attacks)。

该开发者所指的“替代循环攻击”是什么,其具体实现途径如何,Odaily星球日报将于本文揭示。

闪电网络

比特币网络的 TPS 仅约为 7 ,并且手续费高昂,为解决小额支付的需求,闪电网络应运而生。

闪电网络(Lightning Network)是一种针对比特币和其他加密货币的第二层扩展解决方案,旨在解决加密货币网络的可扩展性和交易速度问题。

其实现原理可简化为:

  1. 交易双方 A 与 B 建立了一个“交易通道”(实际上是个多签钱包)

  2. A 与 B 分别往里面充钱 A1 和 B1 (此步上链)

  3. A 与 B 在链下发生任意笔交易,A 净转出额 X(例如 A 向 B 转账 100 次 1 元,B 向 A 转账 99 次 1 元,最终 A 净流出 1 元)

  4. 将 A1-X 与 B1+X 的交易更新上链

通过以上流程,不论 A、B 在链下进行多少次交易,都只要支付两笔上链费用,并节约了大量的时间。

哈希时间锁合约(HTLC)

以上介绍的形式限于 A 和 B 之间有直接的交易通道,为跨通道支付而出现了中继节点,中继节点中转两者交易,以便跨通道进行支付,而中继节点可以收取小费。

但这面临着一个问题:需要确保每个通道内每个参与者都是诚实守信的,通过多通道链接是安全的。

因而出现了 HTLC(Hash Time-Lock Contract、哈希时间锁合约),一笔带有 HTLC 的支付事务可简化为:

  1. A 准备一个暗号 R,并计算其哈希值 H

  2. A 设定一个时限 T

  3. A 向 B 发送一笔带有 HTLC 的支付事务,仅当符合以下两个条件时交易才会最终成立

    • B 回答出暗号 R(通过 H 验证)

    • B 回答的时间在 T 之内(例如 10 个区块内给出答案)

  4. 若 B 不知道暗号,或者回答超时,则资金退回给 A

正常交易流程

通过上述的 HTLC,一笔涉及中继节点的支付流程如下:

  1. 最终的接收者 C 向发送资金者 A 提供暗号

  2. A 用哈希值 H 发起 HTLC 支付(请注意,此时资金并未到 B 手中

  3. B 接收到支付信息,向 C 用哈希值 H 发起 HTLC 支付

  4. C 为了接收资金,回答暗号,收到资金。B 此时也知道了暗号

  5. B 用暗号获取 A 发起的支付,收到资金,交易完成

涉及三者的流程如上,中间也可以多加入几个中继节点,而支付模式仍保持不变,通过链式发送支付到最终接收者,然后再反向传播暗号至初始的中继节点,最终完成交易。

而中继节点如果迟迟没有收到暗号 R(下家不做解答,时限由中继节点自行判断),则中继节点可以选择关闭通道,若成功上链,则 B 发起的支付将“失效”,没有资金损失。

循环替代攻击

回到 HTLC 的基本原理中,除了回答暗号外,中继节点还需要达成另一条件“中继节点回答的时间在 T 之内”,而恶意攻击者即是瞄准了该点进行攻击:

  1. A 和 C 恶意串通,受害人为中继节点 B(B 要求下家 3 个区块内回答)

  2. A 向 B 发起支付(假设此时区块高度为 1000),要求在 区块 1020 前回答

  3. B 向 C 发起支付(区块高度 1005)

  4. 区块高度 1008 时,B 见到 C 还不回答,决定关闭通道,将在区块 1009 生效

  5. C 发起高 Gas 的交易①(区块 1008),使 B 发起的交易无法进入内存池

  6. C 发起高 Gas 的交易②(区块 1009),B 仍无法进入内存池

  7. C 无限循环操作,直到区块 1020 ,给出暗号 R,提取资金

B 尽管获取了暗号,但已没有时间回答 A 发起的支付,资金退回给 A,而向 C 的支付又已经成立,最终“循环替代攻击”实现。此外,A、C 也可以通过串通,循环攻击 B 的关闭交易而实现双花。

结语

尽管存在以上攻击途径,但并不意味着攻击者就可以为所欲为,任意盗取闪电网络中的资金,原文中作者也提出了五种处理办法,如本地内存池和事务中继流量监控、矿工内存池监控等。

前途是光明的,道路是曲折的,今年比特币网络上也诞生出了 Ordinals、BRC-20、Taproot Asset 等一系列新事物,问题虽存在,但持续的发展终将能解决问题。

参考资料

  1. https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-October/022032.html

  2. https://github.com/ariard/mempool-research/blob/2023-10-replacement-paper/replacement-cycling.pdf

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

© 版权声明

相关文章

暂无评论

暂无评论...