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

OKX欧易app

OKX欧易app

欧易交易所app是全球排名第一的虚拟货币交易所,注册领取6万元盲盒礼包!

APP下载   官网注册

原创 | 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 的支付事务可简化为:

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等一系列新事物,问题虽存在,但持续的发展终将能解决问题。

参考资料

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

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

本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/zx/91956.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年10月22日
下一篇 2023年10月22日

相关推荐

  • 比特币如何确保节点的,比特币节点是什么

    一、比特币是什么比特币最完整的介绍比特币最完整的介绍什么是比特币?比特币是骗人的吗?比特币你都不知道,你太out了,让我来好好给你上堂课,把比特币实际上是一种虚拟货币,但它是一个去中心化的货币系统,也就是说它不像其他货币或虚拟货币,有一个中央发行机构,比如美

    2024-12-31 09:30:02
    5 0
  • 如何创建达世币的主节点,区块链项目中的达世币Dash是什么

    一、达世币a5矿机怎么样设达世币a5矿机怎么设置达世币(DASH)是一种基于区块链技术的数字货币,矿机则是用于挖掘数字货币的硬件设备。要设置达世币A5矿机,可以按照以下步骤进行:连接电源和网络:将矿机连接到电源和网络,并确保网络连接正常。进入矿机设置页面:使用浏览器

    2024-12-30 23:00:01
    5 0
  • 孤块如何产生,节点如何加入区块链

    一、节点如何加入区块链企业怎么加入区块链?1.自己买设备挖矿现在有人发明了专门用于挖矿的“矿机”,普通个人想参与挖矿也比较简单了,只要给矿机插上电源和网线就可以开机运行了。不过挖矿也有风险,比特币产量每四年减半,除了矿机,电费,维护等成本外还有计算不稳定,断

    2024-12-29 03:00:01
    10 0
  • 比特币需要多少节点,比特币节点是什么

    一、比特币节点是什么比特币是一种点对点的电子系统,直接来说是节点对节点。每笔交易由发起方向周围的节点进行广播,节点收到之后,广播给自己周围的节点,并将节点扩散至全网。每一个比特币钱包都是一个节点,拥有完整区块链账本的节点叫全节点。根据《关于防范代币发行融资

    2024-12-26 11:30:02
    16 0
  • 比特币有多少个超级节点,区块链节点有多少

    一、区块链节点有多少btc节点数量据Bitnodes统计,比特币区块链上的“可达节点”目前为10208个。在比特币节点数量排行中,美国所占数量最多,为2483个,达到24.32%。中国排名第五,数量为454个。区块链网络中的节点包括区块链网络中的节点包括手机、矿机和服务器等等。节点指

    2024-12-24 08:30:01
    22 0
  • 比特币超级节点有多少个,区块链节点有多少

    一、花两万块买了点比特币,虚拟货币的水到底有多深如果你还没懂区块链是什么,我用一句话简单的概括:区块链就是一个分布式数据库,要往这个数据库存储数据需要每个节点的确认,同时数据一旦存入这个数据库数据将无法修改。区块链其中涉及到的算法是非常复杂的,有兴趣的读者

    2024-12-23 04:30:01
    23 0

发表回复

8206
验证码

评论列表(0条)

    暂无评论

ok交易所
已有100万用户加入ok交易所

立即下载