术语表 /闪电网络与 Layer 2
强制关闭
- 强制关闭是什么?
- 强制关闭是指在没有对手方配合的情况下结束闪电网络通道:您需广播最新的承诺交易,支付链上手续费,并等待一段延迟期后,自己的余额才可花费。
每个闪电网络通道都备有一条已签名的退出路径,强制关闭就是启用这条路径。它需要一笔真实的链上交易,每笔仍在传输中的支付还需另外一笔交易;锚点通道会在双方各留一个330聪的输出,其唯一用途是事后提高手续费。预计约一天后才能取回资金,而不是一秒。
运作方式
退出闪电网络通道有两种方式,成本较高的是无需合作的强制关闭。
合作关闭是一次协商:双方就最终分配达成一致,签署一笔交易,该交易确认后,所有人的资金即成为普通的可花费输出。强制关闭则跳过协商。您发布自己持有的最新承诺交易,由比特币的共识规则而不是对等节点来裁决。这种不对称是有意设计的,并且对按下按钮的一方不利:对手方的余额可立即花费,而您的余额则被锁定在 OP_CHECKSEQUENCEVERIFY 延迟之后,延迟为 to_self_delay 个区块,在通道开启时约定。
这段延迟就是惩罚窗口。它的作用在于:如果您广播的是一笔旧交易,显示的是您已经花掉的余额,对方就有时间发布惩罚交易并取走全部资金。BOLT 2将 to_self_delay 存储为16位数字,因此其值最大可达65,535个区块,并要求对等节点拒绝其认为过大而不合理的值。延迟越长,欺骗您就越困难,而您自己的退出也越慢。
传输中的支付使计算更加复杂。每笔支付都需要各自的后续交易,在锚点通道中,视其通过超时还是通过揭示秘密值来结算,重量为666或706权重单位,且在条件满足后分别广播。330聪的锚点输出按 P2WSH 输出的粉尘限额设定,目的是让任何一方都能附加一笔子交易,为在内存池费用较低时签署的承诺交易提高手续费。
在哪里会遇到它
强制关闭很常见,而且大多数并非有人作弊。
常见的触发原因是:对等节点长时间无法连接,而某笔支付的截止时间临近,于是您的节点选择关闭通道,以免损失该金额。服务提供商会清理长期闲置的通道。钱包在更新后无法连接对方时会自动关闭通道。无论哪种情况,您都是因为一部分余额突然显示为待处理,且内存池中有一笔陌生人的交易包含您的资金,才得知此事的。
能帮人省钱的规则是:切勿仅凭助记词恢复闪电网络钱包后就继续使用。助记词可以恢复链上资金,但通道的当前状态不在其中,广播过期的承诺交易会招致惩罚。您保留的是通道备份文件,它能让您请求对等节点关闭通道,但节奏由对方决定,手续费也不在您的掌控之中。这正是闪电网络适合用于花费、链上自托管适合用于储蓄的实际原因。
手续费环境决定损失的大小。内存池清闲时的强制关闭需要几千聪。同样的关闭若遇上手续费飙升,成本可能超过一个小通道所持有的金额,余额低于清扫成本的通道会被直接放弃。