Every crypto wallet has a private key. Most of us are told, rightfully, to guard this private key with our lives, because anyone who gets access to it will be able to take your hard-earned cash away.
This is how private keys look like for Bitcoin/BitcoinCash wallets:
KzvYyd4vZ94NyRdgAHFmgtVEFaGi7drgu94DjhCYEf51UqReb1Dp L5HRstY66Urp2VfwvqqASVwHQNJRUJuHg5p6BB46JxJfwccZ5cZV L4Wn4W1hDzzV6a1D9HYnwSBf1m1vzHMWJ6Y8gHT4igDnkwU2GcWK
All three of those wallet addresses are 52 characters each encompassing both the English alphabet and digits 0 to 9. Bitcoin (and all other cryptos) rely on the fact that each private key is completely new, never seen before and never to be seen again by anyone else. Bitcoin doesn’t check for collisions when you generate a new wallet address. But this raises the question, with the ever-increasing number of users that are adopting crypto and the fact that one person can have many wallets. What are the chances that your private key could either be guessed or collide with a newly generated wallet with the same address?
Well,
“There are more Bitcoin addresses than atoms in the universe.”
There are an estimate 10⁸² atoms in the observable universe. That includes all galaxies and blackholes in a 46.5 billion light year radius. Even though it sounds plausible that there are more Bitcoin addresses than atoms in the universe, after all 2¹⁶⁰ sounds larger than 10⁸², the statement is in fact very wrong. It just illustrates how bad the human brain is at imagining vast numbers.
There are ~ 6.8 *10³³ less Bitcoin addresses than atoms in the universe. But again, it is difficult to imagine how much less. Written in full, it might become a bit clearer: 6,842,277,657,836,020,854,119,773,355,907,794. But let’s face it, big numbers are hard to imagine.
To avoid being deceived when comparing large numbers it helps to express them on the same base: 2¹⁶⁰ =10^(log2)*160 ~10⁴⁸. Comparing the amount of Bitcoin addresses to the size of the universe does not really help to appreciate how large a number 2¹⁶⁰ really is.
In fact, as crypto adoption grows and potentially replaces fiat currency entirely, there will be a number of people who'd definitely think about the prospect of becoming a digital treasure hunter. Just trying address after address until they got to an account with potentially thousands of Bitcoin/ETH/etc. or maybe more!!!
What if these people were to create a database of all the possible Bitcoin/Bitcoin Cash addresses and then just start to pull out money from all of them one by one? To explain why this wouldn't be possible, all of the world's computers combined today would provide about 2.3 zettabytes of storage according to some estimates. 1 yottabyte = 1000 zettabytes. To store all Bitcoin/Bitcoin cash addresses you would require 5 yottabytes2 storage space. There isn't enough coal and gas on Earth to make the electricity that would store this database.
How safe is your bitcoin/bitcoin cash address?
The risk of someone finding the private key of a wallet which contains any Bitcoin will depend mainly on two things: how many wallets with bitcoin exist and how many wallets can be generated in a reasonable time.
In February 2020 there were a reported 615,463,205 Bitcoin addresses with a non-zero balance. Since there will only be a total of 21 million Bitcoins each consisting of 10⁸ satoshis, the absolute maximum of addresses that can contain any Bitcoin at the same time is 2.1*10¹⁵. This is about 29 million times more than addresses currently in use.
For the sake of argument let’s assume this worst-case scenario. The highest possible amount of Bitcoin addresses that can each contain 1 satoshi is 2.1*10¹⁵. This is 4392 times less than the amount of sand on earth.
It would take 4882 billion billion billion years for a 10% chance to find 1 specific key.
Now, lets see,
Brute-Forcing a Bitcoin/BitcoinCash Private Key: How Hard Is It?
Using a brute force attack to crack a private key is similar to counting to infinity: the sooner you start, the faster you'll never get there. Using a brute force attack to crack a bitcoin private key remains an attractive idea for many, despite the fact that it is as close to impossible as it gets.
For math geeks, key cracking is a question of statistical probability and for hopeless dreamers, a question of ambition. Long shots capture the imagination of simple mammalian minds, and for those who wish to rage against the odds, the lottery is a game for the faint of heart – the finest display of sheer dumb mathematical bravery is in trying to brute force Bitcoin.
A Coin-1's user initial reaction is a polite attempt to prevent anyone from going any further: “Let's see how long it takes you to crack a single Bitcoin address on your PC. You claimed to be able to process 9 million BTC addresses per second, i.e. approximately 223 BTC-addresses per second. Thus, the brute forcing will take 2160-23 = 2137seconds! I guess it is more than septillion (1024) years!”
On an ordinary computer, attempting to extract funds from a bitcoin/bitcoin cash wallet to which you didn’t have the key would be a fool’s errand.
Conclusion
I just wanted to show everyone how cool the Math behind cryptocurrency is and how while it may seem easy to imagine guessing a private key, it's a gargantuan task that not even the most powerful computers working together in the world today could think of pulling off and how unlikely it is to ever be possible.
The cryptography of Bitcoin is extremely strong. You can rest assured that if your Bitcoins are stored on a secure hardware wallet, the chances that they get stolen through a random guess of your private key is close zero.
It is practically impossible to guess/crack someone else’s wallet address even for the FBI.
If my article is helpful to you or you are interested, please send me a "LIKE👍"!
Feel free to leave your comments!
Thank you.
Resources:
Interesting article. I think I will have to read it once more to get a grasp of the same. Did you research this and wrote? Good job! :)