Author

Topic: How are addresses guaranteed to be unique? (Read 865 times)

legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
September 26, 2012, 09:22:29 PM
#12
Although it's true that UUIDs aren't guaranteed to be unique, they do have some checks built in to help assure uniqueness. That is the point I was making, that it would be nice if Bitcoin had such checks.

It very much depends upon the UUID implementation - basically an implementation is free to just use /dev/random to create the UUID - there doesn't need to be any prefix such as MAC address and in reality things like MAC addresses are *not* guaranteed to be unique anyway (and therefore effectively reduce entropy) so any such supposed "checks" aren't really doing anything that can guarantee uniqueness - the only really useful thing is how random the source for random bits is (and this is not a Bitcoin concern but an OS and hardware concern).

In any case I think this horse can well and truly be considered as having had a flogging. Smiley
hero member
Activity: 850
Merit: 1000
September 26, 2012, 09:00:44 PM
#11
Although it's true that UUIDs aren't guaranteed to be unique, they do have some checks built in to help assure uniqueness. That is the point I was making, that it would be nice if Bitcoin had such checks.

http://searchsoa.techtarget.com/definition/UUID

Just so everyone knows I'm not beating a dead horse: at this point I feel comfortable with the odds and I consider the topic to be closed. Thanks for your input!
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
September 26, 2012, 08:48:19 PM
#10
Well, I can live with those odds  Smiley 

Still, it would be nice if some kind of check was built in.

Do you UUIDs?

No check is made for them and they are only 128 bits in size.
sr. member
Activity: 266
Merit: 250
September 26, 2012, 08:29:02 PM
#9
Quote
OK take the above example and say 10 billion users with a billion addresses each the odds of a collision are
0.000000000000000000000000000684%.

Therefore, for 100 trillion users with 100 trillion addresses each, the odds of a collision would be:

0.000000000000000000684%.
hero member
Activity: 850
Merit: 1000
September 26, 2012, 08:16:19 PM
#8
Quote
OK take the above example and say 10 billion users with a billion addresses each the odds of a collision are
0.000000000000000000000000000684%.

Well, I can live with those odds  Smiley 

Still, it would be nice if some kind of check was built in.
sr. member
Activity: 476
Merit: 250
Tangible Cryptography LLC
September 26, 2012, 08:11:45 PM
#7
OK take the above example and say 10 billion users with a billion addresses each the odds of a collision are
0.000000000000000000000000000684%.

To answer your direct question.  There is no check.  There is no method to avoid collision other than sheer probability.  There also is nothing to prepare for.  Nothing can be done to prevent it or mitigate it.

You say you design software to be prepared for anything?  Can you software survive a nuclear war, a global EMP, an extiction level asteriod strike?  All of those are trillions and trillions of times more likely than a collision of two 256bit numbers.
 
hero member
Activity: 850
Merit: 1000
September 26, 2012, 07:46:25 PM
#6
Yeah, those are definitely remote odds, esp. for me picking up a Hollywood hottie.  Smiley

But many people generate addresses for every transaction. I believe the number of Bitcoin participants is going to grow exponentially in the near future, and with all of them generating multiple addresses, this could cause a problem. Again: it would be a remote possibility, but it would be less and less remote as time goes on.

As a programmer, I always try to code for exceptions and how to handle them. Many of you can relate. As complex and as genius as the Bitcoin system is, I find it incredulous that this scenario hasn't been implemented or at least considered (to my limited knowledge). The other post has an example of a billion users with 10 addresses each. I haven't been a bitcoin user for 2 weeks and I've generated more than 10 addresses, and will likely generate many more. Multiply that by a rapidly and globally growing user base, and collisions are more likely to occur.

Not saying this to knock Bitcoin - I'm very excited about it - but I hope that this remote possibility is being prepared for.
legendary
Activity: 2506
Merit: 1010
September 26, 2012, 07:41:32 PM
#5
I am aware that the chance of 2 addresses being identical are remote,


Here's another thread where that question was asked:


Given your example of 1 billion users at 10 addresses each:

There are 2^160 or about 1,460,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 possible addresses
In your scenario, 1,000,000,000 people are using 10 addresses each for a total of 10,000,000,000 possible addresses
10,000,000,000 / 2^160 should yield the probability of a collision occurring
10,000,000,000 / 2^160 = 0.00000000000000000000000000000000000000684

So the chances of a collision occurring in your scenario are approximately 0.000000000000000000000000000000000000684%

See why we don't consider collisions an issue?
hero member
Activity: 784
Merit: 1000
Annuit cœptis humanae libertas
September 26, 2012, 07:36:23 PM
#4
Yes indeed, it really is like accidentally replicating someone's DNA at random. But yes, a collision is theoretically possible. Tongue
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
September 26, 2012, 07:34:25 PM
#3
I don't think you realise just *how* remote the chances are - so perhaps consider the following:

1) You win 1M lottery - seven days in a row.

2) You just miss getting hit by a jumbo jet falling out of the sky - seven days in a row.

3) You managed to pick up a Hollywood movie starlet - seven different starlets seven days in a row.

All of the above happening are more likely than the chance of two addresses being the same.

Got it now. Wink
hero member
Activity: 669
Merit: 500
September 26, 2012, 07:33:52 PM
#2
They are so remote there are no checks needed. If you are concerned about this, split your funds between multiple accounts to limit your potential loss of someone snagging one of your addresses.
hero member
Activity: 850
Merit: 1000
September 26, 2012, 07:30:47 PM
#1
I am aware that the chance of 2 addresses being identical are remote, but what checks are in place to prevent this?

People can generate addresses from offline computers, so even if there is a verification check on the P2P network, those addresses could not be checked.
Jump to: