Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add peer storage backup #721

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

Add peer storage backup #721

wants to merge 1 commit into from

Conversation

thomash-acinq
Copy link
Member

We use peer storage (lightning/bolts#1110) for channel backups.
We also keep the legacy channel data backup for some transition period.
Requires ACINQ/eclair#2888 on eclair's side.

We also keep the legacy channel data backup for some transition period.
@t-bast
Copy link
Member

t-bast commented Oct 23, 2024

A note regarding backwards-compatibility: I think we don't need any kind of backwards-compat in lightning-kmp, we can do everything on the eclair side (where we need backwards-compat anyway because we need to keep working with wallets that haven't updated.

The way I think it should work is:

  • in lightning-kmp, you can completely remove the old channelData TLV and only use the new backup messages
  • on the eclair side, we can simply:
    • always store backup data, regardless of where it comes from (the channelData TLV or the new backup messages)
    • whenever we connect to a mobile wallet:
      • if they have the feature bit for the new backup protocol, we send them their backup using the new messages
      • otherwise, we include it in the channelData field of our channel_reestablish

Does that make sense? It seems like it should be quite simple to provide a smooth transition that way (and eventually phase out the channelData TLV field on the eclair side after 6 months or 1 year).

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