Hello friends,
I have the following question:
What is the relation between the seed words and the private key and how can one convert the seed into a private key?
Taking BIP39 as an example.
I read the following:
A simplified explanation of how seed phrases work is that the wallet software has a list of words taken from a dictionary, with each word assigned to a number. The seed phrase can be converted to a number which is used as the seed integer to a deterministic wallet that generates all the key pairs used in the wallet.
This compares well with writing down a raw private key where a single letter being unreadable or incorrect can make the private key useless (depending on the serialization format).
Quote from:
https://en.bitcoin.it/wiki/Seed_phraseA deterministic wallet is a system of deriving keys from a single starting point known as a seed. The seed allows a user to easily back up and restore a wallet without needing any other information and can in some cases allow the creation of public addresses without the knowledge of the private key. Seeds are typically serialized into human-readable words in a seed phrase. The BIP 0032 standard for hierarchical deterministic wallets is used by all good wallets as of 2019.
Quote from:
https://en.bitcoin.it/wiki/Deterministic_walletI posted this some time ago, and it explains the relationship between seeds and private keys, i.e., a deterministic wallet.
A seed is basically a master key, which will derive all other private keys of that wallet. All those private keys are mathematical related to the seed. From the seed, you can derive all private keys. This is why you just need to save and back up the seed, not each private key individually.
At first I thought the conversion of the seed into a numeric value will result into a private key, but I seem to be mistaken.
What are the steps to convert a seed to a private key?
mnemonic seed > binary seed > deterministic wallet > deterministic address > private key ?
This is what a seed is. Each word is a number:
1 abandon
2 ability
3 able
4 about
...
2045 zebra
2046 zero
2047 zone
2048 zoo
https://github.com/bitcoin/bips/blob/master/bip-0039/english.txtI don't know exactly how that process work, but this is the main schema for generating private keys from a seed:
HD wallet creation from a seed
HD wallets are created from a single root seed, which is a 128-, 256-, or 512-bit random number. Everything else in the HD wallet is deterministically derived from this root seed, which makes it possible to re-create the entire HD wallet from that seed in any compatible HD wallet. This makes it easy to back up, restore, export, and import HD wallets containing thousands or even millions of keys by simply transferring only the root seed.
Figure 4-10. Creating master keys and chain code from a root seed
source:
https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch04.html#hd_wallets