Anchor outputs

1. 引言

Anchor outputs为闪电昂罗commitment transactions中的特殊outputs,其设计为支持该交易做fee bump。Anchor outputs的早期名为simplified commitments。

每次某闪电网络通道内的balance发生变化,会创建一笔commitment transaction,并由参与方签名。仅当一方决定单方关闭该通道时(如因为另一方不响应),才广播该commitment transaction。由于所广播的commitment transaction创建自很久以前,该commitment transaction内的交易手续费可能太高或太低。支付太低feerate,可能会再起timelock过期之前,该commitment transaction都未被确认,从而导致资金被盗。

对此的解决方案为:

  • commitment transaction支付最小量的手续费
  • 然后允许通道的任一参与方对该交易做fee bump

早期的解决方案Replace-by-fee (RBF),会存在transaction pinning交易固定的问题。

后期设计为使用Child pays for parent (CPFP),但需依赖CPFP carve out来规避交易固定的问题。

最新的设计版本中,会向commitment transaction中增加2个outputs:

  • 闪电网络通道双方一人一个
  • 需要该commitment transaction内的所有其它outputs的脚本受1 OP_CHECKSEQUENCEVERIFY (CSV) 条件阻碍,该条件可防止它们被花费至少一个区块。

为完全有效,该协议还依赖于比特币全节点实现package relay,因此即使其费率低于节点的最低中继费,也有办法让CPFP对commitment transaction进行fee bump。但在package relay可用之前,LN节点可能只需为其commitment transaction支付略高的费用,以确保它们被节点接受。

参考资料

[1] Anchor outputs: Also covering Simplified commitments
[2] 2020年8月对闪电网络BOLT: Basis of Lightning Technology (Lightning Network Specifications) 的PRfeature: define option_zero_htlc_tx_fee (feature 22/23) #824
[3] 2020年8月对闪电网络BOLT: Basis of Lightning Technology (Lightning Network Specifications) 的PRAnchor outputs #688
[4] 2020年9月 [Lightning-dev] SIGHASH_SINGLE + update_fee Considered Harmful

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值