闪电网络有资金风险?一文解读其原理和处理方法
替代循环攻击:重要但不致命。
原文作者:南枳
原文来源:Odaily星球日报
引言
10 月 20 日, Bitcoin Core 核心开发者/dev/fd0 在 X 平台宣布,将停止参与闪电网络及其实施的开发,包括协调处理协议级安全问题。
/dev/fd0 表示,每个比特币节点都有自己的内存池。交易由对等节点转发。如果闪电网络节点用于打开通道并接受 HTLC 转发,那么很容易受到替代循环攻击(Replacement Cycling Attacks)。
该开发者所指的“替代循环攻击”是什么,其具体实现途径如何,Odaily星球日报将于本文揭示。
闪电网络
比特币网络的 TPS 仅约为 7 ,并且手续费高昂,为解决小额支付的需求,闪电网络应运而生。
闪电网络( Lightning Network)是一种针对比特币和其他加密货币的第二层扩展解决方案,旨在解决加密货币网络的可扩展性和交易速度问题。
其实现原理可简化为:
- 交易双方 A 与 B 建立了一个“交易通道”(实际上是个多签钱包)
- A 与 B 分别往里面充钱 A1 和 B1 (此步上链)
- A 与 B 在链下发生任意笔交易,A 净转出额 X(例如 A 向 B 转账 100 次 1 元,B 向 A 转账 99 次 1 元,最终 A 净流出 1 元)
- 将 A1-X 与 B1+X 的交易更新上链
通过以上流程,不论 A、B 在链下进行多少次交易,都只要支付两笔上链费用,并节约了大量的时间。
哈希时间锁合约(HTLC)
以上介绍的形式限于 A 和 B 之间有直接的交易通道,为跨通道支付而出现了中继节点,中继节点中转两者交易,以便跨通道进行支付,而中继节点可以收取小费。
但这面临着一个问题:需要确保每个通道内每个参与者都是诚实守信的,通过多通道链接是安全的。
因而出现了 HTLC(Hash Time-Lock Contract、哈希时间锁合约),一笔带有 HTLC 的支付事务可简化为:
关于【闪电网络有资金风险?一文解读其原理和处理方法】的延伸阅读
火星财经加密周报 | 6月7日
本周欧盟选举开始,加密行业监管政策可能受影响。Tether CEO担心欧盟MiCA稳定币要求会对市场产生负面影响。RoaringKitty可能清算其GME股票头寸,Solana币价增长受益于Meme币交易活动。特朗普竞选团队收到近3亿美元捐款,西班牙90%的World ID持有者支持Worldcoin回归。加密专家密切关注欧盟选举对MiCA、DeFi、NFT等领域的影响。比特币可能因CPI创新高和降息预期上涨,ETH表现落后。Blast提醒DApp在6月25日前分配所有Gold和Points给用户。Bitget Launchpad项目BWB投入总人数增长,IO.NET初始总供应量为5亿枚。五月加密市场大多数指标下跌,但以太坊质押收入上涨,NFT市场交易额下降。加密货币可以解决人类挑战,DeFi夏季最新更新包括Ethena、Etherfi、Karak等项目。Notcoin交易量增加,L2争斗白热化,市场流动性改善,Meme板块吸引资金流入,NFT市场情绪低迷。Shardeum、Merlin和0G Labs与多家合作伙伴合作推进去中心化项目发展。
7月降息“没戏了”?加密市场应声下挫
美国5月非农就业报告强劲,加密市场早盘稳定但下午走低。比特币价格达到历史新高,市场情绪积极,预计未来几周将再创新高。分析师认为,比特币的四年周期是影响因素,预测2025年10月11日将达到新的历史高点。尽管存在泡沫市场的迹象,但与加密货币挂钩的永续期货并没有出现投机热情。市场逐渐成熟和稳定,受到机构兴趣和采用的影响。投资者关注下周的美国CPI数据和美联储货币政策决议。比特币未平仓合约创历史新高,市场情绪积极。
- A 准备一个暗号 R,并计算其哈希值 H
- A 设定一个时限 T
- A 向 B 发送一笔带有 HTLC 的支付事务,仅当符合以下两个条件时交易才会最终成立
- B 回答出暗号 R(通过 H 验证)
- B 回答的时间在 T 之内(例如 10 个区块内给出答案)
- 若 B 不知道暗号,或者回答超时,则资金退回给 A
正常交易流程
通过上述的 HTLC,一笔涉及中继节点的支付流程如下:
- 最终的接收者 C 向发送资金者 A 提供暗号
- A 用哈希值 H 发起 HTLC 支付(请注意,此时资金并未到 B 手中)
- B 接收到支付信息,向 C 用哈希值 H 发起 HTLC 支付
- C 为了接收资金,回答暗号,收到资金。B 此时也知道了暗号
- B 用暗号获取 A 发起的支付,收到资金,交易完成
涉及三者的流程如上,中间也可以多加入几个中继节点,而支付模式仍保持不变,通过链式发送支付到最终接收者,然后再反向传播暗号至初始的中继节点,最终完成交易。
而中继节点如果迟迟没有收到暗号 R(下家不做解答,时限由中继节点自行判断),则中继节点可以选择关闭通道,若成功上链,则 B 发起的支付将“失效”,没有资金损失。
循环替代攻击
回到 HTLC 的基本原理中,除了回答暗号外,中继节点还需要达成另一条件“中继节点回答的时间在 T 之内”,而恶意攻击者即是瞄准了该点进行攻击:
- A 和 C 恶意串通,受害人为中继节点 B(B 要求下家 3 个区块内回答)
- A 向 B 发起支付(假设此时区块高度为 1000),要求在 区块 1020 前回答
- B 向 C 发起支付(区块高度 1005)
- 区块高度 1008 时,B 见到 C 还不回答,决定关闭通道,将在区块 1009 生效
- C 发起高 Gas 的交易①(区块 1008),使 B 发起的交易无法进入内存池
- C 发起高 Gas 的交易②(区块 1009),B 仍无法进入内存池
- C 无限循环操作,直到区块 1020 ,给出暗号 R,提取资金
B 尽管获取了暗号,但已没有时间回答 A 发起的支付,资金退回给 A,而向 C 的支付又已经成立,最终“循环替代攻击”实现。此外,A、C 也可以通过串通,循环攻击 B 的关闭交易而实现双花。
结语
尽管存在以上攻击途径,但并不意味着攻击者就可以为所欲为,任意盗取闪电网络中的资金,原文中作者也提出了五种处理办法,如本地内存池和事务中继流量监控、矿工内存池监控等。
前途是光明的,道路是曲折的,今年比特币网络上也诞生出了 Ordinals 、BRC-20、Taproot Asset 等一系列新事物,问题虽存在,但持续的发展终将能解决问题。
免责声明:本文仅代表作者个人观点,不代表链观CHAINLOOK立场,不承担法律责任。文章及观点也不构成投资意见。请用户理性看待市场风险,以及遵守所在国家和地区的相关法律法规。
图文来源:南枳,如有侵权请联系删除。转载或引用请注明文章出处!