Brute Force Bitcoin

Blog

The Speed Problem

A laptop tries a hundred thousand keys a second. A data centre tries more. Here is why no amount of hardware gets the wait below the age of the universe.

When you press Start, the board starts one worker for every processor core your device has and runs them flat out. On a recent laptop that is around a hundred thousand keys a second. It sounds like a lot. It is the wrong kind of a lot.

How the expected wait is worked out

If each key has a chance p of hitting, and you try r keys a second, you expect your first hit after 1 ÷ (p × r) seconds. The board divides that by the number of seconds in a year.

At 100,000 keys a second, with a chance per key of 1 in 1.2 × 1042, that comes to about 1.2 × 1037 seconds, which is 3.6 × 1029 years. The universe is 13.8 billion years old, so the wait is about 26 billion billion times the age of the universe. That is the "Ages of the universe" box.

Faster hardware

  1. 1 year Start here
  2. 80 years A long human life
  3. 5,000 years All of recorded history
  4. 1,000,000 years A million years
  5. 1,000,000,000 years A billion years
  6. 13.8 billion years The age of the universe
  7. 3.6 × 1013 years Every Bitcoin miner on Earth, if a key cost them one hashwaiting for one hit
  8. 100 trillion years Until the last stars burn out, roughly
  9. 3.6 × 1016 years A billion graphics cardswaiting for one hit
  10. 4.4 × 1019 years Everyone alive, each running this pagewaiting for one hit
  11. 3.6 × 1025 years One high-end graphics cardwaiting for one hit
  12. 3.6 × 1029 years This page, at your speedwaiting for one hit
Every step down the page is ten times longer than the one before it. The waits are for one hit at the board’s chance per key; yours moves with your speed.

The miners’ line is generous to the point of fiction. The machines that secure Bitcoin together run somewhere around 1021 hashes a second, but they can only do one thing, and turning a key into an address costs far more work than a hash. Even granting them the impossible, the wait is about 2,600 times the age of the universe.

What physics says

There is a famous argument about counting. In Applied Cryptography, Bruce Schneier worked out the least energy any computer could spend flipping one bit, and found that the sun's entire output for 32 years would only let an ideal computer count to about 2192. A supernova would get it to about 2219. Counting through all 2256 keys is not an engineering problem. It is out of reach of the energy available.

To be fair to the guesser: finding one of a million funded addresses does not mean counting through every key. It takes about 2140 tries, which physics does not forbid. It is forbidden only by every computer that exists, and every computer anyone has a plan to build.

Why speed does not matter

Every doubling of speed halves the wait. You would need to double it about 98 times to bring a laptop's wait down to a single year. The board's numbers move when you press Start, and they move in the right direction. They just start so far away that the movement does not show.

Next: Could Two People Get The Same Key?