lightningdevkit.org icon indicating copy to clipboard operation
lightningdevkit.org copied to clipboard

Improvements for Key Management Guide

Open ConorOkus opened this issue 4 years ago • 1 comments

  • Highlight the fact we expect users to implement their own KeysInterface but use InMemorySigner for channel-specific parts.
  • Some recommendations for transferring state to a separate node/wallet implementation given, spending logic requires a lot of custom logic
  • LDK will always require the user to provide the initial randomness from which things like this can be derived for the default KeysManager
  • What gets persisted so that channel keys can be recovered on restart?
  • What is needed to rederive keys
    • channel_keys_id for the Signer?
    • seed for KeysManager

ConorOkus avatar Dec 03 '21 22:12 ConorOkus

Update from Slack convo"

Jeff says: "That seed is used to create a master key, from which we derive other keys. Check out KeysManager::new to see how this is done. So if BDK already has an HD wallet with its own seed, you'd want to have a separate derivation path for LDK use (at least where Matt pointed out) rather than reusing the seed from BDK. But LDK uses the seed for other things, you'll notice."

ConorOkus avatar May 13 '22 15:05 ConorOkus