AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Low 25 Bitcoin

Split commit nonces from funding nonce in `tx_complete` (#3145)

Public commit record

What the developer wrote

Authored by Bastien Teinturier

81/100 · Strong
Split commit nonces from funding nonce in `tx_complete` (#3145)

The commit nonces and funding nonce provided in `tx_complete` are
actually completely orthogonal:

- the commit nonces must be provided whenever the *next* commitment
format is using taproot
- the funding nonce must be provided whenever the *previous* commitment
format is using taproot

It thus makes more sense to split them into separate TLVs.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
The short version

What changed, and why it matters

This commit refactors how cryptographic nonces are packaged inside a Lightning protocol message called tx_complete. Previously, two unrelated nonce types were bundled together; now they are split into separate optional data fields. The change is a protocol cleanup and does not by itself fix a known exploit, but it removes a design ambiguity that could lead to incorrect nonce handling during taproot channel funding or splicing.

Recommended action

Treat as a protocol-correctness change rather than an urgent security patch. Reviewers should verify that backward compatibility with peers sending the old combined TLV is handled (or intentionally not supported), and that the new TLV type numbers do not collide with any in-flight protocol specification. If this change is part of an unmerged BOLT update, ensure both implementations agree on TLV type 6.

Security signals we found

01

Refactor of cryptographic nonce wire encoding

02

Separation of commitment nonces from funding input nonce

03

No new input validation or bounds checks added

04

Existing MissingFundingNonce/MissingCommitNonce checks retained

05

Protocol-level change in TLV type assignment (new type 6)

Risk score

Why this scored 25/100

Our methodology →
Potential impact 5/30
Exploitability 3/25
Stealth signal 3/15
Affected reach 5/15
Confidence 6/10
Evidence quality 3/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.