Bitcoin Q&A: How do mnemonic seeds work?

Fabiano asks: "How do seed strings work? For me, it looks like magic " It's like Arthur C

Clarke he said: "Any sufficiently advanced technology is indistinguishable from magic for civilization, which is not the same advanced "And I think it's one of fun things about cryptography A lot of mathematics that is in cryptography, it seems magic, and it takes some time to assimilate it to understand how it works So first of all this, let us describe what they are sequences of seed words These words code a specific amount randomness is basically a number and this number is represented by words, and these words are just coding this number, almost like looking for a legend

What does this mean exactly? If you use the standard seed that is in the BIP39 standard, this is a dictionary 2048 words And this dictionary 2048 words have been carefully chosen so that these words do not look similar, and you can always find out exactly which word to use you are looking from the first one to the fourth letter of the word So four the letters give a unique word dictionary, but letters do not matter What counts is that you have 2048 words Think of each one as a symbol

AND if you have 12 words for example in seed it's a string of these twelve words encodes 2048 ^ 12 possible numbers Basically, each word represents about eleven bits of information in the binary code and these eleven bits can be used to build key on the seed principle Seed is 128 bits if you have 12 words or 256 bits, if you're 24 And that's it 128-bit or 256-bit number, your wallet then generates the private key through the stretching process Stretching is basically a hashish application algorithm again and again and again and again

in the case of the BIP 39 standard The hashing algorithm is used 2000 times Along with a password that is optional to create the main public key and this main public key is then used again with a hash function to create a private key and this private key can be used to complete the transaction So you start from number created from 128 bits, this number is expressed as 12 English words coming from the 2048 word dictionary, these words they are then stretched through a hash algorithm to get even longer the number that is used as yours private key, it is usually 512 bit number and this 512-bit number used again with repeated hashing to create a private key sequence

In fact, a tree private keys that is hierarchical deterministic or portfolio HD wallet Each of these private keys can then generate a public key and address and you can do transactions If you take seed and enter it to a new portfolio, this new wallet can in principle, reproduce the entire previous process and recreate the private key There are an infinite number of private ones keys that can be produced from the seed in a specific sequence, so what will do yours wallet, it starts with start and look at blockchain to check these keys were previously used, looking at addresses and have they ever been assigned a balance or if any transaction with them is bound and ceases look for it when it turns out that it is empty addresses, assuming that never you did not use any of them and you did not get them never before And so seed words are imported

All that, is part of two standards: bip 39 for seed words and bip 32 for hierarchical deterministic portfolios Alright, a quick question from Barnaby, which is the consequence of the words themselves they are not chosen by you, words within the seed they are selected from a random 128-bit number or 256-bit random number And when we say that she is "random" what does it mean? This means "real randomness", that is to say "cryptographically protected generator pseudo-random numbers ", which really means "pseudorandom number generator"? It really is depends, you can generate a random seed (seed) in any way, you can also do it use some process that he uses quantum fluctuations to produce a truly random number, but for most of the goals are cryptographically secure there is a pseudo-random number generator, such as the one provided by your computer and with sufficient "sowing" which means turning the mouse or typing etc you will create enough entropy, sufficient randomness to produce seedu Theoretically, at least if you you wanted, you can take a few dice him game, which are properly balanced, good designed and are accurately controlled bones, you can put them in a shoe box shake them together and quit them to produce 128-bit Random numbers And then encode it the words of the seed from 12 English words There is no requirement in specifications "how you should produce randomness

"Susana finally asks:" Can you express the words of the seeds to others portfolios? "Yes, one of the most important features seed words, if they are based well-supported standards, such as bip 39, is that you can transfer them from any portfolio compatible with your bip39 to any other compatible portfolio with bip 39 You can import the seed and the wallet should be able to find all your transactions addresses and keys Now you can also fire the same seed on many wallets at the same time, and that means you can use them all at once But of course, remember that owning seeds means having your funds, so be very careful when managing them In more places you save them, and in more places you put them, with more places you can restore them but the more likely it is that you will expose yourself on their stolen and loss of funds



Cryptocurrency Investing


Virtual Currency News

Different Coins