超越白皮书8:穿云而过的闪电网络

超越白皮书8:穿云而过的闪电网络

摘 要:

近年,随着比特币一步步迈入更多人的视野,其扩展性问题一直如影随形甚至日趋严重,已经成为笼罩在比特币头顶的一大朵乌云。为此学术界和产业界提出了各种解决方案,如区块扩容、分片、侧链等。这其中,支付通道方案中的代表闪电网络恰如其名,似一道穿云而过的闪电,成为解决扩展性问题最耀眼的方案之一,其后雷声阵阵,引众人回首。
自2015年闪电网络白皮书发布后,Lightning Labs、ACINQ、Blockstream作为三个主流的闪电网络技术团队使用不同的程序语言实现了闪电网络的技术框架。许多社区开发者也加入到闪电网络的生态中开发了钱包、游戏、购物、即时通讯等贴近生活场景的应用。迄今,闪电网络上已有1.3万多个节点,3.7万多条支付通道,通道中容纳1000个上下的比特币。

技术角度而言,闪电网络是比特币二层链下的扩展性技术,由微支付通道演化而来,其核心技术包括RSMC(Revocable Sequence Maturity Contract,序列到期可撤销合约)和HTLC(Hashed Time Lock Contract,哈希时间锁定合约)。微支付通道提供链下的点对点单向支付的能力,相比链上的交易,性能有质的提升,但其缺陷在于通道有时限且资金只能单向流动;在微支付通道的基础上,RSMC技术解决了资金单向流动的问题,且使支付通道不再有时间限制,为用户的两两交易提供了即时高性能的解决方案;HTLC将RSMC进一步扩展,解决了多方参与资金路由时产生的信任问题。这些技术互相融合,形成了闪电网络。

不可否认,闪电网络的诞生为比特币的扩展性提升引入了能产生质的飞跃的技术解决方案,同时其交易费低廉、支持跨链交易的特性带来了新的应用场景,也为比特币生态注入新的活力。但与闪电网络的优点一样显眼的是闪电网络的缺点,集中化、稳定性、隐私、易用性等都是其亟待解决的问题。

新技术带来新问题,新问题又会被新技术解决,如此循环推演。闪电网络上亦是如此,针对闪电网络各个方面的问题,陆续有研究和研发团队提出新的解决方案。保障用户离线状态下资金安全的瞭望塔、实现链上链下资金便捷互通的潜交换、逾越通道支付上限的原子多路径支付等等各项扩展技术和服务陆续登场。

展望未来,闪电网络有望成为比特币生态中的技术基础之一,将吸引更多生态中甚至生态外的元素加入其中摩擦火花,更进一步地,其有可能成为个人金融业务、零售行业的重要支付工具得以应用。这个过程中,技术人员和生态运营人员也需要为闪电网络的稳定性、安全性、隐私性、易用性、开放性等做出更多的努力。

作 者
【火币研究院】袁煜明,赵文琦

作者联系方式
火币研究院:huobiresearch@huobi.com

一、 闪电网络的诞生

2008年比特币白皮书发布,将加密数字资产和区块链概念与技术带入大众视野。但比特币自发布以来一直伴随着若干技术问题。1.交易延时问题:每笔交易的确认需要等待至少6个区块,也就是至少1个小时,与之形成对比的是当今各类电子支付毫秒级的交易确认速度;2.吞吐量问题:受区块容量和共识算法PoW耗时的约束,比特币全网每秒只能处理7笔交易,而2019年天猫双十一的每秒订单峰值已达54.4万笔;3.存储量问题:迄今比特币区块链上已有逾60万个区块,约270GB,且在可预见的将来只增不减,远高于现今各类手机和PC端软件的存储量。在其余区块链上,这些问题同样存在,这些技术瓶颈严重制约了加密数字资产与区块链大规模商用落地引发产业变革的能力。

由此,学术界和产业界提出和实现了各种链上和链下的改进方案。1.链上解决方案如区块扩容(比特现金为例)、更换PoW中的算法减少挖矿耗时(莱特币为例)、分片(Sharding)、提出更轻量级的共识算法(PoS为例)等;2.链下解决方案如隔离见证(SegWit)、楔入式侧链、平行链、Plasma、支付通道等。如表1为提升扩展性的各类技术方案的对比。

闪电网络作为支付通道中的代表,被视作解决比特币扩展性问题最闪耀的技术解决方案,自2015年被提出之后近几年一直备受关注。曾经使用10,000个比特币购买了两个披萨的Laszlo Hanyecz,在2018年再次使用闪电网络支付了649,000聪购买了两个披萨。2019年1月发起的一场名为“闪电火炬”的活动更是声势浩大,“火炬”传递途径覆盖全球几十个国家,众多科技界的大拿都作为火炬手参与传递。短短5年时间,已经有多个团队实现了各个语言版本的闪电网络,其上也涌现出了各类LApp。迄今,闪电网络已经拥有了1.3万多个节点,3.7万多条支付通道,通道中容纳1000个上下的比特币。

究竟闪电网络为什么可以为比特币的扩展性带来质的飞跃?又为什么没能一举解决比特币网络的扩展性问题?本文将从闪电网络的技术原理、贡献与局限、扩展技术及生态情况等多方面对闪电网络做深入探讨。
在这里插入图片描述

二、 闪电网络的技术原理

“If a tree falls in the forest and no one is around to hear it, does it make a sound?”这句引言来自于18世纪哲学家George Berkeley,也是Joseph Poon和Thaddeus Dryja在2015年提出的“闪电网络(Lightning Network)”的理念根源。就像无人听闻的陨落无足轻重一样,日常重复的交易也不必人尽皆知。

对于比特币网络来说,交易双方如果有多次交易,大可不必将每次的交易都同步到网络的每个节点。只需将多次交易后,交易双方最终的资金分配状态上报给比特币网络,既可以保证资金状态的最终正确性,也可以缩减交易双方在低效的比特网络上的等待时间提升交易频次,还可以降低对比特币网络的计算及存储资源的消耗。可以说同时解决了比特币网络高延时、低吞吐的问题,打破了困扰比特币多年的性能瓶颈,也为降低交易存储量提供了极好的方案。

本小节将探讨“闪电网络”这个看似“完美”的解决方案的技术原理。闪电网络是基于微支付通道演化而来,将其单向支付通道扩展为双向支付通道,并通RSMC(RevocableSequence Maturity Contract,序列到期可撤销合约)解决双向通道中历史合约作废的问题,通过HTLC(Hashed Time Lock Contract,哈希时间锁定合约)解决跨节点交易的问题,最终形成了一张比特币链下的不依赖可信第三方和可信交易对手的支付网络。

2.1 单向支付的微支付通道
微支付通道的提出为交易双方建立小额的支付通道提供了解决方案,其具有高性能低手续费、安全性强、通道内资金单向流动及通道有时限等4个特点:

2.1.1 高性能,低手续费

  1. 仅需发生2笔与比特币网络上的通信(即2次发生在比特币网络上的交易)。交易双方仅需在建立和关闭通道时与比特币网络通信,第一次通信建立微支付通道,第二次通信将在通道内发生的交易的最后结果发布到比特币网络上。
  2. 通道内的资金交易以点对点通信方式进行。通道内的支付只需交易双方签名认可,免去了复杂的网络传播与验证,交易速度近实时。且点对点的交易手续费几乎可以忽略。

2.1.2 安全性强

  1. 交易双方利用双签名账户构建支付通道。支付通道内的交易需要有交易双方的签名认可否则无法被发布到主链上。
  2. 付款方在收款方消失的情形下仍能取回余额,保障付款方权益。如下图1所示,Alice在签署存款合约(Fund Contract)将10 BTC存入双签名账户之前,会要求Bob先签一份退款合约(Refund Contract),合约中会确定一个拿回余额的时间点。在这个例子中退款合约表示在4月30之后,Alice可以将这份合约签名并发布到比特币网络上,成功后双签名账户中的10 BTC将退至Alice的账户。如此,Bob无法通过拒绝发布交易合约阻止Alice拿回通道中的余额而进行敲诈。

在这里插入图片描述

  1. 付款方无法对已发生的交易抵赖,保障收款方权益。如图2所示,每次发生新的交易,Alice都会签署一份余额重新分配的合约发给Bob。图中的tx1表示Alice向Bob付款1 BTC,tx2表示Alice再向Bob付款3 BTC。但如果此时Alice期望通过tx3将10 BTC全部拿回来,抵赖掉之前的两次付款,是做不到的。因为tx3尚未得到Bob的签名,无法发布,而Bob只需忽略tx3,将tx2签名并发布到比特币网络上就可以拿到应得的4 BTC。同时可以注意到,微支付通道对试图抵赖者(此处为Alice)没有惩罚机制,剩余的6 BTC仍将回到Alice的账户。
    在这里插入图片描述

2.1.3 通道资金单向流动
微支付通道只适用于Alice向Bob付款的场景,不适用于Alice与Bob互相转账的情形。通道在能力上并没有限制资金的双向流动,但从资金Bob流向Alice的交易是不可信的交易,即便Bob签署了一份付款合约发送给Alice,Bob仍可以将发生该份合约之前的合约签署发布,从而抵赖掉这次付款。

2.1.4 通道时限
微支付通道通过时间锁机制保障了付款方的权益(上文2.1.2小节中提到),但同时会使通道最长只能保留到时间锁的到期时间。一旦到达截止时间,即便通道内的金额并没有完全被支付或者交易双方仍存在支付需求,通道会被关闭。如果不关闭,上例中,通道中的10个BTC将全部返还给Alice,Bob显然不会允许这样的情况发生,其会在截止时刻之前发布通道中最新的合约并关闭通道。

2.2 更进一步的RSMC
为了给交易双方提供双向的及更长期的支付通道,闪电网络在微支付通道的基础上设计了RSMC(Revocable Sequence Maturity Contract,序列到期可撤销合约)。随之带来的是更复杂的签约机制和防抵赖机制。

RSMC中主要涉及了5种交易:

  1. 存款(fund):建立通道之初通过“存款”交易将双方的资金存入双签名钱包,将存款交易广播到比特币网络就意味着双方建立了支付通道。但在广播之前需要先签署一份“提交”交易,保证对手方消失的情况下仍能取回双签名钱包中的资金(上文的微支付通道中通过“退款”交易实现)。
  2. 提交(commit):支付通道建立后,交易双方在通道内进行资金往来时通过“提交”交易来实现。该交易的特征是一式两份,每一方都会签署好交易信息递交给对手方。参与者如果想终止支付通道可以将对方署过名的合约签字并广播到区块链网络,进行资金分配并关闭支付通道。
  3. 分配(delivery):“分配”交易是具体执行资金派送的交易,该交易执行完成后资金将抵达目标账户。通常指的是不可撤销的分配。
  4. 可撤销的分配(revocable delivery):同样是资金派送的交易,但该交易的执行可能因为其他交易的执行而被撤回。在RSMC中主要会因为“违约补偿”交易的执行而被撤回。
  5. 违约补偿(breach remedy):RSMC中核心的防抵赖机制,当对手方企图通过发布历史交易而抵赖后续交易时,可以通过发布“违约补偿”交易罚没对手方的所有资金。
    本小节将在Alice与Bob的交易中详细探讨这5种交易如何相互配合实现高效可信的支付通道。

2.2.1 支付通道的建立与交易

  1. 存款交易与信任问题
    如图3所示,是Alice与Bob支付通道的建立与通道内的资金往来的流程。最初,Alice出资2 BTC,Bob出资8 BTC,双方签订“存款”交易,计划将钱存储到二人的双签名钱包中。但由于双签名钱包中的资金只有在双方均签名认可的情况下才能被动用,二人都会担心,尤其是出资更多的Bob,如果对方消失自己将无法取回钱包中的余额,甚至对方可能会以不签名为要挟进行敲诈。因此,在广播“存款”交易之前,双方都需要得到能拿回账户余额的保证,这份保证通过一份“提交”交易实现。
  2. 提交交易与通道建立
    如图3所示,State 1的时候,Alice和Bob各会签署一份提交交易给对方持有。以Alice持有的提交交易C1a为例,该交易输入为双方的签名,此时Bob已经签名但Alice自己尚未签名。
    该交易的输出为资金的分配方案的脚本,该脚本此时并
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值