您的当前位置:主页 > 新闻动态 > 区块链资讯 >

什么是闪电网络?

来源:未知     作者:重庆匿名科技    时间:2019-03-15 15:17:48

闪电网络产生的背景

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

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

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

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

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

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

闪电网络的实现原理

闪电网络(Lighting 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. 路由节点

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

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

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

你可能会问,如果闪电网络节点之间的很多交易不上链怎样才能保证这些交易的安全,防止用户作弊行为呢?通过路由节点发生的交易又是如何进行的?我们将在下一期的文章中和大家一起探讨这些技术细节。

闪电网络是如何工作的?

闪电网络的正常使用包括通过向区块链网络提交正常的资金交易来开通支付通道,然后进行任何数量的闪电交易,更新通道内资金的临时分配而不广播到区块链,最后关闭支付通过广播最终版本的交易来分配通道内的资金。

闪电网络是基于比特币区块链构建的智能合约系统,允许两方直接进行快速,廉价的支付。为了实现这些快速而廉价的交易,采取了以下步骤:

设置一个多重签名钱包,其中包含一定数量的比特币(由双方中的至少一方提供)

钱包地址然后保存到公共比特币区块链中,包括资产负债表(智能合约),证明该比特币存款的多少属于谁

在此支付通道进行一次设置之后,这两方就可以进行无限次的交易,而无需触及存储在区块链中的信息

对于每次交易,双方签署更新的资产负债表以便始终反映存储在多信用点钱包中的比特币的金额属于谁

更新后的资产负债表不会上传到区块链,而是双方保留其副本。

每当发生争议或支付通道关闭时,双方都可以使用最新的互相签署的资产负债表来支付他们在多信用卡钱包中的份额。

这听起来非常麻烦,但实际上对于最终用户来说,进行闪电支付几乎不需要烧脑的工作,所有上述操作都将在后台自动进行。

闪电网络的主要特点

理论上来说,闪电网络应该允许网络中的所有参与者通过在节点之间找到一条路径,由此能够在各个方向上进行近乎即时且廉价的交易。因此,只要没有出现问题,就可以避免向比特币网络进行广播,从而形成可扩容网络。该体系架构甚至允许小微交易并增强了付款隐私性。

由于相对时间锁定功能,通道可以无限期地保持开放,并且不存在交易对手方风险; 如果有人试图通过恶意地关闭通道来窃取资金,交易的其他参与方将有一个很长的时间窗口来发起他们自己的赎回交易并收回资金。

快速支付:在既定通道内的支付几乎可以像数据通过互联网在两个节点之间传输一样快。

无需可信第三方:通道中的两个参与者直接使用常规的比特币交易进行互相支付(其中只有一个是广播的),因此任何第三方都不能控制其资金。

为区块链减负:只有开启通道,关闭通道和争议性交易需要提交到区块链上进行,允许闪电网络内的所有其他交易保持未提交状态。这这使得闪电网络用户可以通过比特币进行频繁支付,而不会使必须处理区块链上每笔交易的完整节点承担过多的负担。

支付通道可以无限期地保持开放:只要频道中的双方继续彼此合作,频道可以无限期地保持开放 - 没有强制超时期限。根据双方的意愿,可以长期保持通道开启,这可以进一步减少区块链上的负载,同时也可以稀释最终的费用。

双方约定可快速关闭通道:如果双方同意,可以立即关闭支付通道(双方可能希望等待一个或多个确认以确保支付通道在正确的状态下关闭)。双方未达成协定(如一方消失)也可以关闭通道,但需要耗费更长的时间。

洋葱式路由:支付路由信息可以以嵌套的方式加密,以便中间节点只知道他们收到了可路由支付的人和下次发送给谁,防止中间节点知道发起者或目的地。

具有多重签名功能:每个参与方都可以要求通过多个密钥对他们的付款进行签名

跨链:如果另一条区块链支持用于哈希锁的相同哈希函数,以及具备创建时间锁的能力,支付通道就可以跨多个区块链(包括侧链)进行路由。利用异构区块链共识规则,交叉链式原子互换可以立即发生在链外。只要链可以支持相同的加密散列函数,就可以跨区块链进行交易,而不需要信任第三方托管商。

小额支付是可能的:由于费用与支付金额成比例,您可以支付一分钱; 会计甚至以千分之一的精确度完成。

付款即时结算:资金在通过网络到达目的地和返回所需的时间内发送,通常为几分之一秒。

改进隐私:并非每个交易都存储在公共区块链上,只有当支付通道最终关闭并且余额支付给双方。


关于我们
我们的服务
  • 区块链系统开发
  • 区块链交易所开发
  • 移动端&微网站定制
  • 区块链解决方案
我们的案例
新闻动态
联系我们

公司服务热线

© 2018 匿名(重庆)区块链科技有限公司版权所有 备案号: 渝ICP备18013466号-1