Skip to content

Add backwards-compatible parts of the official splicing protocol#3261

Draft
t-bast wants to merge 2 commits intomasterfrom
add-safe-splicing-fields
Draft

Add backwards-compatible parts of the official splicing protocol#3261
t-bast wants to merge 2 commits intomasterfrom
add-safe-splicing-fields

Conversation

@t-bast
Copy link
Member

@t-bast t-bast commented Mar 2, 2026

We extract from #2887 the parts that can be integrated and deployed immediately because they only use odd fields. This reduces the scope of #2887 which will be useful since guaranteeing backwards-compatibility with the experimental splicing protocol that Phoenix currently uses will not be trivial.

This PR contains two independent commits: please review them separately and read their commit message for more details about each addition.

t-bast added 2 commits March 3, 2026 11:33
In lightning/bolts#1160 we add a TLV field to
`commit_sig` messages to let the receiver know to which `funding_txid`
this signature applies. This is more resilient than relying on the
order of the `commit_sig` messages in the batch. This is an odd TLV,
so we can start writing it right now without creating compatibility
issues.

We also slightly refactor existing code to make it easier to introduce
a backwards-compat layer when migrating to the official splicing. We
also increase the default number of RBF attempts allowed.
In lightning/bolts#1160, we introduce a message
to let our peer know how many `commit_sig` messages they will receive
and treat them as a batch. This replaces our previous version that did
something similar, but by adding a batch TLV in every `commit_sig`
message we send.

We currently do both: we keep inserting the experimental batch TLV, and
we start by sending a `start_batch` message (with the same information).
Since it is an odd message (127), it should be safely ignored if our
peer doesn't understand it.
@t-bast t-bast force-pushed the add-safe-splicing-fields branch from 4a9271d to 0521dbb Compare March 3, 2026 10:33
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.

1 participant