https://www.reddit.com/r/Bitcoin/comments/1h5lmbo/theres_a_nonzero_chance_of_generating_a_wallet/
created by Pol8y on 03/12/2024 at 11:48 UTC
225 upvotes, 58 top-level comments (showing 25)
Yes, there is. Mathematically undeniable.
No, it won't happen. here's why:
Every now and then we stumble upon a reddit post in r/Bitcoin in which someone asks for the chances of someone else randomly generating the same wallet as theirs, or any variation of this topic.
I know mine it won't be a once and for all post that forever settles the debate, but allow me to try to give you my perspective and convince you that humans are bad at big numbers:
A few facts (as of today):
-**24 word bip39 seed has a total of 2,9*10^79 unique addresses** (from now on referred to as the seed space)
-**Age of the universe** **is 1,37*10^10 years**
-**Bitcoin network total hash-rate is** **7,8*10^20 hash per second** or better 2,45*10^28 hash per year (from now on referred to as the bitcoin supercomputer)
now, lets calculate how many lifetimes of the universe it would take for 1Million bitcoin supercomputers to go through 0,000000000000000001% (or 10^-20) of the total seed space:
2,9*10^79 * 10^-20 / (1,37*10^10 * 10^6 * 2,45*10^28) = 8,6 *10^14 universes lifetimes :)
so basically, if every person who ever lived (~100Billion people) each produced 1 Billion wallets in their lifetime (meaning 1 wallet each 3 seconds for their 100 years lifetime) we would end up with 10^20 unique wallets, and it would take ~ 800'000'000'000'000 (8*10^14) times the life of the universe, using 1M bitcoin supercomputers to have 1 on 290'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000'000 (1 in 2,9*10^59) chances to get a collision. give it or take.
for comparison, if earth were the only planet in the universe to host life, the chance of life in our universe would be 1 in ~2*10^23. Now picture that life in the universe would still be ~500'000'000'000'000'000'000'000'000'000'000'000 times more likely than the scenario depicted above.
Hopefully this gave you perspective on how bad we are at grasping the magnitude of big numbers, but if it didn't, here's a game i like to play.
Again, 24 words bip39 seed has a total of 2,9*10^79 unique addresses, while the observable universe has roughly between 10^(78) and 10^(82) atoms. Lets then say we consider the two numbers to be equal.
I pick a random atom in the whole observable universe and then ask you to do the same. you win big time (i give you 1Billion $) if you can pick the same exact atom, if you can't you give me 100$. This might already give you an idea of the magnitude, but if you're not convinced and want to play nonetheless, I'll even allow you to continue picking atoms until you make it, does that seem fair to you?
So your chance now depends on how many attempts you can make per second and how likely you want to be to be correct. Lets say that you want to have 50% chance of picking my atom, then you'd need to go through 50% of the possibilities, that are (2.96/2)*10^(79,) roughly 1,48*10^(79.) Not very different i am afraid.
One of the best supercomputers out there is the bitcoin network, so now I even allow you to rely on that to make our atom picking faster, it can perform 7,8*10^(20) operations per second, therefore--> 1.48*10^(79) / 7,8*10^(20) = 1,89*10^(58) seconds would be required for you to pick half of the universe's atoms, roughly 6*10^(50) years, 6*10^(41) billion years or 4,6*10^(40) times the age of the universe.
All this time, with the most powerful computer network known to mankind, just to have a 50% chance. Now, imagine you had 1000 billions earth-like planets at your disposal, each with a bitcoin network super computer, and 1000 billions universes each with 1000 billions earth-like planet each with its own bitcoin computer, each searching for the same wallet (I mean atom! sorry), it would still take 6*10^(27) billion years to, again, have a toss of a coin chances to get it right, so I want to be even more fair to you, and instead of 1 atom, i pick the equivalent of 100Billion people, each picking 1Billion atoms, therefore 10^20 wallets (atoms!), and you win if you can pick any of those.. it would still require 6*10^7 Billion years!
(btw, there are only ~55Million addresses with balance in existence as of today)
Comment by [deleted] at 03/12/2024 at 12:36 UTC*
59 upvotes, 7 direct replies
[deleted]
Comment by Reasonable-Peanut-12 at 03/12/2024 at 13:06 UTC
38 upvotes, 3 direct replies
I think no matter how many examples and analogies you propose, the average human mind cannot comprehend big numbers and therefore always come to the same conclusion: "so you say there's a chance"
Comment by Woodchuck369 at 03/12/2024 at 12:15 UTC
130 upvotes, 3 direct replies
I'm feeling lucky today. Let's play your game. Is it atom number 42?
Comment by lifeanon269 at 03/12/2024 at 12:36 UTC*
17 upvotes, 1 direct replies
3Blue1Brown has a good video illustrating how stupidly large 2^256 is:
https://m.youtube.com/watch?v=S9JGmA5_unY&pp=ygUPM2Jyb3duMWJsdWUgMjU2
Comment by Classic-Charity-2179 at 03/12/2024 at 12:41 UTC
43 upvotes, 1 direct replies
So you're saying there's a chance?
Comment by Acrobatic-Space at 03/12/2024 at 13:23 UTC
8 upvotes, 2 direct replies
Randomness depends on how random the random number generator is ;)
Comment by xcmaam at 03/12/2024 at 14:55 UTC
6 upvotes, 1 direct replies
That’s like saying my hand can pass through a table while hitting it.
It’s mathematically possible but you’d have to hit it like trillions of times, and luck favouring for ass your atoms and tables to not interact at all.
Anyways a fun read op
Comment by GuardianOfReason at 03/12/2024 at 15:20 UTC
5 upvotes, 0 direct replies
Another way of putting: if that possibility bothers you, you might as well not own a home because there's a chance a meteor will strike it. Every day there's a chance of that happening, in fact.
Comment by liflafthethird at 03/12/2024 at 12:29 UTC
14 upvotes, 2 direct replies
I know the chances are next to zero, but somehow my mind is annoyed by this (no matter how small) possibility.
Comment by jani00 at 03/12/2024 at 13:33 UTC
3 upvotes, 0 direct replies
For all practicality, it is way better to think of the chance of basically zero.
Comment by fakehalo at 03/12/2024 at 13:55 UTC
3 upvotes, 0 direct replies
Many years ago I downloaded a list of the top ~million wallets and loaded them into a hash table to brute force against. I felt like I had to do that before I bought any, but it's still been running for all these years in the hope of winning the lottery, but it's still currently at zero collisions so far.
Comment by trypsin13 at 03/12/2024 at 14:27 UTC
3 upvotes, 1 direct replies
If you use a passphrase on trezor even if someone by chance gets your private seed they would then have to guess your passphrase to get to your coins.
Comment by No_Suggestion869 at 03/12/2024 at 13:10 UTC
5 upvotes, 1 direct replies
So you're saying there's a chance.
Comment by Azzuro-x at 03/12/2024 at 15:14 UTC*
2 upvotes, 0 direct replies
You calculation for the number of possible addresses is incorrect by simply relying on the 24 words BIP39 scenario. There are other factors to consider namely the wallets generated by 12 word seeds, the different address types and also the secp256k1 modulo number (vs 2^256 ).
Comment by Dede84_ at 03/12/2024 at 22:13 UTC
2 upvotes, 1 direct replies
!lntip 521
Comment by [deleted] at 04/12/2024 at 00:51 UTC
2 upvotes, 0 direct replies
Whilst I agree with the point you're making (it's extremely unlikely), I'd disagree with the maths a little bit.
There's a problem known as "the birthday paradox" where two students in a class are more than 50% likely to share the same birthday if we have just 23 people in the class - despite there being 365 days in a year.
Let's say there are 10^80 possible bitcoin addresses. That doesn't mean it will take 10^80 wallets for us to reach the point where two wallets will share the same address.
Comment by OneRobotBoii at 04/12/2024 at 02:22 UTC
2 upvotes, 0 direct replies
I’ve been running an experiment on this for… a while now, about a year.
1.2 billion wallets later, still poor.
Comment by wastedkarma at 03/12/2024 at 13:34 UTC
2 upvotes, 1 direct replies
The numerator isn’t one wallet address. It’s the total number of wallets that have any coin in them.
Comment by f1ve at 03/12/2024 at 13:48 UTC
2 upvotes, 1 direct replies
I know the math. I know it’s as close to impossible as it gets.
But I’m still like: Yes but its probabilities. You could just get it on the first try. The human brain (at least mine) can’t comprehend such large numbers.
Comment by no-one_ever at 03/12/2024 at 13:37 UTC
1 upvotes, 2 direct replies
Why can’t the generator just check if the address exists first?
Comment by Particular_Relief154 at 03/12/2024 at 13:49 UTC
1 upvotes, 1 direct replies
That’s some hefty numbers- I had a feeling it was extraordinarily big numbers- but thanks for putting it out like that- it makes it so much easier to be able to explain
Comment by ScamJustice at 03/12/2024 at 14:01 UTC
1 upvotes, 1 direct replies
Yea but if your entropy of your RNG is low then that 10^79 possibilities might actually be a lot lower and may lead to more wallets being duplicated on different devices
Comment by mickhick95 at 03/12/2024 at 14:35 UTC
1 upvotes, 0 direct replies
I like these thought experiments, keep Bitcoin weird!
Comment by F_DeX at 03/12/2024 at 14:41 UTC
1 upvotes, 0 direct replies
Great explanation, thank you
Comment by Im_Hoptin at 03/12/2024 at 15:24 UTC
1 upvotes, 0 direct replies
I mean, another way to look at it is your chance of guessing a seed phrase has the same odds as winning 132 times in a row doing a coin flip and that’s just 12 words
It’s 264 flips in a row to reach a 24 seed phrase guess