闪电网络(Lightning Network)是什么

今天的Cobo小课堂我们请到了我司技术大牛来为大家分享一项前沿技术——闪电网络。希望读完这篇文章后,大家能对闪电网络产生的背景、需要解决的问题以及闪电网络实现的基本原理有初步的了解。
闪电网络产生的背景
 
经过10年的发展,今天的比特币已经成为了总市值数千亿美元的加密数字货币体系。我们已经可以用比特币购买很多东西了,小到一杯咖啡,大到投资房产,但是随着用户数的增长,比特币网络在承担高频支付上的弊端也逐渐暴露出来。
 
由于最初设计的原因,比特币网络可支持的交易频率较低、交易确认成交时间较长,无法支撑起未来高频率、实时到账的支付需求。
 

比特币网络为了保证交易的正确性和不可篡改性,需要将每笔交易的详细内容都记录在区块中,同时为了控制区块数据的增长速度,比特币网络将每个区块的大小限制在了1MB,每个区块的挖矿时间控制在10分钟左右,这样理想状况下,比特币每秒可处理的交易数(TPS)大约为7笔。实际上,每秒3笔左右的交易频率就已经把比特币网络的区块塞满了,因此大家经常会遇到比特币转账迟迟无法得到确认的问题。

闪电网络(Lightning Network)是什么

此外,比特币网络为了确保交易的不可篡改性,一般需要等待5-6个区块确认后,收款方才认可交易成功,这样一次交易的确认等待时间就需要1个小时左右,用户体验极其不好。而且由于待确认的交易数越来越多,比特币转账的手续费也越来越高,目前主网上,为一笔普通转账支付的手续费为0.0001~0.001BTC,几块钱到几十块块钱不等。因此,现在的比特币支付网络已经不太适合于小额交易了。
 
针对比特币以上的问题,目前社区里已经有不少的扩容方案,例如采用隔离见证能减小每笔交易数据的大小,此外还有大区块扩容方案,将原先1MB的限制提升到32MB甚至128MB,但是这些方案都是治标不治本的,只能将比特币网络的支付能力提升几倍,最多也就到几十笔每秒而已,和VISA或者支付宝每秒百万级的支付频率比起来,显得微不足道。

闪电网络(Lightning Network)是什么

闪电网络正是在这样的大背景下被提出的,它的目标是使得比特币网络能支持高频、实时的交易。
闪电网络的实现原理

闪电网络(Lightning Network)是什么

闪电网络(Lighting Network)是一个二层协议,就像架在公路上的高架桥,通过一个大型的双向通道网络来进行多笔支付,无需将每笔交易都记录到比特币区块链上。这样一来,即避免了比特币交易速率的限制,又能以更低的费用享受到更快的交易速度和更大的容量。

闪电网络(Lightning Network)是什么

以上图为例,每个闪电网络用户就是一个蓝色的点,一条闪电网络支付通道就是两个点之间的一条连线,如果这个连线足够多,使得每两个点之间都有一条路径可达,那就可以实现所有用户之间的高频、实时交易了。
 
1.   建立通道
 
我们假设用户Alice和用户Bob想使用闪电网络支付方案来进行交易,那么他们首先要构建一条他们俩之间的闪电网络支付通道,然后各自往一个2-2多签地址发起一笔链上交易,存入一部分BTC,这部分BTC相当于保证金。通过这个多签地址发送的每一笔交易都需要两人进行签名。
 
如果Alice向多签地址里存了1BTC,那么Alice在这个通道里向Bob可发送的最大金额不能超过1BTC,这样可以防止交易过程中有作弊行为。
 
用现实世界的银行系统举例,就是Alice和Bob需要一起去银行开一个公共账号,两人各自往这个公共账号里存入一部分钱,两人和银行一起签订一份合同,约定后续需要两个人同时签字的合同才可以操作这个公共账号。在闪电网络里,Alice 和 Bob 都无法作弊,一旦有一方作弊,另一方可以获得支付通道里的所有金额等。
 
2.    闪电交易
 
Alice 和Bob之间建立了闪电网络支付通道后,就可以用来进行交易了。这些交易需要两者的数字签名,并可以通过支付通道实现瞬间到账。
 
我们都知道比特币交易的本质是UTXO( Unspent Transaction Output),每一笔链上交易都需要有交易输入(资金来源),和交易输出,也就是UTXO。
 
在闪电网络的例子里,Alice和Bob之间通过支付通道发生的很多交易不会出现在链上,只是通过公共账户余额分配来显示。最终只有关闭支付通道的那笔交易才会上链,通过这笔交易,我们可以看到最终通道关闭时公共地址中的余额。
 
举个例子,如果A和B最开始都向公共地址转入了1BTC,期间两人之间发生了很多笔交易,但最后关闭支付通道时A的公共地址中只有0.5BTC,B有1.5BTC,那么上链的那笔交易就显示为A向B转账0.5BTC。
 
3.    路由节点

闪电网络(Lightning Network)是什么

当然,个人用户无法与每一个建立一条闪电网络通道,截止2019年1月19日,闪电网络共有2.4万条通道。
 
如果交易节点没有直连的通道,可借助路由节点(相当于中介)进行交易,当然这需要给这些“中介”支付一些路由费用。
 
现在已经有不少人做起了路由节点的生意,希望通过这些节点给闪电网络带来一些流动性,并可以从中收取一点费用。此外,还有一些电商平台利用闪电网络提供生活类服务,比如充话费等。