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

ln: remove incoming trampoline secret from HTLCSource

Public commit record

What the developer wrote

Authored by Carla Kirk-Cohen

85/100 · Strong
ln: remove incoming trampoline secret from HTLCSource

We don't need to track a single trampoline secret in our HTLCSource
because this is already tracked in each of our previous hops contained
in the source. This field was unnecessarily added under the belief that
each inner trampoline onion we receive for inbound MPP trampoline would
have the same session key.

It can be removed with breaking changes to persistence because we
currently refuse to decode trampoline forwards, and will not read
HTLCSource::Trampoline to prevent downgrades.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
The short version

What changed, and why it matters

This commit removes a redundant 32-byte shared secret field from an internal data structure used when forwarding trampoline payments in the Lightning Dev Kit. The developers realized the secret was already stored inside each previous hop's data, so keeping a single copy at the top level was unnecessary. The change also updates serialization so older saved state cannot be cleanly loaded, but the code currently refuses to decode trampoline forwards anyway, so that downgrade risk is intentional and noted.

Recommended action

Treat as a cleanup/refactoring commit with a noted but accepted persistence-compatibility break. Review that any future trampoline-forward enablement correctly handles the absence of the top-level secret and relies on per-hop data. No immediate security patch is required based on the diff alone.

Security signals we found

01

Removes redundant secret field from in-memory/persisted state

02

Changes TLV serialization layout for HTLCSource::TrampolineForward

03

Breaking persistence change acknowledged by commit author

04

Currently no trampoline forward decoding means persisted variant is effectively unreachable

05

No direct memory-safety, cryptographic, or authorization flaw visible in diff

Risk score

Why this scored 23/100

Our methodology →
Potential impact 5/30
Exploitability 2/25
Stealth signal 3/15
Affected reach 4/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.