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

Merge pull request #10994 from spesmilo/ln_config_symmetry

Public commit record

What the developer wrote

Authored by ThomasV

58/100 · Thin
Merge pull request #10994 from spesmilo/ln_config_symmetry

Ln config symmetry
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
The short version

What changed, and why it matters

This is a large internal refactoring of how Electrum stores Lightning channel secrets. It removes private keys from the channel configuration objects saved in the wallet file, keeping only public data there, and puts the actual secrets (channel seed and multisig private key) directly in the channel storage. It also makes the local and remote channel configurations symmetric. The change includes a wallet database upgrade that converts old wallets to the new format and verifies that derived public keys match the stored ones. There is no direct evidence in the commit of an exploitable vulnerability; it looks like a hardening/cleanup change, but it touches sensitive key-handling code and the upgrade routine could in theory lock users out if key derivation does not match stored data.

Recommended action

Treat as a significant refactoring in security-critical code. Reviewers should verify that the wallet upgrade never rejects valid wallets, that ChannelKeys.check_against_config cannot fail for legitimate users, that the new storage layout does not accidentally serialize private keys into ChannelConfig, and that backup/restore and watchtower sweeping still work correctly after the config symmetry changes. No immediate user action is indicated by the commit itself.

Security signals we found

01

Refactoring of secret storage for Lightning channel keys

02

Wallet database upgrade that validates derived keys against stored keys

03

Removal of private keys from persisted ChannelConfig objects

04

Introduction of ChannelKeys rebuilt from seed and checked against config

05

Changes to backup handling for anchor channels (payment_basepoint privkey in backup)

06

Changes to force-close sweeping code paths (lnsweep.py)

Risk score

Why this scored 27/100

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