In this down the rabbit hole, I’m going to answer a question you asked as a follow-up to a previous rabbit hole where we talked about why it impossible for someone to guess your private key by relating it to very large numbers of the cosmological scale.
And now the follow-up question we got was, “okay, so if a bitcoin private key is such a big number that every atom in the observable universe could have its own bitcoin private key, and you could never guess it because that’s the same as guessing which atom in the entire observable universe is my atom out of all of those out there, how does this relate to mnemonic phrases? Is it more or less difficult to guess a mnemonic phrase? What is the scale of a mnemonic phrase? Is a mnemonic phrase is just as difficult to guess?” A lot of people have a lot of confusion when it comes to mnemonic phrases or seed phrases.
What is a mnemonic phrase? What’s up with that? All right let’s explain what a mnemonic phrase is. You’ve probably heard me say that a private key in bitcoin just like a bitcoin address, or a bitcoin signature is just a number.
Everything we’re talking about here is just numbers. There’s nothing magical. So a bitcoin private key is just a number, a bitcoin address is just a number. We write them in different ways and you may have heard of this concept of a mnemonic phrase you’ve probably used it if you have your own self-custody or non-custodial wallet.
A mnemonic phrase is a collection of between 12 and 24 English words that is used to back up your own wallet. When you first run a wallet, maybe a mobile wallet on your mobile device, that is non-custodial or hardware wallet that generates keys for you — the first thing it’s going to ask you to do is back up this phrase.
And it’s going to show you 24 let say 24 English words. This is based on a standard called BIP39, the bitcoin improvement proposal 39, which sets the standard for mnemonic phrases as they are known. A lot of people call them a “seed phrase” or simply “seed,” not exactly correct terminology but we’ll run with it.
So the seed phrase is called the seed phrase because if you have those 24 words you can recover your wallet: all of its transactions, all of its keys, across multiple cryptocurrencies even if you’ve been using that wallet for years and you’ve done thousands of transactions, generated thousands of addresses, across hundreds or even thousands of different cryptocurrencies.
All of that can be recovered from these 24 words. How is that possible? And how is it different from a private key? And how difficult is it to guess those24 words? So, that mnemonic phrase, those 24 words that can be expressed in a variety of languages but let’s stick to English for now, come from a dictionary.
And this dictionary has 2048 words in it. It’s a fairly small dictionary. It was designed by Satoshi Labs, the company that first proposed this standard, and it was a development of an idea previously created by the authors of the Electrum wallet.
But here the really key idea that you have to understand. A mnemonic phrase made of 24 English words is a number. It’s just a number, it’s a number that’s written in English words, but it’s still just a number. So, how do you make a number out of words? Well, I mentioned that this dictionary has 2048words.
The first word, if I remember correctly, is about. The last word is the zebra. And in between there are 2046 other words alphabetically: about, above, aardvark, etc all the way down to zebra. Now if you think of this dictionary, you could line up all of the words from “about “through “zebra” and then put a number next to them.
And if you put a number next to them, about would be one, above would be two, etc, all the way down and 2048 would be zebra would be 2048. So you can see how if you have a dictionary with 2048 words in it, then you could basically assign a number between 1 and 2048 indexes these words.
And therefore you can see how each one of these words can be a number. Now think of the 24 words in a row as a series of 24 numbers between 1 and 2048 and you begin to see how this is simply a numeric encoding system. So when you write out a number in decimal, you use digits 0 through 9, and the position of the digit is important.
And if you put lots of these digits together you come up with some pretty big numbers. A bitcoin private key, for example, is a 77 digit long decimal number. And that can be encoded as 10to the 77.
It corresponds to the number 10 to the power of 77 because it’s a combination of through 9 repeated 77 times. So you can choose the first digit, 0 through 9, that gives you 10possible combinations.
Then the second digit will be 10 more possible combinations, so 10, times 10, times 10, times 10, times 10, times 10, and for77 digits you multiply 10 with itself 77 times and you end up with 10 to the power of 77.
Now let’s do that with the words of a mnemonic phrase! The first word which is between [the words] about and zebra, is a number between 1 and 2048so you can choose 2048 possible options for the first word in your 24-word sequence.
The second word also gives you another 2048choices to pick from again: about through zebra. And so if you took a two-word mnemonic phrase, how many combinations does that have? Well, it has 2048 combinations for the first word, times2048 possible combinations for the second word. So 2048 times 2048 or 2048 squared.
If you had a three-word mnemonic phrase, then it would be2048 times 2048 times 2048. You’re beginning to see a pattern here. So a 24-word mnemonic phrase is effectively 2048 to the power of 24. That’s many possible arrangements of a 24-word phrase exist.
2048 choices for word one, 2048choices for words two, 2048 choices for word three, times times times times 24 times for 24 words: 2048 to the power of 24. 2048 to the power of 24which is your mnemonic phrase, is the same number as 2 to the power of 264 which is slightly bigger than the 256-bit key and the reason for that is because the mnemonic phrase has a checksum in it to make sure that we don’t mess it up when we transcribing it.
So effectively, the 24-word mnemonic phrase is the same size as a private key. And if you take that as your starting position, with a special function, a derivation function, you can actually generate a sequence of keys from that first one in such a way that it always generates the same sequence of keys; which allows you to restore an entire wallet with multiple cryptocurrencies and perhaps thousands to tens of thousands of transactions from that single number.
A mnemonic phrase is a number. And it’s a number as big as a bitcoin private key, slightly bigger because it has a checksum. And therefore, picking or guessing your 24 words English mnemonic phrases is equivalent to guessing a bitcoin private key, is equivalent to picking one atom out of the observable universe.
And that’s why mnemonic phrases are not only a secure mechanism and cannot be guessed but also a convenient mechanism because it’s a lot easier to read write down and read again 24 English words than it is to try to back up a 77-digit decimal number, or 256-bit digit binary number onto a piece of paper.
And that was our rabbit hole for today. Hi! Thanks for watching the video’s Andreas M. Antonopoulos, I’m the author of mastering Bitcoin, Mastering Ethereum, and TheInternet of Money Series.
Read More: Bitpanda Review in 2 Minutes