区块链/等级 V · 分层扩展/5.1 闪电网络(Lightning)/课程 4
流动性与通道管理
方向性容量、资金移动的成本,以及无需关闭通道即可调整其大小
材料一个正在运行、支持拼接(splicing)的闪电节点实现(例如 Core Lightning 或 Eclair)可访问公共的闪电网络图谱浏览器足以支付一笔开通道交易的链上比特币
好奇
- 为什么用自有资金开通通道后,你只能发送、却无法接收?
- 究竟是什么机制使得双方能够在不广播强制关闭信号、也不丢失路由历史记录的情况下改变现有通道的容量?
- 通道两侧的小型锁定储备是如何确保作弊行为在经济上不可行的?
探索
- 闪电通道具有方向性。余额的分配决定了它的用途:出站容量用于发送支付,入站容量用于接收支付。当用户用自己的币广播一笔注资交易来开通通道时,会获得出站容量(扣除储备金和承诺交易手续费),但没有入站容量。这种不对称意味着用户可以立即在该通道内支出,但在余额发生转移之前,无法从对手方接收任何新的价值。
- 获取入站流动性需要外部行动或内部资金移动。用户可以请求另一个节点向自己开通通道,相当于购买接收容量。或者,用户也可以通过现有通道发起支付;随着资金从其出站一侧流向对手方一侧,该用户与这个特定对等节点之间的入站容量就会增加。这种先支出的方式会随着时间推移自然建立接收能力,而无需新的链上交易。
- 闪电服务提供商(LSP)以商业方式解决这一摩擦。这些机构收取费用,为用户开通通道。LSP 向用户节点注入资金,立即创造入站容量,否则用户就得等待余额自然转移。对于必须持续保持收款能力、以免在交易高峰期丢失销售的商家来说,这项服务至关重要。
- 再平衡用于管理用户通道图中的方向性失衡。如果一个通道的出站容量耗尽,而另一个通道有富余,资金可以经由网络绕一圈路由,以转移余额。这一过程会消耗路由费,并且每一跳都需要足够的流动性。拼接(splicing)自2023年起在 Core Lightning 和 Eclair 等实现中部署,它提供了另一种选择:在链上调整通道大小而无需关闭通道,保留通道及其历史;其公开的短通道 ID 会改变,并会向网络通告新的 ID。
- 通道的每一方都保留一笔储备金,通常约为总容量的百分之一。储备金意味着每一方始终有资金处于风险之中:一个已经花光全部余额的人,广播一个对自己更有利的旧状态时不会有任何损失,因此协议会保留一部分资金作为储备,供惩罚时没收。
- 通道管理会带来实实在在的经济成本。开通和关闭通道都需要链上交易,使用户面临波动的内存池手续费,这些费用在网络高度拥堵时会飙升。再平衡则需要为途经的每一跳支付路由费。
关键事实
- 用自有资金开通通道只能提供出站容量,而没有入站容量。
- 入站流动性可以通过支出现有资金、请求第三方开通通道,或向闪电服务提供商购买来获得。
- 拼接(splicing)自2023年起已在多个软件中实现,它能在不关闭通道的情况下在链上调整通道大小。
- 每一方都会保留约占通道1%的储备金,因此作弊总会让其有所损失。
- 再平衡通过环形路由调动资金,以在通道之间转移方向性容量。
- 开启和关闭通道会产生链上交易费用,该费用会随网络拥堵程度而变化。
练习 九、六、三、一
9收集列出九种为闪电网络节点获取入站流动性的不同方法或服务,包括自然形成的方式和商业化方式。
6归类根据由谁发起注资动作,将这九种方法分为六类:自行支出、第三方开通通道、向 LSP 购买、拼接(splicing)、再平衡或其他机制。
3提炼将这六组归纳为与维持通道流动性相关的三项核心经济权衡。
1凝结写一句话,解释为什么方向性容量是闪电网络通道中发送和接收的共同前提。
事实核查
日期、数字及数据均依据下方列出的已发表资料进行核实。
- A. M. Antonopoulos, O. Osuntokun & R. Pickhardt, Mastering the Lightning Network (2021)
- BOLT #2: The Bitcoin Lightning Network - Peer Networking Protocol
- Core Lightning splicing documentation
- Eclair splicing documentation (ACINQ)