The Mycelium Wallet has created a Bitcoin wallet for me, then I've written down a 12-word passphrase for the wallet backup. However it looks like a set of words (in the Mycelium) to generate these phrases is limited - at least I've got a passphrase with one word repeated two times.

How can I make sure this passphrase is unique in our world where more than 7 billion people live?

up vote 5 down vote accepted

The chances of someone "brute-forcing" or guessing your seed is extremely slim. There are more than 5 duodecillion possible combinations of twelve-word seeds. Just so you get an idea of how big that number is, it's more than 1 thousand million million million million million million possibilities.

  • 1
    I don't worry about hacking or guessing - I worry that my automatically generated passphrase will be also a somebody else passphrase by accident. It means that in theory I'll have access to somebody else wallet, and he/she will have access to my wallet, right? – HEKTO Dec 11 '17 at 3:49
  • That's correct, however, the chances are the same even for the seed generation. If I were to brute-force seeds, I would run the generation function continuously until I find your seed. – Monstrum Dec 11 '17 at 14:08
  • 1
    @HEKTO: Logically, if it's extremely difficult to make something happen on purpose, then the chances of having it happen by accident are even lower. – Nate Eldredge Dec 11 '17 at 15:59
  • @NateEldredge - yes, I understand. I just worry about the system scale... When I create my own ssh private key in Linux I don't worry about its passphrase, because the number of users, which can communicate with me, is not that large. However the Bitcoin is a global system with billions of potential users and yes, some of them are hackers. – HEKTO Dec 11 '17 at 16:23
  • 1
    Indeed. But the number of possible keys is overwhelmingly gigantic. This principle is at the root of pretty much everything in cryptography and you are going to have to come to terms with it in order to be comfortable with anything. It is a nice exercise to do some calculations: e.g. if every person in the world had a million computers, each of which could try a billion keys per second, how long would it take to guess yours? – Nate Eldredge Dec 11 '17 at 16:56

(Some wallets that generate word lists for recovery also allow a user-created passphrase, so I'm using "recovery seed" to denote the word list.)

I'm not familiar with Mycelium specifically, but many wallets use a standard known as BIP39 to generate recovery seeds. That technique draws the words randomly from a list of 2048 words, with duplicates allowed. The order (permutation) of the words is significant. So the number of possible recovery seeds is 2048^12 (^ indicates exponentiation). That is 5.44451787E+39, which is 5,444,517,870,735,015,415,413,993,718,908,291,383,296.

  • 1
    @NateEldredge Thanks! I've edited my answer to reflect allowing of repeated words. – brec Dec 11 '17 at 14:20

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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