最近(2023年10月下旬)比特币社区爆出闪电网络可能存在重大缺陷,用户能够构造一种进犯方法来偷钱,英文名叫“lightning replacement cycling attack”。
我读了它的原理,中文名可译成“闪电网络循环替换买卖进犯”。
它的进犯原理如下。
首先解说下闪电网络的工作原理:
1.alice和bob两边注册一个付出通道,便是一起注册一个2-2签名的地址,他们一人持有一把私钥。
alice和bob分别往这个2-2签名的地址里充值0.5btc和0.6btc(金额能够任意挑选,我仅仅举例),这两笔充值买卖都是产生在比特币主链上的,矿工是要承认的。这样这个付出通道的初始状况便是0.5btc归于alice,0.6btc归于bob,咱们记为(alice:0.5btc;bob:0.6btc)。
这样在这个2-2签名地址里,alice和bob就能够相互付出,比如alice能够付出给bob0.1btc,这样状况通道的状况就变成了0.4btc归于alice,0.7btc归于bob,(alice:0.4btc;bob:0.7btc)。而且这样的买卖是不需求到比特币主链上打包,仅仅产生在alice和bob之间的记账,这就叫付出通道。
alice和bob之间能够任意转账,而不需求到主链结算,这就节省了大量的矿工费,而且能够实时到账,不再需求10分钟的区块承认。
但假如只能在两个人之间相互转账买卖,那也没啥用。
2.bob和carol之间也注册一个付出通道,初始状况是bob有1.0btc,carol0btc,记为(bob:1.0btc;carol:0btc)。
3.这时,你看alice和bob之间有付出通道,bob和carol之间也有付出通道。
那alice就能够通过bob,向,carol付出比特币。
付出进程如下:alice向carol付出0.1btc,现实在上述两个付出通道里产生如下的状况改变
1)alice和bob之间的状况改变为(alice:0.3btc;bob:0.8btc)
2)bob和carol之间的状况改变为(bob:0.9btc;carol:0.1btc)
3)这样就完成了从alice向carol转0.1btc的买卖。
4.当越来越多的两边打开付出通道,而且实现了相互联通,就形成了一个付出网络了,咱们称之为闪电网络。
当然详细的技能解说太杂乱了,上述便是最精简的解说。
下面介绍下闪电网络循环替换买卖进犯的大致进程,详细的技能细节我也讲不明白,那些opcode、合约和函数有点杂乱。
1.进犯者是alice和carol两人,这两人合谋去进犯bob,bob是受害者。
2.alice向carol付出0.3btc。
1)初始状况通道如下(alice:0.3btc;bob:0.8btc)和(bob:0.9btc;carol:0.1btc)
2)alice和bob之间的状况通道应该改变为(alice:0;bob:1.1btc)
3)bob和carol之间的状况通道应该改变为(bob:0.6btc;carol:0.4btc)
3.alice和carol决定合伙骗bob的0.3btc
1)carol一直不去招领承认自己收到了来自alice付出的0.3btc,即carol不将闪电网络的收款回执信息发给bob。这样就导致bob也无法在闪电网络内将alice的0.3btc合法的纳为己有。
2)到了一定时刻,alice赖皮,直接在比特币主链建议清算买卖tx1,宣称自己还有0.3btc,而bob在和他的状况通道里只有0.8btc。
tx1这笔买卖中有0.3btc是发给alice自己的地址(单签),这样alice便是试图将不归于自己的0.3btc偷为己有。
3)因为bob没有拿到carol的收款回执,所以bob无法证明(alice;bob)这个状况通道当中状况应该修正为(alice:0btc;bob:1.1btc)
4)一旦tx1在链上被打包,即alice真的偷到了0.3btc后,carol就会立刻在闪电网络里收下0.3btc,将收款回执发给bob。
5)这样,alice没有实在发出0.3btc给bob,而carol却实在收到了bob的0.3btc。所以bob被alice和carol合伙偷走了0.3btc。
6)留意alice在主链上建议tx1偷币买卖时,bob是有反制措施的,即向主链建议买卖tx2证明alice在作弊,但因为bob没有拿到carol的收款回执,所以tx2这笔买卖仍是挺费事的,但理论上是可做到。
而alice在看到tx2后,就会再次使用更高矿工费的方法,重置tx1,以诱使矿工打包tx1,而回绝tx2,这就所谓的“替换买卖(replacement)”。
7)而现在开发者说,alice和carol的合谋,确实是能够让让bob的tx2在比特币主链矿工上看起来更难合法化,而想要更清楚地证明tx2是合法的,需求修正协议,而且对主链来说是一个软分叉,这就难了。
上述便是闪电网络循环替换买卖进犯大致进程,详细的技能原理太杂乱了,我也看不明白,我仅仅假设在网上看到的开发者发布的技能细节是正确的。
进犯的方法是两个夹一个,而买卖所是天然的和一切用户注册了付出通道,所以买卖所要遭殃了。
最后,我感觉这也不是啥大不了的事,软件哪有没bug的啊,会有方法修正的。
此时快讯
【德林资产管理升级为德林数字家族办公室,将结合区块链等技术提供投资服务】金色财经报道,港股上市全牌照金融服务集团德林控股发布自愿公告宣布旗下德林资产管理现已升级为德林数字家族办公室(德林数字家办),拟从传统资产管理形态朝着数字家族办公室转型,并将结合区块链等技术,帮助资管类专业投资级客户获得投资服务。
2023年8月,德林控股主席陈宁迪披露旗下资产管理规模已经接近40亿美元(约312亿港元)并将开始留意虚拟资产市场。