1. Hi区块链首页
  2. 资讯
  3. 百科

什么是闪电网络?

希望读完这篇文章后,大家能对闪电网络产生的背景、需要解决的问题以及闪电网络实现的基本原理有初步的了解。

zBJPWuTDu4hDGB35MVCuF7D2IPsJPaOEyX80UgvA.jpeg

今天的Cobo小课堂我们请到了我司技术大牛来为大家分享一项前沿技术——闪电网络。希望读完这篇文章后,大家能对闪电网络产生的背景、需要解决的问题以及闪电网络实现的基本原理有初步的了解。

闪电网络产生的背景

经过10年的发展,今天的比特币已经成为了总市值数千亿美元的加密数字货币体系。我们已经可以用比特币购买很多东西了,小到一杯咖啡,大到投资房产,但是随着用户数的增长,比特币网络在承担高频支付上的弊端也逐渐暴露出来。

由于最初设计的原因,比特币网络可支持的交易频率较低、交易确认成交时间较长,无法支撑起未来高频率、实时到账的支付需求。

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

WZj2ua8pIaxNnf0SBWgwdgxAnSGtLjeaTUSXFiqp.jpeg

 此外,比特币网络为了确保交易的不可篡改性,一般需要等待5-6个区块确认后,收款方才认可交易成功,这样一次交易的确认等待时间就需要1个小时左右,用户体验极其不好。而且由于待确认的交易数越来越多,比特币转账的手续费也越来越高,目前主网上,为一笔普通转账支付的手续费为0.0001~0.001BTC,几块钱到几十块块钱不等。因此,现在的比特币支付网络已经不太适合于小额交易了。

针对比特币以上的问题,目前社区里已经有不少的扩容方案,例如采用隔离见证能减小每笔交易数据的大小,此外还有大区块扩容方案,将原先1MB的限制提升到32MB甚至128MB,但是这些方案都是治标不治本的,只能将比特币网络的支付能力提升几倍,最多也就到几十笔每秒而已,和VISA或者支付宝每秒百万级的支付频率比起来,显得微不足道。

lQ9BC5IEtHSk9UL6rLbnBVgNHw8L8NlJxP7g7PRN.jpeg

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

闪电网络的实现原理

032X5csxvb9q2Zc5YSyHtGCb2NcxHnOy8HB4QkUr.jpeg

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

 ljg5MytLB7K7yhZxh1NO4C6fIT1hMm8ei60f6OhD.jpeg

以上图为例,每个闪电网络用户就是一个蓝色的点,一条闪电网络支付通道就是两个点之间的一条连线,如果这个连线足够多,使得每两个点之间都有一条路径可达,那就可以实现所有用户之间的高频、实时交易了。

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.    路由节点

bQuL8XTrUyiiTAZR1NnXSXvb58lccnd2VN9Fuciw.jpeg

当然,个人用户无法与每一个建立一条闪电网络通道,截止2019年1月19日,闪电网络共有2.4万条通道。

如果交易节点没有直连的通道,可借助路由节点(相当于中介)进行交易,当然这需要给这些“中介”支付一些路由费用。

现在已经有不少人做起了路由节点的生意,希望通过这些节点给闪电网络带来一些流动性,并可以从中收取一点费用。此外,还有一些电商平台利用闪电网络提供生活类服务,比如充话费等。

Cobo也已经有了自己的闪电网络节点,欢迎大家与我们建立通道。

 你可能会问,如果闪电网络节点之间的很多交易不上链怎样才能保证这些交易的安全,防止用户作弊行为呢?通过路由节点发生的交易又是如何进行的?

我们将在下一期的文章中和大家一起探讨这些技术细节。如果你对闪电网络比较感兴趣,或者有什么看法,欢迎在文章下面的评论区留言。

– END-

声明:登载此文出于传递更多信息之目的,观点仅代表作者本人,绝不代表Hi区块链赞同其观点或证实其描述。
提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。