菜鸟课堂:秒杀VISA系统的闪电网络

导语

闪电网络起源于比特币的扩容问题,是基于区块链技术的去中心化系统。闪电网络将带来极致的交易处理能力和近乎瞬时的交易确认,远超目前的VISA系统。本文剖析了它背后的原理和技术细节。

小故事

艾特币是菜鸟国的法定货币,菜鸟国只有一家中心银行,所有的艾特币交易都需要在这家银行进行,哪怕是一分钱的交易。菜鸟国的人民为了转一笔钱往往需要排很长时间的队。国王很无奈,决定改革,于是在国内新建了几百家分行,人民存在中心银行的钱可以在分行进行交易,再也不用都挤到中心银行去交易了。

闪电网络概述

比特币自诞生起一直存在若干技术问题:论处理能力,目前全网只有7笔每秒;论时延,是大致10分钟出一个块;论交易最终性,一般建议将等待6个块的确认视作交易最终化,大额交易则建议等待更多;论容量,目前已生成40多万个区块,约60GB数据量,且眼见的未来中只见增加不见减少。

在闪电网络出现前,虽然比特币社区也试图通过区块扩容、隔离见证等技术在一定程度上增加交易处理能力,但这些方式并不能导致交易处理能力出现数量级的改善。至于前面提及的其他技术难题,现存的PoW机制是万万动不得的,需要等待多个区块的确认也是不能触碰的底线,更麻烦的是:交易处理能力和区块链数据容量似乎是一对无可调和的矛盾。

思路决定出路,常规方法找不到出路,就逼得社区换一个思路考虑这个问题。代码性能调优的经验提示我们:优化编译、改进算法、调整数据结构等方式虽然很重要也很管用,但怎么能比得上“根本不执行”的强悍?既然在比特币区块链中优化性能如此艰难,为何不尽可能将交易放到链外执行?

倚天一出,谁与争锋。以比特币区块链为后盾,在链下实现真正的点对点微支付交易,区块链处理能力的瓶颈被彻底打破,时延、最终性、容量甚至隐私问题也迎刃而解,这就是比特币“闪电网络”(LightningNetwork)的思路。

因为这个原因,社区甚至认为:“闪电网络”的论文(The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments)对比特币的重要性仅在中本聪的创世论文之下,排名第二。

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

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

闪电网络技术本质

闪电网络的关键技术有三,后后依赖于前前,依次是:RSMC,HTLC和闪电网络。技术实现虽然复杂,但本质却很简单。

RSMC

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

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

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

表1 前后两个版本的余额分配方案

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

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

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

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

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

HTLC

RSMC只支持最简单的无条件资金支付,HTLC(Hashed Timelock Contract)进一步实现了有条件的资金支付,通道余额的分配方式也因此变得更为复杂。

通过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,一段时间后余额分配可能这样:

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

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

引入HTLC后,任何一方仍然能通过在区块链上公开最终余额快照的方式终止通道。

闪电网络

基于HTLC可以实现终极目标“闪电网络”。

图1 闪电网络的支付路径

如上图所示,Alice想给Dave发送0.05BTC,但Alice和Dave之间并没有微支付通道。但这没关系,Alice找到了一条经过Bob、Carol到达Dave的支付路径,该路径由Alice/Bob, Bob/Carol和Carol/Dave这样三个微支付通道串接而成。

Dave生成一个秘密R并将Hash(R)发送给Alice,Alice不需要知道R。R和Hash(R)的作用就像是古代调兵用的一对虎符。

Alice和Bob商定一个HTLC合约:只要Bob能在3天内向Alice出示哈希正确的R,Alice会支付Bob 0.052 BTC;如果Bob做不到这点,这笔钱3天后自动退还Alice。

同样地,Bob和Carol商定一个HTLC合约:只要Carol能在2天内向Bob出示哈希正确的R,Bob会支付Carol 0.051BTC;如果Carol做不到这点,这笔钱到期自动退还Bob。

最后,Carol和Dave商定一个HTLC合约:只要Dave能在1天内向Carol出示哈希正确的R,Carol会支付Dave 0.05BTC;如果Dave做不到这点,这笔钱到期自动退还Carol。

一切就绪后,Dave及时向Carol披露R并拿到0.05 BTC;现在Carol知道了R,她可以向Bob出示密码R并拿到0.051 BTC(差额部分的0.001 BTC成了Carol的佣金);Bob知道R后当然会向Alice出示并拿到他的那份0.052 BTC,差额部分的0.001 BTC成了Bob的佣金。

图2 闪电网络逐级提款

整个过程很容易理解。最终效果是Alice支付了0.052 BTC,Dave安全地拿到0.05 BTC,整个闪电支付网络为此收取的佣金成本是0.002 BTC。上述过程中的全部动作都发生在比特币区块链之外。

尽管闪电网络本身可以基于任何合适的传统技术构建,闪电网络的支付通道也可能逐渐向少数大型中介集中,变成若干大型中介彼此互联、普通用户直连大型中介的形式,但这种方案仍然具有传统中心化方案不可比拟的优势,因为用户现在并不需要信任中介,不需要在中介处存钱才能转移支付,资金安全受到比特币区块链的充分保护。

菜鸟百科

闪电网络:

比特币的交易网络最为人诟病的一点便是交易性能:全网每秒7笔的交易速度,远低于传统的金融交易系统;同时,等待6个块的可信确认导致约1个小时的最终确认时间。

闪电网络的主要思路十分简单 -- 将大量交易放到比特币区块链之外进行。该设计最早是2015年2月在论文《The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments》中提出。

雷电网络:

以太坊提高交易处理能力的方式主要有两个,一个是分片技术(shard),另一个就是状态通道技术(state channels)。雷电网络(Raiden Network)是状态通道技术在以太坊上的实现。

以太坊的雷电网络类似于比特币的闪电网络。雷电网络的基本理念是,用户可以私下交换转账签名消息,而不是所有的交易都放到的区块链上处理。雷电网络通过以太坊网络中的点对点支付与保证金存款保留了区块链系统所具备的保障机制。

雷电网络是对以太坊的扩展。雷电节点与以太坊节点一起运行,可以和其它雷电节点通信,实现转账,也可以和以太坊区块链通信,管理保证金存款。

声明:币圈有风险,投资需谨慎,本文纯属个人观点,不作任何投资意见;本文为菜鸟原创,未经授权请勿转载,如需转载请联系班主任。

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

扫码关注云+社区

领取腾讯云代金券