为什么闪电也要付链上手续费
闪电网络把付款挪到链下通道里,双方通过更新余额签名来结算,这些更新不上链。但通道有两个必须上链的时刻:打开通道(建通道资金的那笔 UTXO)和关闭通道。关闭分两种:双方都在、签名齐全时做“协作关闭”,一笔普通链上交易结清余额;对方失联或耍赖时,你只能单方面把最新的 Commitment 交易广播上链“强制关闭”。平时说的“闪电手续费太贵”,多数指的就是最后这次链上动作的费率问题,机制背景见比特币闪电网络是什么?。
没有锚定输出时的问题
Commitment 交易是双方在开通道时就“预签好”的一堆版本,它的费率预算也必须在那时约定。麻烦在于:你无法预知关闭那一刻主网的费率。预算定低了,交易在内存池里排不上队;要提速就得用 CPFP 补费,可 CPFP 需要一个“能被我花出去的子输出”,而旧式的 Commitment 交易结构里,输出归各通道方所有、路径各异,一方可能根本找不到可以独立支出的低费率输出去“父补子”。
Anchor Outputs 的作用
锚定输出方案给每方在 Commitment 交易上挂一个小额锚定输出(量级约 330聪),设计为可被 CPFP 使用:
- 强制关闭时,任何一方都能花掉属于自己的那枚锚定输出,构造一笔高费率子交易,把父 Commitment 交易一起顶进区块;
- 它同时放宽了 Commitment 交易的费率约束——开通道时只需一个保守的下限,真正关闭时再按实时费率加价;
- 双方都能各自 bump,不会出现“只有对方能救、自己干瞪眼”的僵局。
代价是通道结构里多了两个小额输出,占用略多的链上体积,并且要求双方节点都支持这一特性(通道协商中的 anchor 输出特性,对应锚定输出的通道类型)。详细技术说明可参考 Bitcoin Optech 的专题页与 BOLT 规范。
实操上该关心什么
- 开大额通道前,确认通道类型是否支持锚定输出;旧通道只能用预留预算,赶上主网费率高峰会比较被动。
- 协作关闭优先于强制关闭:协作关闭只有一笔普通交易,费率低且可控,参见闪电网络通道手续费怎么收?费用归谁。
- 保留通道余额时预留“链上余量”:通道资产本身就是关闭时的手续费来源,余额被抽到粉尘边的通道,连 CPFP 的空间都没有,流动性管理思路见闪电网络的流动性管理是什么?通道为什么“发不出也收不到”。
- 理解“谁广播谁垫付”:强制关闭由一方先付链上费,再在结算时按约定分摊或向对方收取,这是钱包与通道服务商的规则问题,不是协议强制。
小结
Anchor Outputs 把“链上关闭的手续费何时定、谁来救”两个老大难问题,变成了双方都能实时抬价的普通 CPFP 场景。对普通用户而言,它意味着闪电关闭费用更可预期;对节点运营者而言,它意味着开通道时就要确认这个协商项。
边界与常见误区
- 锚定输出金额极小(约 330聪量级),它的作用不是“买区块空间”,而是提供一个任何一方都能独立花掉、又不影响通道结算结果的输入——CPFP 的杠杆落在交易结构上,而不是输出金额上。
- 抬价仍受内存池规则约束:子交易费率要足够有吸引力,父交易与子交易还要满足包(package)相关策略,不是“通道带了锚定就永远畅通”。
- 强制关闭自带时间维度:一方广播旧状态后,另一方有一段观察窗口,可以用惩罚机制取回被侵占的资金;链上费率高低影响的是这笔救急交易进块快慢,不改变惩罚规则本身。
- 最大的误区是把“闪电转账即时到账”推广成“闪电通道处处即时”:开通道与关通道都是普通主网交易,同样要等确认,主网费率高峰期的体验与主网完全同频。把开、用、关三个阶段的成本分开看待,才是对闪电手续费的完整理解。
本文解释协议机制,不构成投资建议,也不构成对具体闪电钱包或节点的推荐。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。