Notes on wallet restoration

Loose plans

Our plans for ElectrumSV include making your wallet a private collection of all your information. This means that it will evolve towards an account-based model where you can group both data and coins in a hierarchical manner, and this includes coins and keys that are not derived from your wallet’s master private key.

The Paymail milestone

In my notes on further wallet refactoring, I alluded to a longer term plan of restoration being linked to on-chain metadata. But for Paymail, we need to limit the scope of the work, in order to ensure that we can get it out in the short term.

Beyond the Paymail milestone

On-chain wallet restoration metadata is our future. Once we get that implemented the future is bright.

Cross-wallet compatibility

ElectrumSV uses it’s own approach, it doesn’t use BIP39, it doesn’t use BIP44, or even the arbitrary BIP32 paths other non-BIP44 wallets use. Other wallets do not need to support us, but what we need to do is support them.

Wallet restoration metadata

ElectrumSV doesn’t need to settle on how we do our on-chain wallet restoration metadata at this time. This is just going to be a list of concepts, but I’ll try and extrapolate each so that you can see some of the thoughts behind them.

Restoration and procedural grafting onto BIP32

All current wallet restoration is naive exploration of receiving and change addresses under the BIP32 key-space defined by the extended key that your wallet is based on. You start with a mnemonic, and maybe enter a derivation path, if you can search the web and try out a few ambiguous guesses some internet randoms have made. But beyond that the wallet just explores the address space, and hopes the original wallet didn’t do it badly.

Summing up

At this point I feel fairly confident about where we are heading both in the short term and long term. The path forward is both clean and flexible. We have a solid short term goal which transitions cleanly into the longer term goal when we add the on-chain data.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store