没有共识机制保障的闪电网络真的安全吗1

2019-12-05 06:04:27 来源: 淮南信息港

没有共识机制保障的闪电络,真的安全吗?

在之前的文章中,我们介绍过闪电络的定义和特点。你可能会发现,闪电络交易只在通道开启和关闭时会访问两次BTC区块链,期间大量的交易数据保存在链下。

那在没有其他节点同步交易数据的情况下,谁来验证上链终结果的正确性呢?

其实,通常情况是交易双方共同确认并发布,即表明发布的是双方都认可的正确结果。不过如果是单方关闭通道并发布了过期交易,比特币络的确也是无法立即识别其有效性的。

如何解决这一问题呢?这就要介绍下闪电络的惩罚机制了。简单说,就是如果交易一方在通道关闭时向比特币络发布了过期交易的余额,在被发现后将会被没收相应的BTC金额,没收金额直接给到对方。

闪电络开发者之一Alex Bosworth曾在Twitter上发布过这一惩罚机制的测试结果

这一惩罚机制是由闪电络的RSMC协议(Recoverable Sequence Maturity Contract,中文翻译为“序列到期可撤销合约”)实现的(为方便记忆,不妨参考在白话之前文章中对RSMC的翻译:肉丝冒菜)。

事实上,RSMC不仅可以避免或惩罚欺诈行为,也保障着闪电络每笔交易的有效性。下面通过一个简单的闪电络支付流程,来说明在RSMC协议下,闪电络交易是如何发生的:

1、A和B在闪电络上交易,双方都向一个多重签名地址中存入0.5BTC,此时会开启闪电络的支付通道

,通道内共有1BTC;

2、交易通道开启期间,AB之间可以发生多次转帐,每次转帐双方都会进行签字认可,通道每次会判断双方余额是否足够支付,并在转帐完成后更新余额、 同时作废之前的交易。假设多次交易后,A余额有0.2BTC,B余额为0.8BTC。

这里需要说明的是,在通道开启期间,因为交易数据没有发布到比特币络上,通道内的余额不会影响双方真实比特币地址余额。

3、A不再想和B交易,准备结束交易提现走人,可以把有双方签字的终余额提交给比特币络,并关闭支付通道。如果在指定时间B不反对,那么结果就在比特币络上正式确认,余额按协议转入双方预先设立的提现地址。如果B在指定时间内反对并提交证据,证明A发布的是双方之前过期交易的余额分配方案,那么A资金将被全部罚没给B。

从上面的流程中,我们可以看出RSMC协议可以惩罚欺诈情况,不过在过程中有两点仍然需要注意:

1、B需要在指定时间内发现A造假;这一时间可以自定义,比如可以设置为1000个区块确认时间,即差不多是7天,如果在这7天内没有被发现,那过期后双方交易结果将正式被比特币络确认,惩罚将无法生效。

2、B在反对时需要提供相应的数据,因为闪电络通道关闭前的交易是保存在链下,所以交易双方要妥善保管相关交易数据(包括签名、对方发来的私钥等等),如果数据丢失,就算知道对方是假数据,也无法获得赔偿。

所以,新问题又来了:如何保证B能在指定时间内及时反对并提交证据呢?解决办法有两个:B自己成为闪电节点,或委托第三方(也称“瞭望塔”)来实时监控闪电络发布到比特币链上的交易是否有效,如果发现是笔过期交易时,立即代理B发布惩罚。

在闪电络中,我们似乎常隐约看到第三方的身影:在通道中间节点跳转上、在通道关闭时的交易有效性验证代理上。它们不是必需的,但如果你希望享受更方便、更安全的交易服务,它们似乎又是不可或缺的。

总结:

闪电络的每笔交易,本质上等同于没在比特币络发布的比特币交易,通道关闭时会发布到比特币络。在发布交易的可靠性上,则是通过惩罚机制来执行的,作恶一方会被罚没所有费用。

作者 | Fiona

出品|白话区块链(ID:hellobtc)

治疗小孩便秘吃什么药宝宝脾虚怎么办小孩便秘怎么办吃什么

儿童止咳化痰安全用药
有哪些好用的工作常备药
小儿反复发烧是怎么回事
亚宝药业薏芽健脾凝胶
本文标签: