Since millions of people use Bitcoin and Bitcoin Wallets that use their own addresses use several addresses per day, it is obvious that generators can generate the same characters for the Bitcoin address multiple times. So please therefore simply tell me how one would prevent others from accessing or spending the coins that are stored at my paper bitcoin address.
-
11"that is improbable so therefore who cares": This is the entire point! Cryptography never makes anything truly impossible, but it can make it so improbable that you no longer worry about it happening. You have to understand and accept this before you can go on to understand anything else.– Nate EldredgeJan 12, 2018 at 21:24
-
2My first Google result for "bitcoin address duplication" is bitcoin.stackexchange.com/questions/23268/… which links to two additional dupes.– dave_thompson_085Jan 12, 2018 at 23:40
-
1The point of ignoring probabilities here makes literally no sense. You could just as sensibly ask about physical money you held simply flying away spontaneously due to random atomic vibrations and quantum physics. Yes, it could happen, no, it wont.– ValityJan 12, 2018 at 23:43
-
I could also spontaneously combust. Statistically SOMETHING could trigger it (I agree, super unlikely... but still). I don't carry a fire extinguisher with me just in case (and I assume you don't)... it's all about risk management and understanding what "1 in a trillion" (or whatever) really means. I am aware that in the world of bitcoin, it's FAR LESS than 1/trillion btw...– PatriceJan 13, 2018 at 2:14
-
3try to focus on the question, not the rant. the current ‘question’ is 90% rant.– AganjuJan 13, 2018 at 12:13
6 Answers
"Improbable" is an understatement.
There are 2256 possible keys. In the entire universe, there are estimated to be "only" 2100 atoms.
So the odds of someone else ending up with the exact same address/key as you is far, far less than the same atom, out of the entire universe, being randomly picked twice.
If you are worried about an address collision, here are things that should be more worrisome:
- Gamma ray burst wiping out all life on earth.
- Sun unexpectedly going Supernova
- Rogue Blackhole swallowing the solar system
- An asteroid hitting the earth at the same time as nuclear war breaks out.
On the list of things to worry about, an address collision just does not show up.
You say that "millions of people use Bitcoin and Bitcoin Wallets that use their own addresses use several addresses per day".
100 Million of people
100 addresses per day
365 days / year
* 200 years
-------------
Less than 1 Billion addresses used in the foreseeable future.
1 billion is about 230. Which means that in 200 years, the chance of a collision is somewhere around 1 in 2256-30 or, 1 in 2226, which is still way more than atoms in the universe.
You're easily safe for at least 200 years.
-
Slightly less than 2^256 keys, but 2^160 addresses and forgery only requires matching the address. Still infeasible. Jan 12, 2018 at 23:41
-
5How do you protect your paper wallet from mice nibbling on the paper? As far as probabilities go, I'd be far more concerned with that than random number hits. Jan 13, 2018 at 0:31
-
5Did you account for the birthday paradox in your last section? I think the real probability of any collision occurring (for anyone, not just you) is 2^96. We're at least getting down to the number of atoms in the universe. Or, if we prefer to think in positive terms, the probability of someone having a collision happen in the next 200 years is equivalent to you winning the Powerball lottery 4 times in a row. Jan 13, 2018 at 0:33
-
1Also, studying the Large Bitcoin Collider project might make it seem more of a 'real' problem than one might distil from this answer.– bzeamanJan 13, 2018 at 15:29
-
motherboard.vice.com/en_us/article/nzpv8m/… "the project has generated over 3,000 trillion private keys and ... has found three that contain bitcoin."; "the brute force strategy they're using poses no threat to anybody's bitcoin."– abelenkyJan 16, 2018 at 20:28
It seems like you already know the answer, but want to hear something else. So, you really have two choices:
- Accept that modern cryptography relies on improbable outcomes. It's physically impossible to create the identification system that you describe.
- Reject this reality and substitute your own.
If you choose (1), and would like to know more, there are tons of resources - identities are established by creating SHA-256 hashes in bitcoin. More importantly, there is no "unique identity" principle in this universe, since information can be replicated by chance or by effort and elementary physical particles are indistinguishable.
If you choose (2), I don't have a good answer for you.
The generation of private keys is made randomly. Therefore, it is possible for someone to generate the same private key as you did. In your question, you heavily insisted that you did not want an answer on how improbable this is. The answer is : You cannot protect your paper wallet from someone having incredible chance and getting the same number generated as you did.If you do not trust the way private keys are generated, you should take a look at this article.
So – for all those doubting the security of 2^256 collision chances, there’s the number: There is a 1 in over 115 quattuorvigintillion (that’s a 78 digit number) chance of finding a collision. This number is bigger than the number of atoms in the perceivable universe
The idea of ignoring sufficiently small possibilities is fundamental to BitCoin, and if you have a problem with it, then you shouldn't be using BitCoin (or anything else that involves a finite password space). If someone were to simply create a forged transaction from your wallet, put it in a block, and find a hash for that block, being able to do that by random chance would be likelier than picking the same keys as you. Randomly choosing a name and social security number and having it match yours would be likelier. Randomly choosing a credit card number, expiration date, and cvv, and having it match yours would be likelier. You are waaaaaaaaay more likely to lose your BitCoins from your wallet being trampled by a zebra who's been spooked by lightning hitting someone who just won the lottery than from someone randomly choosing the same keys.
If you consider this a "stupid question", it apparently isn't, because Google has literally no results whatsoever about this.
That logic is valid only if it is reasonable to expect Google to have answers to every stupid question.
The Large Bitcoin Collider was already mentioned in a comment, but it is worth mentioning in an answer also.
These are a group of people out there doing this now, going through random BTC private keys looking for wallets with money in them. So far they have found private key for three wallets, worth 0.0079 BTC, 0.0001 BTC and 0.00001 BTC. In addition they've found several keys related to a puzzle transaction, which apparently used intentionally guessable keys.
Their current search speed is 1550 Mkeys/s. If you have a single wallet with a random private key, this means that by average you'll be hit once every 3 · 10³¹ years. So for an individual user, the statistical risk is insignificant. There are 15 millions wallets with money in them, so even the chance of hitting any wallet is just once every 2 · 10²⁴ years. Their hits so far are much higher than this, which suggests not all keys are as random as one would expect. Someone may have even made the addresses intentionally for LBC to find, but no-one knows.
The real risk is in your random generator that you used to generate your private key. A few years back, Debian's OpenSSL package had a very bad random generator bug. This made it trivial to guess all private keys generated with it, yet it took two years until the problem was publicly detected. I would be somewhat wary of using less commonly used or experimental software to generate private keys, a single bug could make the wallet easy to compromise.
But as long as you use a well designed software to generate the key, you should be safe.
What all of url don't realise is that is not impossible for hackers to brute the crap out of private keys, with computer processing increasing rapidly it's definitely not IMPOSSIBLE, to put the record straight, but then again that's vulnerability as being around since computers started to exist.