Skip to content

Add TLVs required for splicing taproot channels#1324

Open
t-bast wants to merge 2 commits into
lightning:masterfrom
t-bast:taproot-splicing
Open

Add TLVs required for splicing taproot channels#1324
t-bast wants to merge 2 commits into
lightning:masterfrom
t-bast:taproot-splicing

Conversation

@t-bast
Copy link
Copy Markdown
Collaborator

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

We add support for splicing and dual-funding taproot channels. Each commit adds a specific feature that leverages taproot and splicing:

Copy link
Copy Markdown
Collaborator

@Roasbeef Roasbeef left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice to have this follow up!

Comment thread 02-peer-protocol.md
t-bast added 2 commits June 1, 2026 14:12
When sending `tx_add_input`, we previously required transmitting the
entire transaction being spent to prevent malleability issues where
attackers replace a `p2wpkh` input by a `p2pkh` input after signing.

When both participants of the interactive-tx protocol sign a taproot
input, this malleability issue disappears. We thus allow transmitting
only the utxo amount and script in that case. For simplicity, we only
allow this when splicing a taproot channels (where both participants
sign the previous funding output) or when *all* inputs are using
taproot (we could be less strict, but being too smart here may risk
losing funds, so we err on the cautious side).
We add musig2 nonce fields in various `interactive-tx` messages to allow
using taproot channels with dual funding and splicing.
@t-bast t-bast force-pushed the taproot-splicing branch from c577054 to d96fc95 Compare June 1, 2026 12:12
@t-bast t-bast marked this pull request as ready for review June 1, 2026 12:13
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