首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

早晚高峰主通道上的无限制高速路

闪电网络就起源于比特币的扩容问题!

一开始中本聪在创造比特币时没有特意限制区块的大小,区块最大可以达到 32MB。然而比特币诞生之初,使用的人数很少,区块上限过高容易造成计算资源的浪费,于是将区块大小限制在了 1MB。

随着后来BTC价格直线飙升,比特币的用户量也越来越多,交易转账频繁,开始出现比特币网络拥堵、交易费用上升等问题。

为解决交易拥堵的问题,提出了区块扩容方案 ,也提出了隔离见证和闪电网络方案来解决交易拥堵问题。

2015年2月,智能合同交易平台Mirror的CTO——Joseph Poon写了一篇题为“比特币闪电网络:可扩展的链下即时支付”的白皮书。

其主要思路可以理解为:将大量交易放到比特币区块链链下交易完成。

简单理解:闪电网络就是一个去中心化的系统。它的卓越之处在于,无需信任对方以及第三方即可实现实时、海量的交易网络。

它的诞生彻底打破了区块链处理能力的瓶颈,包括比特币诞生以来的时延性、最终性、容量、隐私等问题也迎刃而解,在链下实现了真正的点对点微支付交易。

因此比特币社区认为:“闪电网络”的论文对比特币的重要性仅在中本聪的创世论文之下。

闪电网络是基于微支付通道演进而来,它提供了一个可扩展的微支付通道网络。交易双方若在区块链上预先设有支付通道,就可以多次、高频、双向地通过轧差方式实现瞬间确认的微支付;双方若无直接的点对点支付通道,只要网络中存在一条连通双方的、由多个支付通道构成的支付路径,闪电网络也可以利用这条支付路径实现资金在双方之间的可靠转移。

闪电网络并不试图解决单次支付的银货对付问题,其假设是单次支付的金额足够小,即使一方违约另一方的损失也非常小,风险可以承受。因此使用时必须注意“微支付”这个前提。多少资金算“微”,显然应该根据业务而定。

闪电网络设计出了两种类型的交易合约:序列到期可撤销合约RSMC、哈希时间锁定合约HTLC。

RSMC解决了通道中币单向流动问题(也就是链下交易的确认问题),保障交易在链下完成;HTLC解决了币跨节点传递的问题(也就是支付通道的问题),保障转账通过一条“支付”通道完成,这两个类型的交易组合构成了闪电网络。

下面我们看下他们的详细解释:

RSMC:闪电网络的基础是交易双方之间的双向微支付通道,定义了该双向微支付通道的最基本工作方式。

其原理类似准备金机制,先在闪电网络里存入部分金额,每笔交易都不能超过当前余额,可以类比微信钱包,需要先往微信钱包里面充值,转账金额不能超过余额,转账变动的是微信钱包账面数字,并未涉及实际交割 ,只有提现时,钱才会打到你的银行卡。闪电网络也只有在提现时,才将交易结果写到区块链网络中并确认。在微信钱包中,微信作为“中介”来保障交易的执行,在闪电网络中HTLC扮演了微信的角色。

用书中的例子详细解释就是:

微支付通道中沉淀了一部分资金,通道也记录有双方对资金的分配方案。通道刚设立时,初值可能是,意味着打入通道的资金共有1.0 BTC,其中Alice拥有0.4 BTC,Bob拥有0.6 BTC。通道的设立会记录在比特币区块链上。

假设稍后Bob决定向Alice支付0.1 BTC。双方在链下对最新余额分配方案 签字认可,并签字同意作废前一版本的余额分配方案,Alice就实际获得了0.5 BTC的控制权。

如果Alice暂时不需要将通道中现在属于她的0.5 BTC用作支付,她可以无需及时更新区块链上记录的通道余额分配方案,因为很可能一分钟后Alice又需要反过来向Bob支付0.1 BTC,此时他们仍然只需在链下对新的余额分配方案达成一致,并设法作废前一版本的余额分配方案就行了。

如果Alice打算终止通道并动用她的那份资金,她可以向区块链出示双方签字的余额分配方案。如果一段时间之内Bob不提出异议,区块链会终止通道并将资金按协议转入各自预先设立的提现地址。如果Bob能在这段时间内提交证据证明Alice企图使用的是一个双方已同意作废的余额分配方案,则Alice的资金将被罚没并给到Bob。

实际上,前面所说的“作废前一版本的余额分配”,正是通过构建适当的“举证”证据并结合罚没机制实现的。

为了鼓励双方尽可能久地利用通道进行交易,RSMC对主动终止通道方给予了一定的惩罚:主动提出方其资金到账将比对方晚,因此谁发起谁吃亏。这个设计虽然增加了技术复杂度,但应该说是合理的。

通道余额分配方案的本质是结算准备金,在此安排下,因为要完全控制资金交收风险,每笔交易都不能突破当前结算准备金所施限制。

HTLC:RSMC只支持最简单的无条件资金支付,HTLC则进一步实现了有条件的资金支付,通道余额的分配方式也因此变得更为复杂。通过形成智能合约来保障任意两个人之间的转账都可以通过一条“支付”通道来实现,完成“中介”的角色。

如何做到的呢?交易的双方通过智能合约,先冻结部分钱,并提供一个Hsah值。谁能在合约设置时间内匹配上Hash值,那么这部分冻结的钱就归谁了。因此闪电网络类似微信用户间进行转账,只是改变微信钱包上的数字,无需发生实际的资金流动,只在提现时候才正真发生资金的流动。

书中的例子详细解释就是:

通过HTLC,Alice和Bob可以达成这样一个协议:协议将锁定Alice的0.1 BTC,在时刻T到来之前(T以未来的某个区块链高度表述),如果Bob能够向Alice出示一个适当的R(称为秘密),使得R的哈希值等于事先约定的值H(R),Bob就能获得这0.1 BTC;如果直到时刻T过去Bob仍然未能提供一个正确的R,这0.1 BTC将自动解冻并归还Alice。

由于到期时间T、提款条件H(R)、支付金额、支付方向的不同,同一个通道上可以同时存在多个活动的HTLC合约,加上唯一的通过RSMC协议商定的无条件资金余额,余额分配方式会变得相当复杂。假设双方初始各存入0.5 BTC,一段时间后余额分配可能这样:

一段时间后的余额分配方案

余额分配方案是一种快照,只能整体刷新。接上表,如果Alice下一刻决定无条件向Bob支付0.1 BTC,或者Alice在T1前向Bob出示了符合H(R1)的秘密,双方将在链下交换并共同签字认定新的快照,然后构建适当的“举证”证据,结合罚没机制作废前一版本的快照。这些动作完全不出现在区块链上。 引入HTLC后,任何一方仍然能通过在区块链上公开最终余额快照的方式终止通道。

从以上叙述我们可以得出闪电网络的优点

即时支付

闪电网络的支付速度可以达到毫秒级,从而快速完成支付,其通过区块链智能合约来保障安全,不再为每一次付款提交一次区块链交易,从而提高交易速度;

可扩展性好

每秒可以处理数百万笔以上的交易,无需托管就可以完成支付了;

低手续费

闪电网络是通过链下交易,只需要极低的交易费用,使即时微支付成为可能。

目前,闪电网络还处于早期阶段,大多用例还是实验性的,还有许多问题有待解决,如中转站的中心化风险;点对点的路径交易;路径交易造成更多的链上交易;路径交易时,发送者和接收者需要同时在线等。

但闪电网络还在开发和改进当中,相信有一天以上面临的这些问题都会被解决。

!!!

不管爱我还是恨我

另外

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181205A1OUX600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券