The Large Bitcoin Collider (LBC), perhaps nicknamed after the Large Hadron Collider (LHC) which is the most powerful particle accelerator in the world, is a project which aims to brute force Bitcoin private keys. It all started when Bitcointalk user Rico666 became fixated with building the most optimal program to generate Bitcoin private keys in July 2016. At first, the program was able to generate 2 million keys per second and simultaneously compare them to all of the Bitcoin addresses which contained funds at the time, and if a match occurred the program would display a found message.
By August, Rico666 decided that this technique of attempting to brute force Bitcoin private keys via rapid generation would be far more efficient if users pooled their resources, and this was when the LBC was truly born. This concept is similar to a mining pool, where users aggregate their mining power in order to have a better chance at striking a block reward.
Users not only aggregated their computing processing power for the LBC, but they also combined their brainpower to make the LBC program as efficient as possible. Now the LBC is consistently generating 300-500 million private keys per second, although a Twitter post from 2017 shows that the LBC once reached a speed of 2,656 million keys per second.
TIL Large Bitcoin Collider-distributed effort to find collision of private keys by creating addresses checked against known address with funds. In event of collision funds become accessible. Speed 2.6Gkeys/s https://t.co/5FobzoD5nYhttps://t.co/j4SCEEj05Vhttps://t.co/IwJN2lewye pic.twitter.com/Ux3PGNvWku
— Bitcoin Art Gallery (@btcArtGallery) November 7, 2017
After almost 3 years of generating keys 24/7, the LBC has cumulatively generated 37.646 quadrillion private keys, or in long-form 37,646,390,000,000 private keys.
This is indeed a tremendous amount of Bitcoin private keys, but this number is only an iota of the total possible Bitcoin private keys. There are a total of 2^256 possible Bitcoin private keys, many orders of magnitude more than the 2^77.4 total number of stars in the universe, although less than 10^78 to 10^82 — the total number of atoms in the universe. If the total number of atoms in the universe is towards the bottom of that range, that means there is 1 Bitcoin address for every 10 atoms in the universe, which is mind-boggling considering that a cluster of 10 atoms can only be seen with the most powerful microscopes. Now imagine that there are enough Bitcoin private keys to fill each microscopic piece of the entire universe.
Simultaneously, since generating a Bitcoin address involves the combustion of far more than 10 atoms of fuel, this means it is physically impossible to generate all of the possible Bitcoin private keys. That being said, the LBC’s primary goal is to generate a single Bitcoin address that has funds in it, not to generate all possible Bitcoin private keys.
Specifically, the LBC is aiming to find a hash collision. Hash collisions are possible because there are 2^160 possible Bitcoin public addresses, but 2^256 Bitcoin private keys. This means for every Bitcoin public address there are 2^96 possible private keys. If a Bitcoin user creates a public address with a certain private key, and then the LBC generates a different private key that has access to the same public address, it would be considered a hash collision.
The LBC is designed to search the first 2^160 Bitcoin private keys, which would yield all possible Bitcoin addresses assuming that the 2^96 possible private keys for each address are evenly distributed throughout the 2^256 total possible private keys.
So far the LBC has covered the first 2^55.06 out of the 2^160 total search space. It becomes exponentially harder to search each consecutive bit of the search space. At a rate of 300 million keys per second, it would take approximately 1.545 * 10^32 years to generate the 2^160 keys.
Once again, the goal of the LBC is to find a single hash collision, not all of the possible Bitcoin addresses, and it is estimated it would require the generation of 2^134.58 keys for a single collision to be found. However, that would still take roughly 3.44*10^24 years, far beyond the point that the sun becomes a red giant and engulfs the Earth, and perhaps even approaching the heat death of the universe.
One final note is that there are only 26.69 million Bitcoin addresses with a balance greater than zero, as compared to the 2^160 total possible Bitcoin addresses. This fact alone reveals the strong cryptographic security of Bitcoin, and why trying to brute force a Bitcoin address by randomly generating keys is probably a waste of time.
The Large Bitcoin Collider Is Generating Trillions of Keys https://t.co/8VBNE5F2UA
— Josh Olszewicz (@CarpeNoctom) April 14, 2017
That being said, the LBC does have all the excitement of a never-ending lottery where hundreds of millions of tickets are scratched off every second. This is especially true considering that a ‘puzzle transaction‘ totaling 32.9 bitcoins worth USD 321,000 was dispersed across each bit of the LBC’s search space, and the prize increases consecutively by 0.01 bitcoin for each consecutive bit of search space. This puzzle transaction is perhaps intended to motivate Bitcoiners to create the fastest brute force program possible, and indeed blockchain data seems to indicate that other programs are competing with the LBC to capture the puzzle transactions.
Ultimately, it appears the LBC project has definitively proven that Bitcoin’s cryptographic security is impregnable. Even a group of hackers who spent months developing the most efficient program to brute force Bitcoin private keys, and then have pooled their computing resources together for years, appear to have literally zero chance of ever achieving their goal of finding a legitimate non-puzzle transaction Bitcoin address containing a single satoshi.
Image Courtesy: Pixabay