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.
"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.
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.