Say I have created a paper wallet with one bitcoin address in a vault. What are chances that someone else will find the private key for this wallet?
There are around 1,461,501,637,330,902,918,203,684,832,716,283,019,655,932,542,976 posible bitcoin addresses according to BitcoinTalk.org. This makes it a very small posibility of finding another address that is being used. So the chance is around %0.
Essentially zero. They would have to find a private key whose public key hash matched yours. The public key hash is 160 bits long. If they had a billion computers, each of which could try a billion keys a second, and they tried for a billion years, they'd have much, much less than a one in a billion chance of getting it.
There is a guy who has been testing this. He has ran a computer which generates addresses and checks the balances. Out of several years, processing millions of addresses per day, to my knowledge, he has found 3 with small balances. So, you can talk theoretical, where the chances are practically zero, but when there is someone who has attained at least 1, then perhaps it's not as unlikely as the math suggests.
I have been thinking this same question myself. If someone is checking against 100s of public addresses wouldn't that increase the odds of finding a correct private key?
At the same time it checks against 100s of addresses it can effectively dismiss those same addresses. In addition by using what some have noted as not so 100% randomness of private keys made with poor RND generators. If there is even a very slight normal distribution then a person could save more time by concentrating on a certain range of private keys (would still be in the billions).
In fact, what if the person cross-checked with multiple public addresses from different cryptocurrencies? One random seed number producing multiple private keys to check against 10,000s of public address for many cryptocurrencies.
Random Seed 1 used to produce bitcoin, ethereum, monero, ltc, bch, ethereum classic, etc private keys to check against 1000s of public addresses from each cryptocurrency.
Then going to Random Seed 2. And Random Seed 3. Etc.
I am sure that a very resourceful person would find address with non-zero balances much faster than the maths tell us since the math is only looking at 1 private key brute force hacking.
The only true way to defend against this is to avoid large balances with each private key. But if people do that then it will be much easier to find something if adoption happens and active addresses continued to double every 5 years.
Assuming btc is eventually $ 2 million per bitcoin and average person saves say 200k in bitcoin. They would need 2000 keys with 0.00005 to avoid losing more than $100 though a random collision attack.
I guess there should be some kind of insurance against this happening but it goes against this idea consolidating uxtos to save fees is a good idea. It’s another reason why low fees are required for btc to work.