This is cool, and the linked Medium article helped me wrap my head around the security of Bitcoin wallets. I have wondered in the past why people mine blocks, but not try to “mine”/hack existing wallets.
It would be cool to add a running counter for “X wallets checked” on the webpage.
I was interested in the idea too and dug further into the math. Assuming you could check hashes at the same rate as Bitcoin is currently mined at that's 202 Exa-hashes per second. If you had the world's hashing power working on guessing private keys, the odds of getting one on any given day are 1/6.70093E45
One Billion is 1.0E9, or a one followed by nine zeroes. so 6.0E45 is one billion to the power of 6, or six billion-billion-billion-billion-billion-billion, times six. At that point you can kind of just mad-libs each billion to be whatever you want "A billion Earths mining for a billion days, duplicated a billion times in a billion different simulated universes, and the odds of finding a hash after all that is still one in a billion, squared."
Or you can plug it into Wolfram Alpha and get it to find a comparison, in this case 6E45 is 0.011% of all possible chess combinations.
It does get worse than that though. A project I played with last year had me asking how many unique permutations there were for a 1920*1080 monitor. That number was around 10^10^77. I don't have any formal maths training and that one really threw me for a loop. To summarize 10^x means you have a number that's x digits long. So 10^6 means I have a six digit number. 10^10^x means that the number that describes how long my number is is x digits long. so 10^10^77 means that if I wanted to write out my number and count the number of zeros in it, that counting would give me a number 77 digits long. Math is weird.
OP Here. I submitted this 6 months ago as a Show HN and thought I would try my luck again after adding a blog post last night about doing the same thing on AWS.
There's a blog post on the same site that talks about using https://github.com/in3rsha/bitcoin-utxo-dump. I'm running a pruned node, I use that lib to dump the address and balance to a csv and then I pull out the top 100 or so.