<p>I don't know what bitaddress.org does exactly, but just take some numbers into consideration: </p>

<p>There are 2^160 possible Bitcoin addresses. If you generate an address from a key pair generated with a good randomness source, it is fairly impossible to find a collision. </p>

<p>In conclusion, they can ensure uniqueness just by the negligible odds of picking an address more than once. </p>

CC BY-SA 3.0
2017-05-24T21:22:04.190Z
2017-05-24T21:29:06.597Z
2017-05-24T21:29:06.597Z
sr_gi
<p>Although I don't know the specifics of how bitaddress works, this is true of any address generation:  there is never a 100% guarantee that nobody else has generated the same address.</p>

<p>Bitcoin addresses are generated from private keys, which are (or should be) randomly generated with a cryptographically secure random number generator.  Nobody checks these numbers against a list of existing ones, because nobody knows anyone else's private keys.  Nobody checks the resulting address against existing addresses, because it's impossible.  There is no way of knowing if someone generated the same address, but has yet to use it.</p>

<p>So why is this secure?  Because the set is so large (approximately 2^256 possibilities), that if you are properly using a secure random number generator, it is highly unlikely there will ever be a collision.  In fact, it is several orders of magnitude more likely that the earth will be destroyed by an asteroid in the next 10 seconds than it is that you will generate an address someone else already had the key to.  Yes, it could happen...but that's the least of your worries ;)</p>

CC BY-SA 3.0
2017-05-25T01:03:28.777Z
2017-05-25T01:03:28.777Z
Jestin
<p>You can use this service offline (as it's done with JS) so how can they possibly ensure a unique address is generated?</p>

CC BY-SA 3.0
2017-05-25T01:05:26.250Z
related: [Is each Bitcoin address unique?](https://bitcoin.stackexchange.com/q/8804/5406)
Murch
<address-generation>
How does bitaddress.org ensure unique address?
yolo9999
# How does bitaddress.org ensure unique address?

(Asked by: username_0 on 2017-05-24)

You can use this service offline (as it's done with JS) so how can they possibly ensure a unique address is generated?

**Tags:** address-generation

> **Comments:**
> **username_1**: related: [Is each Bitcoin address unique?](https://bitcoin.stackexchange.com/q/8804/5406)  

---

## 2 answers

### Answer by username_2 on 2017-05-24. Score: 2

I don't know what bitaddress.org does exactly, but just take some numbers into consideration:

There are 2^160 possible Bitcoin addresses. If you generate an address from a key pair generated with a good randomness source, it is fairly impossible to find a collision.

In conclusion, they can ensure uniqueness just by the negligible odds of picking an address more than once.


---

### Answer by username_3 on 2017-05-25. Score: 2

Although I don't know the specifics of how bitaddress works, this is true of any address generation: there is never a 100% guarantee that nobody else has generated the same address.

Bitcoin addresses are generated from private keys, which are (or should be) randomly generated with a cryptographically secure random number generator. Nobody checks these numbers against a list of existing ones, because nobody knows anyone else's private keys. Nobody checks the resulting address against existing addresses, because it's impossible. There is no way of knowing if someone generated the same address, but has yet to use it.

So why is this secure? Because the set is so large (approximately 2^256 possibilities), that if you are properly using a secure random number generator, it is highly unlikely there will ever be a collision. In fact, it is several orders of magnitude more likely that the earth will be destroyed by an asteroid in the next 10 seconds than it is that you will generate an address someone else already had the key to. Yes, it could happen...but that's the least of your worries ;)


---

