Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: MoreBloodWine on November 28, 2013, 09:06:42 AM



Title: What guarantees that no two address are ever the same ?
Post by: MoreBloodWine on November 28, 2013, 09:06:42 AM
I was layin down trying to sleep and this question hit me and I wanted to ask before I forgot.

For the people who make their paper wallets etc. offline with a computer thats never connected to the internet. What guarantees that say a million, hell 10 million, people with the same setup that two of them never end up with the same generated address. I know alot of you will say it's likely to never happen because of the length of the addresses and the randomness of them, but hey, under the right set of circumstances... anything is possible even though the Mythbusters would otherwise disagree since if they cant reproduce anything then its well, busted.


Title: Re: What guarantees that no two address are ever the same ?
Post by: beetcoin on November 28, 2013, 09:07:33 AM
nothing, but there are more addresses than there are grains of sand.. something like 1 in a 1000000000000000000000000000000000000000000000000000000 chance of it happening every time someone creates a wallet.


Title: Re: What guarantees that no two address are ever the same ?
Post by: empoweoqwj on November 28, 2013, 09:31:27 AM
nothing, but there are more addresses than there are grains of sand.. something like 1 in a 1000000000000000000000000000000000000000000000000000000 chance of it happening every time someone creates a wallet.

exactly. it can happen. but it never will ..............

its a bit like "Schrödinger's cat" - there is a chance of an object moving randomly to another (very nearby) place in the universe. But as the object becomes larger and larger, the probability decreases (due to planck's constant). For an object just a few cms across, the probability is so small that it will take much longer than the life of the universe for it to happen. Hence it never has and never will because the universe will die first. As objects get smaller and smaller, down to electron size, they do indeed "move" around.

Similarly, bitcoin addresses are sufficiently large that the chances of them ever being generated "the same" are sufficiently small that it just isn't worth worrying about.

Some mathematician can chime in with the actual probability that two randomly generated addresses will be the same  ;)


Title: Re: What guarantees that no two address are ever the same ?
Post by: RoxxR on November 28, 2013, 09:47:15 AM
Obligatory DSV reference... (The thread is probably more fascinating than the actual app)
 https://bitcointalk.org/index.php?topic=107172.0


Title: Re: What guarantees that no two address are ever the same ?
Post by: OnkelPaul on November 28, 2013, 09:53:33 AM
If addresses are actually generated using a truly random source, the probability of hitting an address already in use is orders of magnitude smaller than the risk of life on earth being eradicated by an asteroid impact. You can safely ignore that risk.
However, when addresses are generated from "random" passphrases there is a nontrivial risk of collision. If you use "correct horse battery staple" as a passphrase, you might think that you're really clever, but you're certainly wrong...

Onkel Paul


Title: Re: What guarantees that no two address are ever the same ?
Post by: XBBlade on November 28, 2013, 09:55:36 AM
Interesting indeed. But this chance is so small that you can easily ignore it as already said.


Title: Re: What guarantees that no two address are ever the same ?
Post by: msc on November 28, 2013, 09:59:54 AM
If addresses are actually generated using a truly random source, the probability of hitting an address already in use is orders of magnitude smaller than the risk of life on earth being eradicated by an asteroid impact. You can safely ignore that risk.
Yes, but even so, you can mitigate the risk by spreading your wealth across multiple addresses.


Title: Re: What guarantees that no two address are ever the same ?
Post by: beetcoin on November 28, 2013, 10:03:53 AM
If addresses are actually generated using a truly random source, the probability of hitting an address already in use is orders of magnitude smaller than the risk of life on earth being eradicated by an asteroid impact. You can safely ignore that risk.
Yes, but even so, you can mitigate the risk by spreading your wealth across multiple addresses.


yeah, but for me at least, that creates a burden of having to remember multiple seeds/brain wallets, and having to store multiple wallet.dat or private keys, in addition to long passwords that you'd create.


Title: Re: What guarantees that no two address are ever the same ?
Post by: Siegfried on November 28, 2013, 12:54:21 PM
If addresses are actually generated using a truly random source, the probability of hitting an address already in use is orders of magnitude smaller than the risk of life on earth being eradicated by an asteroid impact. You can safely ignore that risk.
Yes, but even so, you can mitigate the risk by spreading your wealth across multiple addresses.


yeah, but for me at least, that creates a burden of having to remember multiple seeds/brain wallets, and having to store multiple wallet.dat or private keys, in addition to long passwords that you'd create.

Each wallet.day file contains many addresses and private keys, so you could mitigate this risk if you just spread your bitcoins across several addresses within your one wallet.dat file. Am I correct?


Title: Re: What guarantees that no two address are ever the same ?
Post by: msc on November 28, 2013, 01:50:30 PM
Each wallet.day file contains many addresses and private keys, so you could mitigate this risk if you just spread your bitcoins across several addresses within your one wallet.dat file. Am I correct?
Yes.  A seed also can lead to many addresses, and I think a brain wallet is a seed.


Title: Re: What guarantees that no two address are ever the same ?
Post by: ChicagoBob on November 28, 2013, 07:02:47 PM
This is a variation of "The Birthday Problem," which goes like, What are the odds of having two people with the same birthday in a group of 'n' people? (With 23 people it's 50%.)  Except instead of 365 days to be matched, we have a 34 character string with 62 choices for each (I think, 26 lower case, 26 caps and ten digits.) That's 34^(62) = 8.9*10^(94), and instead of 'n' people we have probably several hundred million wallets.

There's a chart at http://en.wikipedia.org/wiki/Birthday_problem#Probability_table which shows the odds for a 32 character string, which is close.  Odds of a dupe are only slightly higher than 34 characters.

Number of WalletsNumber in EnglishOdds of Duplication
22,000,000,000,000,000,00022 Quintillion50%
   830,000,000,000,000,000830 Quadrillion0.1%
     26,000,000,000,000,00026 Quadrillion.0001%
                26,000,000,00026 Billion.0000000000000001%
                  7,000,000,000Population of the Earth

So every human would need three or more wallets for a probability of 10 ^(-18).

But unlikely things do happen and spreading your risk is still a good idea.  Because this probably isn't the only risk out there.



Title: Re: What guarantees that no two address are ever the same ?
Post by: vane91 on November 29, 2013, 01:51:34 AM
I actually think this is the biggest flaw in bitcoin, and one of the few things that would crash the price to 0.

As i understand the walled uses elyptic curve algorithms starting from a set of "pseudorandom data" the most random of them is, mouse, certain computer stats and time.

Could it be possible that someone creates a program that generates millions of address and verify's them against the blockchain. ?
 I think this already happens (mainly with brain wallets and using a dictionary attack but also deep space vagabond program), so far no reports of stolen bitcoins,
but it in theory could happen.

in the future there will be asics for alt-coins , maybe one of them is proved to be safe agains this kind of attack. then btc will just upgrade to it.




Title: Re: What guarantees that no two address are ever the same ?
Post by: gamer4156 on November 29, 2013, 02:17:51 AM
What happens if someone was to generate an address with 1BTC in it?


Title: Re: What guarantees that no two address are ever the same ?
Post by: jellies on November 29, 2013, 02:35:03 AM
have at it!

You can download electrum then create many wallets with random 128 bit numbers.

These are potentially real wallets, spaced on average 4 billion addresses apart in the space of all possible wallets.

So start churning away starting at 0, and generating these wallets, if you find one with a balance, it is yours! quick spend it before the owner does.

Who knows you might strike one of the Satoshi wallets.

Unfortunately if you checked a million of these electrum wallets a second, for one million years, you'd need another 1.07e19 other people on your team doing the same thing.

And then, you'd only have checked a 4 billionth of all available wallets, so it is highly likely that by the time you're done with this you'd have 2^128 empty wallets and a huge electricity bill, not to say 1.07e19 people (that is, 1 billion planets each with 10 billion people) asking you WTF dude.

(minor math errors only I hope and I am ignoring that a single electrum wallet creates a few addresses, not just one address).


Title: Re: What guarantees that no two address are ever the same ?
Post by: grue on November 29, 2013, 02:37:00 AM
What happens if someone was to generate an address with 1BTC in it?
I actually think this is the biggest flaw in bitcoin, and one of the few things that would crash the price to 0.

As i understand the walled uses elyptic curve algorithms starting from a set of "pseudorandom data" the most random of them is, mouse, certain computer stats and time.

Could it be possible that someone creates a program that generates millions of address and verify's them against the blockchain. ?
 I think this already happens (mainly with brain wallets and using a dictionary attack but also deep space vagabond program), so far no reports of stolen bitcoins,
but it in theory could happen.

in the future there will be asics for alt-coins , maybe one of them is proved to be safe agains this kind of attack. then btc will just upgrade to it.



feel free to try for bitcoin riches:
https://bitcointalk.org/index.php?topic=107172.0


Title: Re: What guarantees that no two address are ever the same ?
Post by: gamer4156 on November 29, 2013, 03:35:51 AM
What happens if someone was to generate an address with 1BTC in it?
I actually think this is the biggest flaw in bitcoin, and one of the few things that would crash the price to 0.

As i understand the walled uses elyptic curve algorithms starting from a set of "pseudorandom data" the most random of them is, mouse, certain computer stats and time.

Could it be possible that someone creates a program that generates millions of address and verify's them against the blockchain. ?
 I think this already happens (mainly with brain wallets and using a dictionary attack but also deep space vagabond program), so far no reports of stolen bitcoins,
but it in theory could happen.

in the future there will be asics for alt-coins , maybe one of them is proved to be safe agains this kind of attack. then btc will just upgrade to it.



feel free to try for bitcoin riches:
https://bitcointalk.org/index.php?topic=107172.0

Thank you for the read it was interesting. But my question still stands. What happens if someone was to generate an address with 1BTC in it? If that question is to hard for you to answer or out of your bitcoin understanding  I would appreciate if you kept your presumptuous comments to your self.

That staff tag worries me.

Statistically unlikely but it is still possible.

I hope that people are not so short-sited that they fail to understand how devastating the wrong address getting randomly generated would be to the network. If the "generator" of the previously owned address gains full control of the wallet how can we go about securing against these attacks?


Title: Re: What guarantees that no two address are ever the same ?
Post by: Remember remember the 5th of November on November 29, 2013, 03:41:33 AM
What happens if someone was to generate an address with 1BTC in it?
I actually think this is the biggest flaw in bitcoin, and one of the few things that would crash the price to 0.

As i understand the walled uses elyptic curve algorithms starting from a set of "pseudorandom data" the most random of them is, mouse, certain computer stats and time.

Could it be possible that someone creates a program that generates millions of address and verify's them against the blockchain. ?
 I think this already happens (mainly with brain wallets and using a dictionary attack but also deep space vagabond program), so far no reports of stolen bitcoins,
but it in theory could happen.

in the future there will be asics for alt-coins , maybe one of them is proved to be safe agains this kind of attack. then btc will just upgrade to it.



feel free to try for bitcoin riches:
https://bitcointalk.org/index.php?topic=107172.0

Thank you for the read it was interesting. But my question still stands. What happens if someone was to generate an address with 1BTC in it? If that question is to hard for you to answer or out of your bitcoin understanding  I would appreciate if you kept your presumptuous comments to your self.

That staff tag worries me.

Statistically unlikely but it is still possible.

I hope that people are not so short-sited that they fail to understand how devastating the wrong address getting randomly generated would be to the network. If the "generator" of the previously owned address gains full control of the wallet how can we go about securing against these attacks?

If you generate an address with 1BTC, you can spend it, yes. Or you can ignore it.

However, it's been said many times. Even if you generate one trillion addresses per second for a 1000 years you still probably wouldn't hit a key with a balance.


Title: Re: What guarantees that no two address are ever the same ?
Post by: jellies on November 29, 2013, 03:48:30 AM
Why 1BTC?
are you pulling that number randomly out of the air?

It isn't an "attack" that needs to be "protected against" it would be a coincidence so impossibly remote that the only conclusion to come to would be that there is a fatal flaw in the implementation of the software that created the wallet, and the original wallet (that got dup''d) was created with the same software with the same flaw.

Either that or it was mundane case of wallet A losing its keys and being used by malicious person B.

What are the chances that the guy carrying the presidents nuclear briefcase can enter launch codes by guessing them, first time correctly, while prez is on the toilet? that is far more probable.

The "defense" against the "attack" is the far extremity of maths probability where the numbers become indistinguishable from "impossible".

edit: another way to think about things, I'm sure you have at least one online account with money, yes? what is its defence that someone be it a bot or a person can type your exact user id and your exact password and if you have it your exact two-factor dongle code, and then transfer your funds somewhere? This too is a possibility.


Title: Re: What guarantees that no two address are ever the same ?
Post by: BurtW on November 29, 2013, 03:52:27 AM
This question has been asked and answered more times than I care to count.

The basic problem is that the human brain cannot truely comprehend the number 2160 = the number of possible Bitcoin addresses.

The answer is that it is "impossible" given reasonably random numbers to hit another address.  When I say impossible I mean impossible in the lifetime of the solar system.

This is not something that should keep you up at night.


Title: Re: What guarantees that no two address are ever the same ?
Post by: DeathAndTaxes on November 29, 2013, 03:54:25 AM
I'm sure you have at least one online account with money, yes? what is its defence that someone be it a bot or a person can type your exact user id and your exact password and if you have it your exact two-factor dongle code, and then transfer your funds somewhere? This too is a possibility.

And many many many magnitudes more likely then generate a key which matches a funded addresses.


Title: Re: What guarantees that no two address are ever the same ?
Post by: AnonyMint on November 29, 2013, 03:55:10 AM
If addresses are actually generated using a truly random source, the probability of hitting an address already in use is orders of magnitude smaller than the risk of life on earth being eradicated by an asteroid impact. You can safely ignore that risk.
However, when addresses are generated from "random" passphrases there is a nontrivial risk of collision. If you use "correct horse battery staple" as a passphrase, you might think that you're really clever, but you're certainly wrong...

Onkel Paul

One of the keys to security is the uniform distribution of the hash. This is why if there is any (e.g. cyclical) pattern or any non-uniformity in a random number generator (RNG), then the attacker can potentially crack your Bitcoin.

This is what happened with Mike Hearn's java version of Bitcoin client for Android, because the stock RNG was faulty. Apparently this was quickly fixed.

Many people don't trust the hardware RNG in Intel chips, because they suspect the NSA planted a backdoor in it.

https://www.schneier.com/blog/archives/2012/02/lousy_random_nu.html


Title: Re: What guarantees that no two address are ever the same ?
Post by: Kluge on November 29, 2013, 03:57:12 AM
note: DSV refers to the program grue mentioned above. For whatever reason, DSV is castrated by the developer (it only searches for addresses beginning with 1DSV). This assumes there is a non-castrated, optimized DSV which may include botnets or NSA super computers (really, super-duper theoretical computers from the land of Oz).
Assuming 500K addresses which either have funds or will have funds within next three months,
0.0000000000000000000000000000000000000000034211388289180104270598866779539% chance per check (or address creation).

Assuming average computer can do 250 optimized DSV-like checks per second,
0.00000000000000000000000000000000000000085528470722950260676497166948848% chance per second.

Assuming a "theft pool" is formed, and 500 of these computers averaging the above click/s,
0.00000000000000000000000000000000000042764235361475130338248583474424% chance per second.

Assuming each theft pool is one botnet, and 20 botnets, exactly the same, exist in these theft pools,
0.0000000000000000000000000000000000085528470722950260676497166948848% chance per second.

Per minute,
0.00000000000000000000000000000000051317082433770156405898300169309%

Per hour,
0.000000000000000000000000000000030790249460262093843538980101585%

Per day,
0.00000000000000000000000000000073896598704629025224493552243804%

Per month (30D),
0.000000000000000000000000000022168979611388707567348065673141%

Per year,
0.00000000000000000000000000026972258527189594206940146568988%


Assume worst-case scenario, DSV-like software can check 5000 addresses (10M of which are funded or will be funded within 6 months) per second, and 100 botnets of 50,000 computers each...
Per day,
0.000000000000000000000000014779319740925805044898710448761%

Per month,
0.00000000000000000000000044337959222777415134696131346283%

Per year,
0.0000000000000000000000053944517054379188413880293137978%

Per century,
0.00000000000000000000053944517054379188413880293137978%


ETA: Worse-than-worst case scenario. NSA can check 1T addresses per second, 1T addresses are funded.
Per century,
0.0000000000000021577806821751675365552117255191%

Per billion centuries,
0.0000021577806821751675365552117255191%


Title: Re: What guarantees that no two address are ever the same ?
Post by: DeathAndTaxes on November 29, 2013, 04:01:07 AM
note: DSV refers to the program grue mentioned above. For whatever reason, DSV is castrated by the developer (it only searches for addresses beginning with 1DSV). This assumes there is a non-castrated, optimized DSV which may include botnets or NSA super computers (really, super-duper theoretical computers from the land of Oz).
Assuming 500K addresses which either have funds or will have funds within next three months,
0.0000000000000000000000000000000000000000034211388289180104270598866779539% chance per check (or address creation).

Assuming average computer can do 250 optimized DSV-like checks per second,
0.00000000000000000000000000000000000000085528470722950260676497166948848% chance per second.

Assuming a "theft pool" is formed, and 500 of these computers averaging the above click/s,
0.00000000000000000000000000000000000042764235361475130338248583474424% chance per second.

Assuming each theft pool is one botnet, and 20 botnets, exactly the same, exist in these theft pools,
0.0000000000000000000000000000000000085528470722950260676497166948848% chance per second.

Per minute,
0.00000000000000000000000000000000051317082433770156405898300169309%

Per hour,
0.000000000000000000000000000000030790249460262093843538980101585%

Per day,
0.00000000000000000000000000000073896598704629025224493552243804%

Per month (30D),
0.000000000000000000000000000022168979611388707567348065673141%

Per year,
0.00000000000000000000000000026972258527189594206940146568988%


Assume worst-case scenario, DSV-like software can check 5000 addresses (10M of which are funded or will be funded within 6 months) per second, and 100 botnets of 50,000 computers each...
Per day,
0.000000000000000000000000014779319740925805044898710448761%

Per month,
0.00000000000000000000000044337959222777415134696131346283%

Per year,
0.0000000000000000000000053944517054379188413880293137978%

Per century,
0.00000000000000000000053944517054379188413880293137978%


ETA: Worse-than-worst case scenario. NSA can check 1T addresses per second, 1T addresses are funded.
Per century,
0.0000000000000021577806821751675365552117255191%

Per billion centuries,
0.0000021577806821751675365552117255191%

http://i.qkme.me/3tgcs8.jpg


Title: Re: What guarantees that no two address are ever the same ?
Post by: jellies on November 29, 2013, 04:06:37 AM
great image.
maybe in future that can be the first post to topics like this!


Title: Re: What guarantees that no two address are ever the same ?
Post by: AnonyMint on November 29, 2013, 07:05:09 AM
D&T that is perfect.  ;D