研报 | 闪电网络的快与慢:12013个节点、36117个状态通道、925个比特币
Overview 概述
闪电网络作为比特币的扩容解决方案之一,保持了比特币原链的核心特征。区别于 BCH、BSV 两个比特币分叉项目,闪电网络技术路径并没有选择通过增加比特币区块容量大小来扩容,而是选择将大量小额交易放在链下处理的路径。
闪电网络从 2015 年白皮书发布,至今已发展了 5 年时间。于 2018 年正式上线后,闪电网络快速发展,至今已经拥有 12,013 个节点、36,117 个状态通道、网络容量达到 925 个比特币。
但是闪电网络经历了 2018 年的快速发展后,从 2019 年 6 月至今,进入了发展的瓶颈。至今闪电网络所处理的 BTC 交易容量,与比特币全网流通量 18,298,200 相比,占比仅为 0.0050546%。
闪电网络出现当前现状的主要原因为:
- 社区很多用户更期望比特币成为保值储值的数字黄金,而非支付现金;
- 比特币的小额支付场景有限;
- 安全性存在隐患;
- 闪电网络技术还未完全成熟。
- 比特币价格的巨幅波动;
- 通道数量有限;
- 节点的中心化趋势;
- 用户使用门槛高;
- 闪电网络通道存在延展性漏洞。
Report 报告
1.闪电网络介绍
1.1 简介
比特币闪电网络,英文名称为 Bitcoin Lightning Network,是一种旨在提高比特币交易速度的链下即时支付技术。闪电网络的完整技术主张最早见于Joseph Poon、 Thaddeus Dryja两位开发者撰写的白皮书 《The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments》 ,其核心技术原理是将大量交易放在比特币的链下(off-chain)进行,只将最终的交易结果由链上确认,从而提高现有比特币网络的交易效率。由于比特币网络当前的交易速度(每秒交易7笔左右)备受诟病,如何安全地实现扩容一直是社区关注的重点。而闪电网络作为比特币链下扩容技术,其不会对比特币底层进行任何修改,并且开发团队为区块链行业顶尖的开发者,所以从诞生那一刻便备受大家关注。
经过将近 5 年左右的发展时间,闪电网络从 2015 年发布白皮书,到 2020 年 3 月已经拥有 12,013 个节点、36,117 个状态通道、网络容量达到 925 个比特币。
1.2 发展历史概述
闪电网络从 2015 年发布白皮书开始至今,主要经历如下几个阶段:- 2015 年 2 月份,Joseph Poon 和 Thaddeus Dryja 发布了一篇闪电网络白皮书《The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments》草稿;
- 2016 年 1 月 14 日,Joseph Poon 和 Thaddeus Dryja 发布了更新版的闪电网络白皮书;
- 2017 年 1 月,第一个闪电网络的实现——LND 的内部测试版本发布;
- 2017 年 8 月,隔离见证被激活,比特币闪电网络的基础工作完成;
- 2018 年 3 月,Lightning Labs 发布第一个闪电网络的测试版本——LND。另外两个闪电网络版本分别由 ACINQ 和 Blockstream 团队负责开发,分别在 3 月底和 6 月底向用户发布;
- 2019 年 2 月,匿名比特币持有者 hodlonaut 发起「闪电火炬」(The Lightning Torch)活动,全球范围内近 300 位用户通过闪电网络支付比特币,吸引了包括 Twitter 首席执行官 Jack Dorsey、《精通比特币》作者 Andreas Antonopoulos、投资公司 Morgan Creek 创始人 Anthony Pompliano、币安创始人赵长鹏等名人的参与。
- 2020 年 3 月,闪电网络全网已拥有 12,013 个节点、36,117 个状态通道、网络容量达到 925 个比特币。
1.3 开发团队
目前主要有三个团队在进行闪电网络技术相关的研究开发工作,分别为:Blockstream、Lightning Labs 和 ACINQ。上述三家团队均于 2018 年,分别推出了闪电网络的测试网。三个开发团队的信息如下表所示:
表1:闪电网络三个主要的开发团队介绍
1.4 技术优点
闪电网络作为比特币扩容的关键性技术,具备如下的技术优点:1)交易速度快
比特币链上交易受限于每秒 7 笔的交易速度,如赶上交易拥堵,可能会出现等待半小时甚至更久的转账时间,十分不利于用户的支付体验。因此闪电网络通过把大量交易放在链下来完成的方式,可以大幅提高用户转账交易的效率。理论上闪电网络交易的确认时间可以达到支付宝等传统支付工具的水平。
2)交易费用低
比特币链上交易,用户的交易由矿工打包完成,而矿工通常会选择手续费高的交易优先打包。而闪电网络中的大量频繁的交易是在比特币链下完成的,打包交易的完成方由矿工变为了闪电网络节点。通常闪电网络节点设置的费率也普遍较低,并且用户可以选择费率最低的节点来完成支付,从而使得整体交易费低于完全通过链上完成交易的情况。
3)匿名性
比特币等数字货币并不能实现完全的匿名性,链上交易双方的地址可以被跟踪。但是由于闪电网络实现了相当一部分交易不上链,大部分数据存储在链下,因此很难追踪到闪电网络进行支付的所有笔小额交易,从而使得隐私性得到了一定程度的加强。
2.核心技术原理
2.1 闪电网络的工作原理
闪电网络通过建立状态通道的方式,将部分频繁的小额交易放在链下完成,从而减轻主链的交易压力。所以,闪电网络技术的核心是建立一个安全、可行的链下支付通道,同时结合多重签名地址技术、RSMC 序列到期可撤销合约、HTLC 哈希时间锁定合约等技术完成支付的结算与确认,进而提高用户支付的效率。我们可以举一个例子来阐述闪电网络的交易流程:比如 Alice 经常去小区门口的咖啡店买咖啡,所以她每次购买咖啡的时候都需要向咖啡店的老板 Bob 支付 BTC,而Bob也经常麻烦Alice代购一些海外奢侈品。所以,Alice 和 Bob 如果使用 BTC 链上交易的话,不仅每次支付时等待确认的时间久,而且整个期间发生的手续费也较高。
Alice与Bob 可以通过闪电网络来解决上述的问题。流程如下:
1)Alice 和Bob分别向多重签名地址转账 5 个BTC,转账的过程将广播并被矿工记录在区块链上,这个多签地址里面就拥有 10 个比特币。从此刻起,Alice 和 Bob 就建立了一个闪电网络的链下支付通道。
2)Alice 每购买一杯咖啡,就在通道里向 Bob 支付一笔 BTC;Bob 每次让 Alice 帮忙代购,Bob 就在通道里向 Alice 支付一笔 BTC;但是由于这期间双方的交易记录均发生在链下,不会向矿工广播,在 BTC 的链上没有记录,所以通道内的交易确认速度很快,甚至可以接近支付宝的确认速度。
3)当 Alice 和 Bob 在一个月后,计划将这个月的交易进行清算和结算时,双方将根据期间在闪电网络支付通道里的交易记录,来核算最终各自的资产情况。并将最终由双方共同确认的交易结果发送至链上,进行确认和交易广播,此时 Alice 和 Bob 建立的闪电网络支付通道将结束。
详细交易流程可见下图:
图1:闪电网络交易流程示意图
2.2 核心技术介绍
1) 多重签名地址比特币多重签名地址是为了实现比特币资产的多方管理的一种技术。最初版本的比特币签名机制是单一地址管理的,即地址的持有人单独管理,只有他/她本人拥有私钥。如果该持有人丢失了私钥,将直接失去该笔链上资产。
所以,为了规避丢失私钥而丢币的风险,开发者们提出了多重签名的技术解决方案,即N个用户可以分别持有N个私钥,只要 M 个用户拿出私钥就可以动用某个多重签名地址里的比特币。这里的M有限定条件,需要大于等于 2、小于等于 N。
2) RSMC 合约(Revocable Sequence Maturity Contract)
RSMC 合约,全称为 Revocable Sequence Maturity Contract,即序列到期的可撤销合约。顾名思义,RSMC 合约支持交易双方在闪电网络的通道中,双向支付,并且支持可撤销的交易。每次交易双方之间发生频繁的小额交易时,需要交易双方对一定时期内的资金交易结果进行共同确认,并且这些交易都发生在链下,可以支持一方撤销交易。
为了鼓励用户尽可能久地使用闪电网络的通道,系统将对最先提出终止通道的一方资金到账时间比另一方晚。
在通道结束后,网络会将最终结算的资金返还至双方的链上比特币钱包地址,一般情况下每笔交易金额都不会超过用户放入通道内的资金规模。
RSMC 合约是支持闪电网络可以实现的最重要的技术之一,我们延续上文中假设的 Alice & Bob 的例子,来给大家解释下其工作原理:
- Alice 与 Bob 发起双方的闪电网络支付通道;
- Alice 与 Bob 均向支付通道里的多重签名地址,划转了 0.5 个 BTC,即下图中的 Funding Tx 部分;
- Alice 发起一笔承诺交易 C1a,其中包含一笔退款交易 RD1a。C1a 的第一个输出是 RD1a,由 Alice 另一个私钥 Alice2 和 Bob 私钥的多重签名向 Alice 的地址转入 0.5 BTC。但 RD1a 包含一个 seq 变量(seq=1000)以防止其马上被矿工打包确认,而是要等1000个区块后才可以被矿工打包确认。C1a 的第二个输出是向 Bob 的地址转入 0.5 BTC。Alice 将 C1a/RD1a 交给 Bob 签名;
- Bob 构造一笔承诺交易 C1b,其中包含一笔退款交易 RD1b。C1b 的第一个输出是 RD1b,由 Bob 的另一个私钥 Bob2 和 Alice 的私钥的多重签名向 Bob 的地址转入 0.5 BTC。但 RD1b 包含一个 seq 变量(seq=1000),防止其交易马上被矿工打包确认,而是要等 seq=1000 个区块后确认。C1b 的第二个输出是向 Alice 的地址转入 0.5 BTC。Bob 将 C1b/RD1b 交给 Alice 签名;
- Bob 对 C1a/RD1a 签名并返给 Alice,同时 Alice 对 C1b/RD1b 签名并返给 Bob;
- Alice 检查 C1a/RD1a 以及 Bob 的签名,确认后自己签名。同时,Bob 检查 C1b/RD1b 以及 Alice 的签名,确认后自己签名;
- 当Alice发现某笔交易金额不正确时,可以在 1000 个区块(seq=1000)对该笔交易确认前,发起验证请求,一旦被证实 Bob 作假,Bob 的资金将会被没收以补偿 Alice;
- 当 Alice 与 Bob 计划结束支付通道,开始清算双方资金时,支付通道将会被关闭。
- 支付通道结束时,双方确认后的结果将发送至链上,进行确认和交易广播。
图2:RSMC 交易结构图
来源:https://blocking.net/1516/bitcoin-lightning-network-rsmc/
3)HTLC 合约(Hashed Time-Lock Contract)
HTLC 合约全称 Hashed Time-Lock Contract,即哈希时间锁合约,简单说就是加了时间限制的合约,即交易双方可以对转账合约的实现设计一个倒计时。比如 Alice 帮 Bob 代购了一个价值 500 美金的高端化妆品,Bob 为了表达诚意,会先将 500 美金等值的 BTC 支付到一个多重签名地址里,并由 Alice 生成的一个密码 R 的哈希值 H(R)。
如果在一定时间内,比如第 5 天时,Alice 已经将化妆品交给了 Bob,那么 Bob 将会把密码 R 告知给 Alice,从而 Alice 成功收到该笔预付款。如果 Alice 在约定的时间内,未能成功向 Bob 交付化妆品,则该笔 BTC 将取消冻结,并转至 Bob 的持币地址。
所以 HTLC 合约功能可以完美解决闪电网络中通道与通道链接的问题,能够帮助不认识的两方通过不同的支付通道相连接,从而完成小额多频次付款。
比如 A 希望与 C 建立支付通道,但是 A 与 C 并不直接认识,但是 A 与 C 都认识 B,那么 A 与 C 就可以借助 B 来建立两个支付通道来完成支付,如下图所示:
图3:闪电网络通道连接交易结构图
HTLC 合约主要由 2 部分构成:
- 哈希值锁定,确保了只有知晓最终接收方生成的密码 R 才可以解锁,并获得冻结的资产;
- 时间锁定,即确保了转账方在一定时间内(最终接收方解锁取走比特币前)无法取走,又能保证在一段时间后如果最终接收方没有取走比特币的情况下,转账方可以拿回自己的比特币。
除了多重签名地址技术、RSMC 序列到期可撤销合约、HTLC 哈希时间锁定合约等三个核心技术外,闪电网络依然还在完善的技术方案包括:瞭望塔 Watchtowers、原子多路径支付 Atomic Multi-Path Payments、潜交换 Submarine Swaps、中微子协议 neutrino 等,简要总结如下表所示:
表2:闪电网络其他技术简介
3.发展现状及原因分析
3.1 核心数据表现
根据闪电网络数据统计网站 1ml.com 的实时数据,截止 2020 年 3 月 27 日,闪电网络中节点的数量达到 12,013 个,通道的数量达到 36,117 个,当前所有通道中托管的 BTC 数量为 924.9 个。具体数据如下图所示:
图4:闪电网络数据 来源:https://1ml.com/statistics
另外根据统计数据,中国地区闪电网络数据情况如下表所示:
表3:闪电网络中国地区数据 来源:https://1ml.com/statistics
通过上述数据整理,可以看到中国地区的闪电网络普及度极低,容量占全网比仅为 0.313%,平均每个节点 BTC 容量仅为 0.10 BTC。
3.2 核心指标历史表现
1)节点数量图5:闪电网络节点数量历史表现 来源:Bitcoin Visuals
2)通道数量
图6:闪电网络通道数量历史表现 来源:Bitcoin Visuals
3)状态通道中托管的 BTC 数量
图7:闪电网络通道中托管的BTC数量历史表现 来源:Bitcoin Visuals
4)平均每个通道中托管的 BTC 数量
图8:闪电网络通道中平均每个通道中托管的 BTC 数量历史表现 来源:Bitcoin Visuals
3.3 现状总结及原因分析
闪电网络从 2018 年开始正式运行,到现在经过 2 年的发展时间,虽然网络中 BTC 的容量从 0 增长到了 924.9 个,法币价值为 630.7 万美元,但是和比特币全网流通量 18,298,200 相比,占比仅为 0.0050546%。通过对当前闪电网络的数据表现进行分析,可以看到闪电网络的节点数量、交易 BTC 数量、通道数量在 2019 年整体表现比较平缓,甚至还略有下降,这说明在 2019 年闪电网络的发展进入一个瓶颈期。
主要原因如下:
1)社区对比特币的支付属性认可存在分歧
比特币的内在价值主要表现在两个方面,一是类似于数字黄金的价值存储,二是电子现金支付工具。而社区中相当一部分用户更倾向于比特币的价值存储属性,而闪电网络作为链下扩容方式,是希望比特币可以履行电子支付货币的功能,这与很多用户的使用心态背道而驰。
2)比特币的小额支付场景有限
闪电网络虽然通过链下扩容提高了比特币转账的交易速度,但是却没有直接提高比特币的现金支付场景。比特币如果希望成为电子支付货币,那么它必须具备货币的基本属性之一:内在价值在一段时间内相对稳定。而恰恰相反,比特币的价格常常大幅波动,并且单个币的价格也较高,从而使得用户使用比特币小额支付购买商品或者服务的整体意愿不高。
因为即使有了闪电网络加持的比特币,在小额支付场景上,依然无法和法币的方便性相比,甚至与稳定币 USDT 相比也难有竞争优势。用户很难有动力不使用方便、安全、价值稳定的法币,而用比特币去做日常的小额支付。所以,比特币的小额支付场景有限也直接导致了大家使用闪电网络来支付比特币的意愿不强。
3)安全性存在隐患
近年来闪电网络的安全性隐患一直受大家的关注,在 2019 年 8 月闪电网络开发者 Rusty Russel 就表示闪电网络软件的旧版本存在严重的漏洞,如果用户不进行更新,可能会丢失比特币。
另外,由于闪电网络通道内的交易均是在链下处理,并且涉及中介路由,支付双方的交易数据容易被黑客攻击而暴露。闪电网络在支付时,要求节点必须保持在线状态,如果用户在支付时,发生节点下线,将会使用户无法支付或者资金处于冻结状态。
4)闪电网络技术还未完全成熟
闪电网络目前还存在许多需要解决的问题,比如节点掉线、路由设计、节点中心化、安全性、隐私暴露等,所提出的技术解决方案如瞭望塔 Watchtowers、原子多路径支付 Atomic Multi-Path Payments、潜交换 Submarine Swaps、中微子协议 Neutrino等还要等待落地验证。
4.市场分析及未来展望
4.1 不同扩容路径对比分析
自从上线以来,比特币网络的交易速度慢和拥堵问题一直广受诟病,比特币社区也于 2015 年开始探讨比特币的扩容解决方案。社区提出的扩容解决方案核心争议点在于是否要区块扩容,即将比特币区块大小从当前的 1M 扩大到 8M 甚至更高。以比特币 Core 团队为代表的开发者社区和用户强烈反对区块扩容,主张以“隔离见证+闪电网络”的链下扩容方式。
截止目前,比特币的扩容方案主要分为链上扩容和链下扩容两大类,如下表所示:
表4:比特币扩容路径
闪电网络主要应用在 BTC 主链上,通过将链下交易来帮助 BTC 主链提高交易效率,从而加强比特币的货币支付属性。而 BCH 和 BSV 主要是通过扩大区块容量来提高链上的交易效率,即支付属性直接通过主链上的交易来实现。
闪电网络与 BCH 和 BSV 虽然实现的技术路径不同,但是提高“比特币”的交易速度的目的却是相同的。从这点来看,如果闪电网络能够得到大面积普及,无疑会抢占 BCH 和 BSV 在「数字货币支付市场」的市场份额。
但是短期内,由于比特币价格的巨幅波动,以及闪电网络钱包的用户使用门槛高,用户对于闪电网络小额支付的需求依然有限。只有当闪电网络支持大额支付、用户体验更优、使用门槛降低,并且比特币的价格相对稳定时,才有可能激发大家使用闪电网络小额支付比特币购买服务或商品的需求。
4.2 未来应用的主要障碍
1)比特币价格的巨幅波动当前闪电网络使用度较低的一个重要原因便是比特币的价格极其不稳定,特别社区用户对比特币的资产价格增幅还抱有较高预期,使得用户极不愿意用“具备较大升值空间”的比特币进行购买商品或者服务时的支付手段,特别是小额支付。
充当支付工具的货币首先要求具备的特征便是价格相对稳定,这也是各国政府努力维持本国货币汇率稳定的重要原因。所以,只有在比特币的价格预期相对稳定时,其充当支付货币的需求才会得到提高,进而促进大家使用闪电网络进行支付的意愿。
2)网络中的通道数量有限
闪电网络的交易处理依赖于通道和参与用户的数量,只有当更多的人使用闪电网络,才会有更多的通道供用户选择,才可以实现快速的交易体验。而当前闪电网络的通道数量仅为 36,117 个,如果遇到节点不在线的时候,用户很难直接找到可以匹配支付需求的通道,进而无法实现用户之间的转账交易,这也是未来闪电网络需要解决的问题。
3)节点的中心化趋势
闪电网络的交易依赖于节点中的通道和用户参与数量,所以节点具备较强的网络效应。节点内创建的闪电网络通道越多、使用的用户越多,用户就越容易选择该节点来建立闪电网络通道。但这样会进而导致强者恒强,越多用户选择头部节点,头部节点处理的BTC交易规模就越大,就会吸引更多的用户来选择该头部节点,创建更多的通道。
所以节点的中心化趋势在某种程度上有利于提高闪电网络的支付效率,但是在另一方面会造成闪电网络超级大节点的出现。这点,我们通过查看闪电网络节点容量信息就可以看到,根据1ML网站上的数据,ACINQ、LNBIG两家头部节点合计占到闪电网络总容量的62%。处于很强的寡头垄断地位。
4)用户使用门槛高
当前用户使用闪电网络,首先需要使用闪电网络钱包,然后花2-3分钟时间创建闪电网络通道,如果节点离线状态还无法使用。并且如果用户支付的另外一方没有闪电网络通道,还无法进行支付。即使支付成功,在结束通道时,还需要等待一定时间来等待剩余资金到账。
上述流程对于一个只是为了小额支付的用户而言,门槛太高了,高到很难让用户不使用支付宝、微信、银行转账,甚至是使用USDT等稳定币进行支付。
5)闪电网络中的通道存在延展性漏洞
闪电通道里的交易均是在比特币链外进行处理,很容易受到交易过载或者垃圾交易的攻击。根据耶路撒冷大学的两名科研人员进行的研究,黑客可以凭借不到 0.5 个比特币,在闪电网络通道里进行大量小额支付交易,抢占闪电通道的处理资源,阻塞闪电网络通道,直至整个网络瘫痪。
所以开发者需要针对此漏洞提出新的解决方案,比如调整 HTLC 合约或者是增加两次支付交易之间的相隔时间等,否则闪电网络的稳定性和安全性将受到极大挑战,也可能会对用户产生巨大的资金隐患。
4.3 未来发展展望
预计未来 3 至 5 年内闪电网络仍将会得到社区的大力推广,因为「比特币原链+隔离见证+闪电网络」的技术路径方案得到了最多的社区用户认同,但是如果希望闪电网络真正得到更广泛的应用仍需要做很多工作,比如未来闪电网络除了在修复当前存在的一些技术缺陷外,更多地去匹配商业应用场景需求,同时加强在交易所环节的应用,扩展大额交易,势必将会把比特币变得更加完善,得到全球范围内更多用户的认可,使得全球范围内的用户享受到快捷、安全的银行服务。1)闪电网络依然是比特币原链扩容的重要解决方案
比特币原链主张以「隔离见证+闪电网络」的链下扩容路径,主要是因为区块容量扩大会使得比特币节点的网络负载,从而使得能够同步比特币全节点的矿工也越来越少,相当于变相大幅提高了比特币全节点的门槛,直接导致的结果是提高比特币的中心化趋势,那么对于比特币的初衷来讲是致命的。
从保证比特币的去中心化核心特征不变的目的来看,选择「隔离见证+闪电网络」的链下扩容路径是最优的选择,即不改变原链的链上特征以及区块大小,就可以实现扩容。
与扩大区块容量为主的扩容方案 BCH、BSV 相比,比特币市值遥遥领先,分别为 BCH 的 29.4 倍、BSV 的 38.9 倍,这也从侧面证实了「比特币原链+隔离见证+闪电网络」的技术方案凝聚了最大的共识,得到了更广泛的社区认可。
2)闪电网络技术更需要站在商业应用场景去优化
闪电网络本质上是只是一种支付解决方案,只有真正解决用户的实际需求才会得到真正的拥戴和使用。而当前闪电网络旨在解决的小额支付场景上,用户使用的动力有限,一方面是由于用户倾向于用比特币储值,而非用比特币支付;另一方面是由于闪电网络的使用门槛高、稳定性略低、BTC 价格巨幅波动等问题,使得大家更倾向于使用法币或者是稳定币去做小额支付。
所以,闪电网络不仅仅只从技术角度出发去改善,更应该从商业应用场景角度去思考和优化闪电网络技术,扩展更多的闪电网络使用场景,比如大额支付、交易所提冲币等,来吸引更多的用户使用闪电网络进行支付。
3)闪电网络需要得到更广泛的交易所支持
目前由于大量的公链及 DApp 应用渗透率低,使得大量的币被存放在交易所中,而交易所对闪电网络的支持程度对未来闪电网络的发展起着至关重要的作用。当前,根据公开信息报道,仅在 2019 年 12 月,Bitfinex 成为首家支持闪电网络的交易所,而 BTC 交易量最大的三大交易所 OKEx、Huobi、币安还未发布支持闪电网络的公告。
如果未来有更多的交易所支持使用闪电网络,势必会极大地促进闪电网络的用户群体,对于闪电网络的生态落地也会产生极大的促进作用。