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

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

<p>Just to put that in perspective:</p>

<p>Number of stars in the observable Universe: <strong>2^70</strong><br/>
Number of atoms in the Earth: <strong>2^166</strong><br/>
Number of atoms in the Milky Way: <strong>2^256</strong><br/>
Number of atoms in the known Universe: <strong>2^266</strong><br/></p>

CC BY-SA 3.0
2017-05-01T02:47:50.017Z
I love this answer.
thanks_in_advance
CC BY-SA 4.0
2021-03-21T04:50:28.183Z
> Number of atoms in the Earth

This is incorrect, no? It's 2^50. https://www.wolframalpha.com/input/?i=difference+between+2%5E50+and+2%5E166
Daniel Fischer
CC BY-SA 3.0
2017-04-30T21:16:05.843Z
2017-04-30T21:16:05.843Z
Andrey Dzhukov
<p>Based on Andrey's <strong>2^160</strong> addresses, I did a thought experiment.</p>

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

<p>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.</p>

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

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

<pre><code>totalAddresses = 2 ** 160

secondsInOneYear = 60 * 60 * 24 * 365.25

addressesPerSecond = 1000000 * 10000

yearsTaken = totalAddresses / addressesPerSecond / secondsInOneYear
</code></pre>

<p>It will take <strong>4.6 x 10^30</strong> years for his bots to occupy all the addresses.</p>

<p>(That is assuming his computers always generate unique addresses.)</p>

<p>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 <strong>30</strong> to <strong>24</strong>.</p>

CC BY-SA 4.0
2018-04-19T08:30:20.553Z
2019-01-09T10:30:44.093Z
2019-01-09T10:30:44.093Z
joeytwiddle
<p>Anyone can generate unlimited bitcoin addresses.</p>

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

<p>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?)</p>

CC BY-SA 3.0
2017-04-26T13:47:06.280Z
related: [Is Each Bitcoin Address Unique?](https://bitcoin.stackexchange.com/q/8804/5406)
Murch
CC BY-SA 3.0
2017-11-15T05:13:02.620Z
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
<address><address-generation><hacking>
What's stopping someone from taking over all the bitcoin addresses?
thanks_in_advance
# What's stopping someone from taking over all the bitcoin addresses?

(Asked by: username_0 on 2017-04-25)

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?)

**Tags:** address, address-generation, hacking

> **Comments:**
> **username_1**: related: [Is Each Bitcoin Address Unique?](https://bitcoin.stackexchange.com/q/8804/5406)  
> **username_2**: 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.  

---

## 2 answers

### Answer by username_3 on 2017-04-30. Score: 7

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**

> **Comments:**
> **username_0**: I love this answer.  
> **username_4**: > Number of atoms in the Earth  This is incorrect, no? It's 2^50. https://www.wolframalpha.com/input/?i=difference+between+2%5E50+and+2%5E166  

---

### Answer by username_5 on 2018-04-19. Score: 2

Based on username_3'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**.


---

