Skip to content

Add anchor output to the commitment transaction #3587

@joostjager

Description

@joostjager

In the current commitment format, the miner fee is negotiated through the update_fee message. This creates several complications:

  • It is currently not possible to reject a fee rate. The only option at that point is to force close the channel. Nodes may have different sources for fee estimation and may unintentionally disagree about the fee to use.
  • Even if a satisfactory fee has been negotiated, it may turn out not to be enough to get it confirmed when one of the parties actually goes to chain. The party that publishes the commitment tx has its to_local output timelocked and can't use that to cpfp the transaction.

A possible solution (originally proposed by @halseth on the lightning-dev mailing list) is to add a so called anchor output to the commitment transaction. This is a non-timelocked output that can be used to cpfp the transaction in order to get it confirmed.

With the anchor output present, the fee on the commitment transaction itself can be minimal as both parties have the opportunity to attach additional fees.

Metadata

Metadata

Labels

advancedIssues suitable for very experienced developerschain handlingchannelscommitmentsCommitment transactions containing the state of the channelfeesRelated to the fees paid for transactions (both LN and funding/commitment transactions)

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions