• 元宇宙:本站分享元宇宙相关资讯,资讯仅代表作者观点与平台立场无关,仅供参考.

闪电网络目前面临的主要困境

  • 2024年10月08日 02:11

作者:RGB++Fans;;来源:字节元CKB

在上一篇《闪电网络是如何工作的(2)》中,我们探讨了Bitcoin闪电网络(LightningNetwork)的工作原理。本质上,闪电网络是一个精心设计的支付通道系统,它把一条条支付通道串联起来,形成一个广阔的、相互连接的支付网络,让不直接相连的各方可以通过多跳路由实现相互支付,HTLC、PTLC等合约会保障路由的安全。

经过多年的发展,尽管闪电网络在技术和用户体验方面取得了长足进步,但我们不得不直面一个现实:它仍未达到可大规模采用的程度。今天这篇文章,我们将聚焦闪电网络当前面临的一个关键挑战:流动性问题。这一问题可进一步细分为两个方面,一个是网络整体流动性不足,另一个是流动性分配问题。网络整体流动性不足

根据 mempool 的最新统计数据,Bitcoin闪电网络目前拥有12,389个节点,48000条支付通道,所有的通道容量加起来为5311.8BTC。

目前,在Bitcoin生态中,UTXOStack 已经宣布转型为闪电网络质押层,通过去中心化质押协议为闪电网络提供更好的流动性和更好的收益模型。同时,UTXOStack还将推出Tokens激励机制,激励用户质押BTC以增强闪电网络支付通道的流动性。流动性分配问题

即便解决了整体流动性不足的问题,如何有效分配这些流动性仍是一个挑战。

我们以Alice通过路由节点Bob向Carol付款为例,假设初始状态时Alice和Carol在通道中各自有2万聪,Bob在每条通道中有1万聪。经过几次交易后,通道中的余额分布如下(为了简化,不考虑路由节点Bob收取的手续费):

如果未来的一段时间内,Alice和Carol还有业务往来,还需要Alice向Carol发起付款,应该怎么办呢?Bob已经无法路由支付了(即Bob与Carol的通道中,Bob已无法再向Carol转移资金),他需要再平衡自己的通道。

上面这种情形对于闪电网络中的那些路由节点而言非常常见。节点运营者必须在自己的通道之间不断平衡流动性,如果通道在你这一端没有资金,就无法发送支付;如果通道内的所有资金都在你这一端,就无法收取支付。

上面例子中,一种方法是直接关闭Bob和Carol之间的通道,并开启新的通道,但这个方法并不经济,因为关闭通道和开启通道的交易都需要上链,都需要支付Bitcoin矿工费。闪电网络的设计初衷,就是为了减少链上操作,把尽可能多的交易放在链下通道中进行,如果闪电网络每天有几亿个通道要开启和关闭,BitcoinBlockchain会一直拥堵,矿工费会高到离谱。

为此,Bitcoin社区提出了多种创新方案来解决流动性分配问题:SubmarineSwap(潜水艇互换)

简单来说,SubmarineSwap可以让用户向闪电网络中的互换服务商发送通道中的BTC,而互换服务商会将相应数量的BTC发送到Bitcoin链上的收款地址,或者反过来,用户发送链上BTC给互换服务商,互换服务商发送通道中的BTC给指定的接收节点。这一过程虽然有互换服务商的参与,但是通过HTLC(哈希时间锁合约),全程无需信任。

SubmarineSwap还启发了许多后来者,比如通道余额调节协议PeerSwap,可以让用户直接跟他的通道对手实施潜水艇互换。在上面的例子中,Carol可以直接充当互换服务商的角色,Bob转链上的BTC给Carol,Carol在通道中支付相应数量的BTC给Bob,即可。具体来说:

Bob生成一个秘密值R(原像)及其哈希值H。

Bob在BitcoinBlockchain上使用哈希值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解锁Bitcoin链上的HTLC,拿走1万聪。

相比关闭通道然后开启新通道,SubmarineSwap只有一笔链上交易,更加经济,而且全程无需信任。通道拼接(Splicing)

通道拼接一种链上的再平衡方法:节点在单笔交易中关闭通道又再开启通道,从而改变锁在通道中的余额。当这样做的节点锁入更多资金,我们称为“加长(splicein)”;如果减少了锁定的资金,就叫“剪短(spliceout)”。在上面的例子中,Bob和Carol之间的通道可以通过通道拼接进行加长。

通道拼接比起用两笔交易来关闭、重新开启通道要方便得多,不过它依然要在网络中广播交易、支付链上矿工费并等待交易确认。多路径付款(Multi-PathPayment,MPP)

多路径付款可以将一笔付款分割成几部分,这些部分可以同时在不同的地方停驻或流转。如果Alice需要继续给Carol支付1万聪,虽然Bob已经无法路由支付了,但Alice通过路由节点David可以向Carol支付6000聪,通过路由节点Eva可以向Carol支付4000聪,那么Alice的这笔1万聪交易就可以通过多路径付款的方式完成。

多路径付款技术的初衷是为了克服了单路径支付的局限性,允许更大数额的支付通过分割成较小的多个部分来送达,比如一笔金额为1BTC的闪电网络交易,可以分成100笔0.01BTC的交易来完成。多路径付款对网络的去中心化和交易的隐私保护有好处,在安全性上,原子化多路径付款(AMP)技术可以保证如果有一条路径无法完成付款,则所有付款都不会成功,从而防止混乱和欺诈。

顺便提一下,在闪电网络中,大额的交易除了通过多路径付款之外,还可以通过Wumbo通道完成。Wumbo通道取消了常规闪电通道所能持有的Bitcoin数量上限——0.1667BTC,允许节点拥有更高的通道容量,从而支持大额交易。结语

流动性是制约闪电网络发展的主要因素之一。通过降低闪电网络节点的搭建和维护门槛,引入额外的激励机制,可以帮助闪电网络解决网络流动性不足的难题,而SubmarineSwap、通道拼接、多路径付款等方案,在解决闪电网络流动性分配方面有一定的帮助。

除了上述方案,Bitcoin社区还提出了LightningPool(一种通道租赁拍卖市场)、LiquidityAdvertisement(一种通道租赁方案)、环路支付(一个节点通过一条由支付通道形成的环路来给自己支付,实现链下再平衡)等其他方案来优化网络的流动性。

流动性管理无疑是闪电网络面临的一项复杂工程,但随着技术的不断进步和社区的持续努力,我们有理由相信,这些流动性难题终将得到解决。

Copyright © 2021.Company 元宇宙YITB.COM All rights reserved.元宇宙YITB.COM