Skip to content

Mark channel cooperative close requests as non-final sequence #6014

Open
@alexbosworth

Description

@alexbosworth

When closing cooperatively a cooperative close transaction is created (CreateCooperativeCloseTx
https://github.com/lightningnetwork/lnd/blob/master/lnwallet/channel.go#L6989)

The funding outpoint is added as an input to the transaction, using the final sequence number. Instead this should signal that the cooperative close is non-final to avoid a scenario where the cooperative close transaction is stuck in the mempool indefinitely

As a workaround, CPFP is usually an option available to either side to increase the fee rate of a stuck channel close. However since cooperative close output scripts may be arbitrary programs, a CSV locking condition may exist on the output to prevent CPFP from being an option.

In any case, it would allow for more flexibility and potential chain-savings to allow for easier RBF and since RBF is a simple policy rule and not a consensus rule, and any replacement transaction would require the cooperative signing of both sides, changing the sequence value would not change any security assumptions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions