作者:RGB++ Fans;;来源:字节元 CKB
在上一篇《闪电网络是如何工作的(2)》中,我们探讨了比特币闪电网络(Lightning Network)的工作原理。本质上,闪电网络是一个精心设计的支付通道系统,它把一条条支付通道串联起来,形成一个广阔的、相互连接的支付网络,让不直接相连的各方可以通过多跳路由实现相互支付,HTLC、PTLC 等合约会保障路由的安全。
经过多年的发展,尽管闪电网络在技术和用户体验方面取得了长足进步,但我们不得不直面一个现实:它仍未达到可大规模采用的程度。今天这篇文章,我们将聚焦闪电网络当前面临的一个关键挑战:流动性问题。这一问题可进一步细分为两个方面,一个是网络整体流动性不足,另一个是流动性分配问题。
网络整体流动性不足
根据 mempool 的最新统计数据,比特币闪电网络目前拥有 12,389 个节点,48000 条支付通道,所有的通道容量加起来为 5311.8 BTC。
闪电网络是一个 P2P 的流动性网络,如果要真正走向大规模采用,无论是节点数量、通道数量,还是通道容量,都还需要再增长上百倍甚至上千倍。那么,如何吸引更多的节点加入到网络中来呢?
首先,要降低闪电网络节点的搭建和维护门槛,让没有技术背景的普通用户也能轻松运行闪电网络节点,这一点至关重要。比特币生态中,已有不少团队推出了即插即用的硬件设备,比如 Umbrel 的硬件盒子,支持运行比特币闪电网络节点,再比如 Fi5Box,不仅支持比特币闪电网络,也支持运行其他闪电网络的节点(如 CKB 的 Fiber Network),他们为用户提供了免维护的闪电网络节点解决方案。
其次,引入额外的激励机制是推动闪电网络进入良性循环的关键。闪电网络开设通道后,资金就被锁住了,如果 Alice 想做闪电网络服务商(LSP),要跟 100 个人开设通道,每个通道放 1 个 BTC,那就要锁定 100 BTC。这 100 BTC 只有在流动时才会产生收益,静止时不会,因为闪电网络节点的收益主要来源于手续费。手续费的收费标准是 “基础费用(Base Fee)+ 每聪费率(Fee Rate)”,其中基础费用是闪电网络节点对每笔交易发票收取的固定费用,和交易金额大小无关,而每聪费率是针对交易发票的每一聪收取费用的比例。
根据 mempool 的统计,当前比特币闪电网络的平均基础费用为 950 mSat(即 0.95 聪),平均每聪费率为 764 ppm(即每聪收取 0.000764 Sat),这意味着一笔金额为 1 万聪 (0.0001 BTC,当前约为 6.5美元)的交易,路由节点收到的手续费还不到 9 聪。况且,当前闪电网络的交易量并不大,其中还有很多交易不需要通过路由节点进行(即交易双方直接有支付通道)。因此,那些持有 BTC 想要进行理财的人,第一选择并不是将 BTC 存入闪电网络来赚取手续费,而是去交易所放贷或者去某些新兴项目上做 Staking/Restaking。
如果能引入额外的激励机制,让更多的人愿意运行闪电网络节点或者成为 LSP,让更多的 BTC 持有者愿意把 BTC 存入闪电网络来赚取激励,网络流动性不足的问题将有可能得到解决,闪电网络将变得更好用。闪电网络更好用之后,又会吸引更多人的使用闪电网络,带来更多的交易,增加路由节点的手续费收入,激励更多的人去成为 LSP......最终,让闪电网络进入良性循环。
目前,在比特币生态中,UTXO Stack 已经宣布转型为闪电网络质押层,通过去中心化质押协议为闪电网络提供更好的流动性和更好的收益模型。同时,UTXO Stack 还将推出代币激励机制,激励用户质押 BTC 以增强闪电网络支付通道的流动性。
流动性分配问题
即便解决了整体流动性不足的问题,如何有效分配这些流动性仍是一个挑战。
我们以 Alice 通过路由节点 Bob 向 Carol 付款为例,假设初始状态时 Alice 和 Carol 在通道中各自有 2 万聪,Bob 在每条通道中有 1 万聪。经过几次交易后,通道中的余额分布如下(为了简化,不考虑路由节点 Bob 收取的手续费):
如果未来的一段时间内,Alice 和 Carol 还有业务往来,还需要 Alice 向 Carol 发起付款,应该怎么办呢?Bob 已经无法路由支付了(即 Bob 与 Carol 的通道中,Bob 已无法再向 Carol 转移资金),他需要再平衡自己的通道。
上面这种情形对于闪电网络中的那些路由节点而言非常常见。节点运营者必须在自己的通道之间不断平衡流动性,如果通道在你这一端没有资金,就无法发送支付;如果通道内的所有资金都在你这一端,就无法收取支付。
上面例子中,一种方法是直接关闭 Bob 和 Carol 之间的通道,并开启新的通道,但这个方法并不经济,因为关闭通道和开启通道的交易都需要上链,都需要支付比特币矿工费。闪电网络的设计初衷,就是为了减少链上操作,把尽可能多的交易放在链下通道中进行,如果闪电网络每天有几亿个通道要开启和关闭,比特币区块链会一直拥堵,矿工费会高到离谱。
为此,比特币社区提出了多种创新方案来解决流动性分配问题:
Submarine Swap(潜水艇互换)
简单来说,Submarine Swap 可以让用户向闪电网络中的互换服务商发送通道中的 BTC,而互换服务商会将相应数量的 BTC 发送到比特币链上的收款地址,或者反过来,用户发送链上 BTC 给互换服务商,互换服务商发送通道中的 BTC 给指定的接收节点。这一过程虽然有互换服务商的参与,但是通过 HTLC(哈希时间锁合约),全程无需信任。
Submarine Swap 还启发了许多后来者,比如通道余额调节协议 PeerSwap,可以让用户直接跟他的通道对手实施潜水艇互换。在上面的例子中,Carol 可以直接充当互换服务商的角色,Bob 转链上的 BTC 给 Carol,Carol 在通道中支付相应数量的 BTC 给 Bob,即可。具体来说:
Bob 生成一个秘密值 R(原像)及其哈希值 H。
Bob 在比特币区块链上使用哈希值 H 创建一个 HTLC:Bob 会给 Carol 支付 1 万聪,只要他能在 5 个区块内提供秘密值 R,否则这些钱会返回给 Bob。
Carol 在他和 Bob 的支付通道中,使用同样的哈希值 H 创建一个 HTLC:Carol 会在通道中给 Bob 支付 1 万聪,只要他能在 4 个区块内提供秘密值 R,否则这些钱会返回给 Carol(为了简化,这里不考虑互换服务商收取的服务费)。
Bob 使用秘密值 R 解锁通道中的 HTLC,拿走 1 万聪。
Bob 拿走资金之后,Carol 也知道了秘密值 R,他用 R 解锁比特币链上的 HTLC,拿走 1 万聪。
相比关闭通道然后开启新通道,Submarine Swap 只有一笔链上交易,更加经济,而且全程无需信任。
通道拼接(Splicing)
通道拼接一种链上的再平衡方法:节点在单笔交易中关闭通道又再开启通道,从而改变锁在通道中的余额。当这样做的节点锁入更多资金,我们称为 “加长(splice in)”;如果减少了锁定的资金,就叫 “剪短(splice out)”。在上面的例子中,Bob 和 Carol 之间的通道可以通过通道拼接进行加长。
通道拼接比起用两笔交易来关闭、重新开启通道要方便得多,不过它依然要在网络中广播交易、支付链上矿工费并等待交易确认。
多路径付款(Multi-Path Payment,MPP)
多路径付款可以将一笔付款分割成几部分,这些部分可以同时在不同的地方停驻或流转。如果 Alice 需要继续给 Carol 支付 1 万聪,虽然 Bob 已经无法路由支付了,但 Alice 通过路由节点 David 可以向 Carol 支付 6000 聪,通过路由节点 Eva 可以向 Carol 支付 4000 聪,那么 Alice 的这笔 1 万聪交易就可以通过多路径付款的方式完成。
多路径付款技术的初衷是为了克服了单路径支付的局限性,允许更大数额的支付通过分割成较小的多个部分来送达,比如一笔金额为 1 BTC 的闪电网络交易,可以分成 100 笔 0.01 BTC 的交易来完成。多路径付款对网络的去中心化和交易的隐私保护有好处,在安全性上,原子化多路径付款(AMP)技术可以保证如果有一条路径无法完成付款,则所有付款都不会成功,从而防止混乱和欺诈。
顺便提一下,在闪电网络中,大额的交易除了通过多路径付款之外,还可以通过 Wumbo 通道完成。Wumbo 通道取消了常规闪电通道所能持有的比特币数量上限 —— 0.1667 BTC,允许节点拥有更高的通道容量,从而支持大额交易。
结语
流动性是制约闪电网络发展的主要因素之一。通过降低闪电网络节点的搭建和维护门槛,引入额外的激励机制,可以帮助闪电网络解决网络流动性不足的难题,而 Submarine Swap、通道拼接、多路径付款等方案,在解决闪电网络流动性分配方面有一定的帮助。
除了上述方案,比特币社区还提出了 Lightning Pool(一种通道租赁拍卖市场)、Liquidity Advertisement(一种通道租赁方案)、环路支付(一个节点通过一条由支付通道形成的环路来给自己支付,实现链下再平衡)等其他方案来优化网络的流动性。
流动性管理无疑是闪电网络面临的一项复杂工程,但随着技术的不断进步和社区的持续努力,我们有理由相信,这些流动性难题终将得到解决。