Skip to content

Apply RBF limits to remote closing transactions - #3331

Merged
t-bast merged 4 commits into
masterfrom
rate-limit-closing-sig
Jul 28, 2026
Merged

Apply RBF limits to remote closing transactions#3331
t-bast merged 4 commits into
masterfrom
rate-limit-closing-sig

Conversation

@t-bast

@t-bast t-bast commented Jul 24, 2026

Copy link
Copy Markdown
Member

When using option_simple_close, we didn't apply explicit rate-limits to remote closing transactions, apart from the fact that the feerate must be higher for each attempt.

There is no good reason to make a large number of RBF attempts when closing a channel cooperatively, so we apply the same rate-limits we use for funding.

t-bast added 3 commits July 24, 2026 11:40
When using `option_simple_close`, we didn't apply explicit rate-limits
to remote closing transactions, apart from the fact that the feerate
must be higher for each attempt.

There is no good reason to make a large number of RBF attempts when
closing a channel cooperatively, so we apply the same rate-limits we
use for funding.
We apply the BOLTs recommendation for the maximum number of closing
transactions we create when using the legacy closing protocol (not
`option_simple_close`). We previously restricted remote closing
transactions, but we now also apply it to our local transactions.
We previously only applied the rate-limit (X attempts every Y blocks)
but we didn't apply the maximum attempts limit. The risk is that we may
end up with a splice that is stuck unconfirmed, but will eventually
confirm, unless the peer is malicious and the feerate was very badly
estimated (in which case they would have found a way to prevent the
splice from confirming anyway).
@t-bast
t-bast requested review from pm47 and sstone July 24, 2026 09:42
@t-bast
t-bast merged commit 687485f into master Jul 28, 2026
1 check passed
@t-bast
t-bast deleted the rate-limit-closing-sig branch July 28, 2026 12:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants