4

I recently started a wallet with Coinbase Wallet, and I was asked to backup a 12 word "recovery phrase" that is supposed to be able to recover my wallet in the event that I delete the app from my phone. I have previously used other wallet apps, which often give "recovery phrases" of varying word count. I read online that the phrase is passed through an algorithm and used to recover a key or a group of keys.

I am now curious if these recovery phrases are platform independent (meaning you can recover your keys just by way of knowing the phrase), or if the app must exist with a specific algorithm in order to recover keys (your keys are lost if the recovery implementation is destroyed, e.g. Coinbase shuts down operation and removes their app).

1 Answer 1

1

The mnemonic words that is given to you by the wallets is a representation of entropy. This entropy is then passed through PBKDF2 hashing function to generate seed. The industry standard for this conversion of mnemonic to seed is documented in BIP 39 and most wallets follow that method. The seed is then passed to HMAC-SHA512 to get a master extended private key.

Until this point the implementations are standard and you are unlikely to face any issue with different wallet implementations. But after this step, the derivation gets a bit trickier. There are a number of methods to go from here. You could use BIP 32, BIP 44, BIP 49 or the BIP 84 derivation methods to generate individual private keys from the master private key. Then there will be distinction between hardened and non-hardened derivation between different wallets. Each derivation path will give you a completely different set of keys as compared to other paths.

There is a spreadsheet tracking these derivation paths of numerous wallets here (please verify the data yourself as it may be dated or incorrect). I have pasted the derivation paths of different wallets below from the linked spreadsheet.

image

So, when using a wallet you should note the derivation path the wallet followed in order to recover it later. Also note that use of a passphrase along with the mnemonic words will generate a completely different set of keys as compared to only using the mnemonic words.

Not the answer you're looking for? Browse other questions tagged or ask your own question.