Bitcoin Forum
June 29, 2024, 12:25:54 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: How are addresses guaranteed to be unique?  (Read 846 times)
c789 (OP)
Hero Member
*****
Offline Offline

Activity: 850
Merit: 1000



View Profile
September 27, 2012, 12:30:47 AM
 #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.

Comparison of Privacy-Centric Coins: https://moneroforcash.com/monero-vs-dash-vs-zcash-vs-bitcoinmixers.php also includes Verge and Pivx
hmmmstrange
Hero Member
*****
Offline Offline

Activity: 669
Merit: 500


View Profile
September 27, 2012, 12:33:52 AM
 #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.
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1078


Ian Knowles - CIYAM Lead Developer


View Profile WWW
September 27, 2012, 12:34:25 AM
 #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

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
nobbynobbynoob
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1000


Annuit cœptis humanae libertas


View Profile WWW
September 27, 2012, 12:36:23 AM
 #4

Yes indeed, it really is like accidentally replicating someone's DNA at random. But yes, a collision is theoretically possible. Tongue

Earn Free Bitcoins!   Earn bitcoin via BitcoinGet
BTC tip: 1PKkvuwC24Vqjv9odigXs1QVzE66jEJqmb (if <200 µBTC, please donate to charity)
LTC tip: LRqXaNdF79QHvhPpS5AZdEJZnLiNnAkJvq (if <Ł0,05, please donate to charity)
Stephen Gornick
Legendary
*
Offline Offline

Activity: 2506
Merit: 1010


View Profile
September 27, 2012, 12:41:32 AM
 #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?

Unichange.me

            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █


c789 (OP)
Hero Member
*****
Offline Offline

Activity: 850
Merit: 1000



View Profile
September 27, 2012, 12:46:25 AM
 #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.

Comparison of Privacy-Centric Coins: https://moneroforcash.com/monero-vs-dash-vs-zcash-vs-bitcoinmixers.php also includes Verge and Pivx
TangibleCryptography
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250


Tangible Cryptography LLC


View Profile WWW
September 27, 2012, 01:11:45 AM
 #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.
 
c789 (OP)
Hero Member
*****
Offline Offline

Activity: 850
Merit: 1000



View Profile
September 27, 2012, 01:16:19 AM
 #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.

Comparison of Privacy-Centric Coins: https://moneroforcash.com/monero-vs-dash-vs-zcash-vs-bitcoinmixers.php also includes Verge and Pivx
helloworld
Sr. Member
****
Offline Offline

Activity: 266
Merit: 250



View Profile
September 27, 2012, 01:29:02 AM
 #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%.
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1078


Ian Knowles - CIYAM Lead Developer


View Profile WWW
September 27, 2012, 01:48:19 AM
 #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.

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
c789 (OP)
Hero Member
*****
Offline Offline

Activity: 850
Merit: 1000



View Profile
September 27, 2012, 02:00:44 AM
 #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!

Comparison of Privacy-Centric Coins: https://moneroforcash.com/monero-vs-dash-vs-zcash-vs-bitcoinmixers.php also includes Verge and Pivx
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1078


Ian Knowles - CIYAM Lead Developer


View Profile WWW
September 27, 2012, 02:22:29 AM
 #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

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!