闪电网络是最近非常热门的话题之一。很多人说,闪电网络的实现意味着比特币2.0时代的到来。
1
为什么启用闪电网络
比特币带着“加密货币”的使命而生,十多年来,应用场景虽然有所增加,但这一的定位仍频频受到挑战和质疑。除去自身价格的不稳定因素以外,更主要的原因还是用起来不爽:
太慢了:比特币网络每秒只能处理约7笔交易,每笔转帐的有效确认时间需要1个小时。在这个去中介化的比特币网络中,每笔交易都需要得到全网的确认。我们将这一过程称之为“交易上链”,平均十分钟上万全节点(编者注:2019年2月20日全节点数10527)跑一圈把交易加到自己的帐本里,这个速度确实不快。
有点贵:收手续费好理解,现在支付宝提现也收千一的手续费,不过比特币交易手续费虽然和金额大小无关,但人家有“竞价”模式:当交易太多,如果你想插队——让矿工先处理自己的转帐,就需要付上更高的手续费,最高曾达到过数十美金一笔,令人望而却步。
因此,比特币被支付宝、微信、VISA的交易处理能力“秒杀”,性能被人诟病也在情理之中。当然,比特币的开发团队也清楚这些问题,所以从2016年开始就大力推进闪电网络。
2
什么是闪电网络?
闪电网络,顾名思义,交易速度快如“闪电”。在具体解释前,我们先来看两个比较重要的数字:
最新报道称,“……闪电网络(LN)总容量已经突破709BTC……”,这其实指出了使用闪电网络时重要的一点:闪电网络的使用者需要先将比特币预存在闪电网络的通道中(注:预存的比特币仍然是在比特币主链,保存在一个多重签包钱包地址中)。
你也可以简单理解为,在闪电网络中预存了BTC的使用者可以在额度之内,只需要交易双方彼此确认,不需要第三方记帐,就能快速实现转帐和消费。所以,这个预存数字越大,也就意味着可交易的比特币越多,使用者也越多。
另一个值得关注的数据就是节点数。目前,闪电网络节点数量为6474个,这个数字意味着什么呢?打个比方,这些节点就象快递网点,借助这些节点,我们就能够建立起越来越多的快递路线(交易路线),从而容易地触达到网络中的任意一方并进行交易,闪电网络之称也就由此而来。节点数越多,交易速度会越快,(因为竞争而需要)支付的成本也就越低。闪电网络论文作者表示:人们会支付的费用将有效接近于零。
▲ 闪电网络示意图
(二)微支付通道
微支付通道概念于2012年首次被提出,是解决小额度、高频次支付场景的方案,目的在于缩减支付的交易数量,使高频、小额支付成为可能。下面我们先研究一下微支付通道的原理。
假设A为消费者,B为一家视频网站。A非常喜欢去B网站看电影,看一部电影需要支付0.1BTC,那么爱丽丝看了10部电影就需要支付10次0.1BTC,共计1BTC并发出10笔交易。而采用微支付通道就会缩减至两笔,或者说任何多次的交易均会缩减至两笔,只要总金额不超过存入通道的额度即可。
在整个微支付通道建立、更新和关闭的过程中,有且仅有两笔交易广播至链上,同时双方均无须信任对方,任何一方也无法侵害另一方的利益。
然而,这种设计的一个巨大制约是,通道只能在一个交易方向发挥作用。A可以向B进行任意次数的支付,但B不能通过同一个通道向A发起支付,也就是币在通道中的流向是单向的。
(三)闪电网络交易合约
闪电网络正式基于微支付通道演进而来,创造性地设计出了两种类型的交易合约:序列到期可撤销合约RSMC和哈希时间锁定合约HTLC。RSMC解决了通道中币单向流动问题,HTLC解决了币跨节点传递的问题。这两个类型的交易组合构成了闪电网络。
要创建一个序列到期可撤销合约RSMC,原理类似准备金机制,先在闪电网络里存入部分金额,并且规定每笔交易都不能超过当前余额。可以类比微信钱包,需要先往微信钱包里面充值,转账金额不能超过余额,转账变动的是微信钱包账面数字,并未涉及实际交割,只有提现时,钱才会打到你的银行卡。闪电网络只有在提现时,才将交易结果写到区块链网络中并确认。
在微信钱包中,微信作为“中介”来保障交易的执行,在闪电网络中HTLC扮演了微信的角色。HTLC,通过形成智能合约来保障任意两个人之间的转账都可以通过一条“支付”通道来实现,完成“中介”的角色。
如何做到的呢?交易的双方通过智能合约,先冻结部分钱,并提供一个哈希值。谁能在合约设置时间内匹配上Hash值,那么这部分冻结的钱就归谁了。
(四)闪电网络面临的问题
1.中转站中心化的风险。
如果A需要通过C把比特币付给B,这就意味着,如果C想要成为一个支付中转站,那他必须在与客户共有的渠道中存足够多的比特币,这样才能促成这些客户的脱链交易。
所以,要运行一个支付中转站还是需要真金实银的投入,最起码在刚开始之前就不要准备足够的预存款。因此,如果某天闪电网络最终演变为中转站辐射型拓扑网络,那么中心化就是它最大的隐患。
2.路径交易问题。
要解决中心化隐患,就要寻找比中转站辐射型更好的模式,比如点对点的路径交易。
如果A想要买一杯咖啡,在此之前,他的钱包会用相同的技术在网络中通过其他节点找到一个路径来支付这杯咖啡,如果钱包找不到任何节点,那么它将与咖啡店打开一个新的支付渠道来完成这笔交易,然后留着这个渠道以便日后再用。理论上,A的钱包能够维持数十个开放的渠道。
A和B同时跟一家咖啡店保持了支付渠道的开放,那么A就可以将比特币以链外形式给B。
但路径交易发生时,发送者和交易者都需要同时在线。因为在哈希时间锁定合约HTLC中,A的钱包联系B的钱包,并问他要一个哈希随机数,而B只有在线时才能将那个数字给她。而大部分时候,很多人的手机钱包都会是休眠状态,并不会时刻保持上线。
(五)闪电网络现状
2017年1月,第一个闪电网络的软件实现,发布了alpha版。
2017年12月,开发者Alex Bosworth首次通过闪电网络实现了第一笔真钱购买。
2018年3月中旬,Lightning Labs第一个发布了Beta测试版闪电网络软件。Lightning Labs同时宣布了250万美元的种子轮融资。
虽然beta版软件的发布是一个重要的里程碑,但网络的开发和改进是一个持续的过程,许多问题只有等待闪电网络被更多人使用后才能解决了。