13

Anyone can generate unlimited bitcoin addresses.

Presumably, there's a limited number of these (even if it's a very very large number).

What's stopping someone from taking over all the bitcoin addresses? (If the answer is current computer speeds, is it something that's possible in a future 'quantum computer' type era?)

  • 1
    related: Is Each Bitcoin Address Unique? – Murch Apr 26 '17 at 13:47
  • there's a program called VanityGen that will generate a bitcoin address and private key. You can see the hashing time required grow exponentially with each additional character. – Sun Nov 15 '17 at 5:13
14

Presumably, there's a limited number of these (even if it's a very very large number).

Yes, this is true.

What's stopping someone from taking over all the bitcoin addresses?

Nothing. You can even guess someones private key and steal all their savings.

What you underestimate is how big a number can be. Every digit you add to your number multiplies number of tries you have to perform by 10. Computers might seem fast but they live in same realm, same rules apply to them. Very quickly you run into such big numbers that even biggest computing efforts on this planet can't keep up. Then you go further and when you have number you feel secure with, you stop.

This might seem stupid, because someone might get lucky and gain access to your "number". Yet we don't think twice about very simple passwords we use every day, for all our savings. Even if you have VERY complex password, it is likely nowhere near how big that number is. So we should perhaps start from improving our password practices a bit...

Simply put, this number is so unlikely to be guessed that it's too small for us to understand, much like understanding how many transistors processors have.

is it something that's possible in a future 'quantum computer' type era?

Quantum computer isn't actually faster than normal computer. It's just that it can solve some problems faster. And when we get quantum computers, bitcoin will be broken because it doesn't use cryptography that can stand quantum computing. Those numbers (or rather structure they compose) will be easily reversible from publicly known information. So quantum computer will break bitcoin, but we don't even know if true quantum computer is possible (and no, we don't have quantum computer, it's just a easily-catched topic by media when somebody says so).

  • Comments are not for extended discussion; this conversation has been moved to chat. – e-sushi Apr 26 '17 at 0:29
6

There are about 2^256 private keys, 2^256 public keys, and 2^160 (simple) addresses. There are other addresses (multisig) that have more than one corresponding public key and thus more than one corresponding private key.

2^160 is 1,461,501,637,330,902,918,203,684,832,716,283,019,655,932,542,976.

Just to put that in perspective:

Number of stars in the observable Universe: 2^70
Number of atoms in the Earth: 2^166
Number of atoms in the Milky Way: 2^256
Number of atoms in the known Universe: 2^266

2

Based on Andrey's 2^160 addresses, I did a thought experiment.

Let's say Dr. Evil wants to occupy all the bitcoin addresses, because of something Satoshi once said about his ears.

He thinks of using 1,000 evil computers for the task, but he's in a hurry and he's quite wealthy, so he buys 1 million evil computers instead.

He sets each of those computers to generate not 1 address per second, but 10,000 addresses per second.

Dr. Evil sets his evil botnet running and sits back in his chair laughing evilly. But the last laugh is on him.

totalAddresses = 2 ** 160

secondsInOneYear = 60 * 60 * 24 * 365.25

addressesPerSecond = 1000000 * 10000

yearsTaken = totalAddresses / addressesPerSecond / secondsInOneYear

It will take 4.6 x 10^30 years for his bots to occupy all the addresses.

(That is assuming his computers always generate unique addresses.)

If, instead of one Dr. Evil trying to carry out this nefarious plan, one million Dr. Evils coordinate their efforts to reach the same goal, the exponent will fall from 30 to 24.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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