ALICE:闪电网络:详解比特币Layer2扩容方案

什么是闪电网络?(LightningNetwork)

闪电网络是比特币最具讨论度的Layer2扩容方案之一,其背后的主要思想是设计一种支付协议,可用于比特币所面临可扩展性问题的链下解决方案。

究竟比特币面对的问题是什么?闪电网络又要解决什么问题?

以比特币的交易速度来说,每秒只能处理2~7笔交易,想像一下用比特币进行支付,就像需要去银行排队转帐一样,一但交易量暴增,银行很难处理?这种支付方式明显难以接受。

而闪电网络就像行动支付,你可以把一部分的钱存到行动支付,与任何支援的商家或个人快速地进行转帐。

某一天夜深人静,阿平跟阿菜两人无聊,决定比赛,用行动支付互相转帐,每笔只转一块钱,看谁转的比较多。

如果是传统的银行模式,两人可能排队排一夜只能玩个几次,还需要花手续费,根本没办法玩。

透过行动支付一个晚上下来可以转上千次,最终结果是阿菜比阿平手速快,一块险胜。

而结算时行动支付会替他们去银行排队,然后跟柜台说:“阿平帐户馀余额-1,阿菜帐户余额+1”。读到这就能大致了解闪电网络解决方案的基本逻辑了。

重点来了,“闪电网络”要如何运作才能保证资产能够在无信任的前提之下进行交易,并保障交易能够安全的回到比特币主链上确认呢?

以下就来介绍几项闪电网络的关键技术的概念。

单向支付渠道

单向支付渠道(One-DirectionalPaymentChannel)

在闪电网络出现之前,单向支付渠道的概念已经存在了一段时间了,但应用有限。

Tether推出Synonym公司旨在通过闪电网络促进比特币的采用:11月17日消息,Tether创立的Synonym Software公司于周二正式启动,旨在通过利用闪电网络的独立金融平台将比特币 ( BTC ) 交易引入主流。 Synonym的目标是通过创建一个利用比特币和闪电网络的开放金融生态系统来实现对加密资产的自我所有权和控制权。Synonym首席执行官John Carvalho说:「超比特币化(Hyperbitcoinization)不会奇迹般地自行发生。为了生活在一个没有大银行、没有压迫性法规,也没有科技巨头主导我们生活的世界中,我们需要一个战略和生态系统来取代传统经济。这就是Synonym的用武之地。」注:超比特币化(Hyperbitcoinization)是说比特币成为世界上主要货币的状态。所有人都停止使用本国法币,转而开始使用比特币,人们不会再用法币来衡量比特币,而是用比特币来衡量这些法币。(Cointelegraph)[2021/11/17 21:56:52]

Alice向Bob开启了一个单向支付渠道,在这渠道中Alice有10BTC,Alice可以向Bob支付链下交易,但这个渠道是单向的,也就是说Bob不能通过相同的渠道支付给Alice。

假如Bob在接收到1个比特币后:

可以选择关闭渠道,将交易广播至主链,让矿工做确认,即可从Alice那获得1个比特币。

或者,Bob知道日后Alice会继续支付比特币给他,选择让通道继续开着。

问题来了,Bob拥有最后的签名与广播权,如果Bob是个无赖,让通道一直开着,Alice就永远没办法结算,10BTC就会被被绑架在这个支付渠道中。

Paxful将增加对比特币闪电网络的支持:2月18日消息,比特币P2P市场Paxful将增加对比特币闪电网络的支持。Paxful的联合创始人Artur Schaback表示,该交易所将在两周后进行测试,之后将逐步向用户推出闪电网络存款和取款比特币。(Decrypt)[2021/2/19 17:28:06]

所以一般而言,支付渠道都会搭配一个配套措施“时间锁”。

时间锁CheckSequenceVerify

所谓的时间锁就是,在创建通道时会先约定好一个时间,时间一到,通道就必须强制关闭,有两人签名的交易将会上链做交易确认,没有签名的余额,会被返回给原持有人。

Alice和Bob在创建时,约定好在1000个区块后,通道必须关闭。

所以Bob必须要在时间到之前,签名并广播交易,才能拿到Alice给他的1个比特币。

如果Bob迟迟不签名广播,一但约定时间到,Bob将一毛钱也拿不到。

双向支付渠道

双向支付渠道?(Bi-DirectionalPaymentChannel)

单向支付渠道之所以简单,是因为交易是单向的,只允许两个人中的其中一个人发送交易,另一个人广播交易,不会有信任问题,但应用场景相对有限。

由于单向渠道在应用上的不足,闪电网络想要打造的是无信任的双向支付渠道,让渠道的双方能够自由进行交易。

那么闪电网络要如何避免交易双方产生信任问题,实现双向支付渠道呢?

所谓的信任问题包括:

闪电网络客户端c-lightning发布0.8.2版本,移除0.16 BTC付款限额:金色财经消息,Blockstream的闪电网络客户端c-lightning团队发布了0.8.2版本更新,主要体现在三个方面:Keysend付款、更大的支付通道和新的后端API。在Lightning Labs团队发布Keysend功能之后,c-lightning紧随其后为该功能提供了支持,Keysend 付款允许节点在不生成收款码的情况下完成收款。该版本支持大通道支付,这意味着0.16个BTC的付款额度限制被移除了。另外,在该版本中后端bcli API向插件开发者开放,c-lightning节点可以有更多的区块链数据源的选项。[2020/5/18]

双向支付渠道代表双方都必须有部分资金在渠道,那资产会不会消失?

如何保证最终结算不会有误?

支付渠道是P2P网络,没有验证机制,谁来保护帐本?

单向支付渠道透过时间锁解决无法顺利结算的问题,为了扩大应用场景的双向支付渠道。

我们要介绍的是若要做到双向支付渠道所需的技术同时也是闪电网络的核心技术,RSMC以及HTLCs。

RSMC可撤销顺序成熟度合约

动态 | 闪电网络节点数量达9150个:据1ML.com数据显示,闪电网络节点数量呈持续上升趋势,然而通道数量及网络承载能力继续下降。目前,支撑网络的节点数量达到9150个,在过去的30天中上涨了2.89%,而通道数量为32466个,在过去的30天中下降了6.1%。闪电网络承载能力目前为902.82个BTC,约合914.58万美元。[2019/7/27]

RSMC可撤销顺序成熟度合约(RevocableSequenceMaturityContract)

RSMC其实就是资金池,打开支付渠道时,双方将资产放入这个资金池中,封起来各自用一把钥匙锁上,交易时不会真的动用到该笔资金,而是用合约的方式纪录两人在资金池裡的剩馀资产,等到关闭通道时,才会打开这个资金池做结算。

双向支付通道如何运作?

从头到尾,涉及的双方只需要与比特币区块链进行两次互动。

一次打开支付渠道而另一次是关闭渠道,在这之间发生的所有其他交易都不直接与主链接触,这意味著,只有在双方都同意并签名的状态下,交易才会被确认。

假设Alice和Bob打算频繁进行交易,双方同意开开双向支付通道,并约定好在1000个区块后强制结算。

Alice和Bob必须先在链上开启一个多重签名钱包,才能开开双向支付通道。

此时双方会各自生成一组SecretKey(钥匙)以及Hash(锁头),Hash会交给对方,SecretKey自行保管。

在开放双向支付渠道后,Alice和Bob每次支付都像签一次合约,在签新合约之前会废弃掉旧合约,要注意的是当旧合约作废的同时彼此将取得对方旧合约的SecretKey,而合约的内容就是关于如何重新分配资金池的资产。

动态 | Spectrum公链将推出比特币相关协议 可利用闪电网络实现即时交易:据CoinDesk 6月14日消息,Spectrum公链将推出一个以比特币为中心的协议,可利用闪电网络实现即时交易。[2019/6/14]

共同签名钱包裡的钱只能在三个条件下解锁:

1.?锁定时间到了

2.?任何一方通过对方的SecretKey从他们设置的多重签名钱包中解锁资金

3.?合约有双方签名,且其中一方广播

要注意的是,如果一方决定关闭支付渠道并广播交易,广播的那一方将不得不等待到交易签名时设置的预定时间到,才能收到他那部分的资金。

会不会有人作恶?

例如:闪电网络中的其中一位参与者广播对于自己有利的旧合约来进一步图利,而非依照正常程序广播最新的合约。

此时,上述的两个值得注意的点就派上用场

当旧合约作废的同时彼此将取得对方旧合约的SecretKey

如果一方决定关闭支付渠道并广播交易,广播的那一方将不得不等待到交易签名时设置的预定时间才能收到他那部分的资金。

假如Alice企图广播旧合约恶意结算关闭通道,依照上述闪电网络的机制,Bob与Alice都拥有对方旧合约的secretkey,且Alice必须等到预定的时间到,才能拿到旧合约中Alice的那份BTC。

所以Alice只要广播旧合约,Bob即可在Alice等待的时间中使用旧合约的secretkey将Alice的那份BTC取走,这样一来Alice不但没有成功广播对他有利的旧合约,还为他的恶意行为付出代价。

我们把双向支付通道的运作方式全都说完了,接下来要介绍的是,双向支付通道如何编织成为支付网络。

支付网络

现在,除了Alice和Bob之间有支付通道之外,Bob也和Carol开了支付通道。

Alice如果要向arol支付1个比特币,该怎么做呢?

Alice可以选择直接跟Carol,建立一个支付渠道,但是这样做对Alice跟Carol来说,必须在主链上建立多重签名钱包还要打币,不仅麻烦而且又需要额外成本。

相信大家都想到解决方法了,Alice只要透过现有的支付通道,先把1BTC打给Bob,Bob在将1BTC打给Carol,这样就可以在不用负担额外成本的情况下完成交易了。

但是,这同时也存在几个信任问题。

Bob不老实,拿了Alice的BTC之后私吞,不交给Carol。

Carol拿了钱,却跟Alice说他没拿到钱。

如何解决这部分的信任问题,就要仰赖闪电网络的另一项核心技术“HTLCs”。

HTLCs哈希时间锁合约(HashTime-LockedContracts)

要解决上述的信任问题就必须做到两点:

1.?Alice要确定Carol本人确实有收到比特币

2.?必须确定Bob不会拿走这笔比特币

这里又一个公钥与私钥的概念,HTLCs就是用同样的概念下去延伸,我们把钥匙想成私钥,锁头就是公钥。

假设Alice需要付给Carol1个BTC,收款方Carol会创建一个Value(钥匙)和对应的哈希值(锁头),然后把锁头交给Alice。

”只要拿得出钥匙就代表他是Carol“

”只有Carol拥有钥匙,换言之,只有Carol能够打开锁头“

在这个前提下,Alice和Bob提出一份合约,如果Bob在3天内,提供哈希值对应的Value,Alice就给Bob1.0001BTC,超过3天,BTC原路返回给Alice。

Carol也同样跟Bob签订一个合约,只要Carol提供哈希值对应的Value,就必须给Carel1BTC。

于是,Carol向Bob提供Value,从Bob那获得了1BTC。

Bob将这个Value交给Alice,从Alice那获得了1.0001BTC,这当中的价差0.0001BTC就给Bob作为手续费。

闪电网络的优势

闪电网络致力于比特币可扩展性问题的链下解决方案。

如果成功,可能会大幅减少比特币区块链的负载,增加比特币的实际应用可能。

通过使用双向支付渠道,闪电网络可以实现近乎即时且极低成本的交易。

闪电网络的局限性

与链上交易不同,如果接收方处于离线状态,没办法做交易确认,无法进行支付。

网络的参与者可能需要定期监控支付渠道,以保证他们的资金安全。

闪电网络较难支援大额付款。

闪电网络交易时有时需要仰赖中间人,举个例子,闪电网络中存在Alice、Bob和Carol三人,Alice要发送1BTC的交易给Carol,这中间需要经过Bob。

如果Bob的余额不足1BTC,这笔交易便无法顺利完成,因此交易金额会受限于中间人的资产余额。

闪电网络的实用性取决于网络大小,若使用人数不足,闪电网络便难以发挥其价值。

越多的人加入,闪电网络才会更加健全且完善,流动性也才能随之提升。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

TUSD元宇宙:元宇宙 南京江北新区来了

身处郊野,也能走在流光溢彩的都市街道;坐在家里,也可以逛美术馆看画展。这些不再只是影视剧的画面。在元宇宙里,每个人都可以实现.

[0:62ms0-1:67ms