mirror of
https://github.com/openoms/bitcoin-tutorials.git
synced 2025-12-19 21:04:20 +01:00
48 lines
1.9 KiB
Markdown
48 lines
1.9 KiB
Markdown
# LND single seed multi-location backup scheme for the onchain funds only
|
|
|
|
The aim is to create a redundant backup where the secret can be restored from any two locations.
|
|
If someone in charge bootstrapping an LND node can use this method to share the parts with 3 other people who will not be able to restore the wallet alone.
|
|
|
|
The 24 words seed should not be split in more than 2 parts as 8 words are close to be brute-forceable.
|
|
|
|
For the Cypher Phrase a good option is to use 12 words from the standard wordlist to ease the offline backup and keep the security of parts roughly the same.
|
|
An example to generate 12 words separated by spaces using a [diceware](https://github.com/ulif/diceware#diceware) sourcing the entropy from `/dev/urandom` :
|
|
```
|
|
$ sudo apt install diceware
|
|
$ diceware -n 12 -d' ' --no-caps
|
|
```
|
|
Note that the password asked first when generating the wallet is only used to encrypt the file and not relevant to the secret itself.
|
|
|
|
More on LND wallet recovery: <https://github.com/lightningnetwork/lnd/blob/master/docs/recovery.md>
|
|
LND seed format (different from Bip39 or Electrum): <https://github.com/lightningnetwork/lnd/tree/master/aezeed>
|
|
Test at https://guggero.github.io/cryptography-toolkit/#!/aezeed
|
|
|
|
Include the Node ID on all backup locations. It is derived from the bip32 root key (encoded by the Seed + Cypher Phrase) so can be used to identify the backup and test the successful recovery.
|
|
Obtain the Node ID with
|
|
```
|
|
$ lncli getinfo | grep identity_pubkey
|
|
```
|
|
|
|
---
|
|
## Full backup required to restore
|
|
* Seed (24 words - split in two)
|
|
* Seed words #1 - #12
|
|
* Seed words #13 - #24
|
|
* Cypher Phrase (aka passphrase)
|
|
* Node ID (for verification)
|
|
---
|
|
## Packages for a 2-of-3 setup
|
|
### Location 1
|
|
* Node ID
|
|
* Seed words #1 - #12
|
|
* Cypher Phrase
|
|
|
|
### Location 2
|
|
* Node ID
|
|
* Seed words #13 - #24
|
|
* Cypher Phrase
|
|
|
|
### Location 3
|
|
* Node ID
|
|
* Seed words #1 - #12
|
|
* Seed words #13 - #24 |