If you already used ELECTRUM (or many mobile wallets like coinomi or trust), you used a bip39 mnemonic, but we doesn't know how it runs, and how it's made.
So if you want to understand this very interesting technology, let's go !
Benefits
An easy-to-remember format
Try remembering a bitcoin private key (like this : L1XD2ujzkywu3i1R5wSJrqh6ZQCQZBfFmn45kJC6iSuPkCguTsCN). You can't ? It's normal. Then, try remembering the mnemonic I used for derivating this key smooth wear card update situate canoe submit cloud awesome art shove rail).
Isn't the second thing easier to remember ??? It allowed to backup wallets on paper, or in our head.
We can store more than one private key
With the same mnemonic as above (smooth wear card update situate canoe submit cloud awesome art shove rail), I can derivate so many priv. keys, so multiple accounts, and these accounts can use different cryptocurrencies (for example, a bitcoin account and a dogecoin account).
It also allows multicurrency wallets.
But, how does it run ?
Because of nothing is magic, I will try explaining the mechanisms under that.
A tree
On bip39, we use the mnemonic for determinating a master seed, and this seed for determinating private keys (following a path). So if I can get different keys from the same mnemonic, it's because of I don't use the same path.
Bip38 ?
Bip38 allows adding a password to the bip39. So we will need for the mnemonic AND the password.
It's because of we will add the password to the tree, and derivate different addresses depending on the password (it's added to the input data).
Problems
Each technology has its problems (so researchers still have a job).
It increases the risk if attacked
This part is rebounding with the part where I said that it was able to contain more than 1 account. It isn't only a time save, but is also a problem.
For making it sample, imagine using the same key for the home, the car and the vault. If someone steals it, it is not at all a good thing.
Easier to bruteforce
Only using human-readable bindings resuces the total possible keys number, so it increases the bruteforce risk.
That's all
That's all I wanted to say in this article, and I hope that you learned useful things in.
If you did, please give a tip and a like
And if you see smth to improve, feel free of saying it within the comments