How big is 16⁴⁰, really?
Numbers past a certain size stop meaning anything on their own. They need something to stand next to. Here’s what 16⁴⁰ (2¹⁶⁰) stands next to.
log scale · each tick is 10× the last
Ethereum has had 383,380,000 unique addresses in its entire history. The keyspace is about 3.8 × 10³⁹ times that number. Every address ever used by every person who has ever touched Ethereum is a rounding error against the space the 31 Dead Ringers are hiding in.
And the keyspace itself is roughly 1.1% of the number of atoms making up the entire planet you’re reading this on. Not a metaphor. The same order of magnitude, off by less than two places.
So how long would it actually take? A real, published benchmark for generating and checking Ethereum addresses on a single high-end GPU: 1 × 10⁹ addresses a second. Here’s how long it would take to check every address in the keyspace at that rate, at a million times that rate, and at a billion times that rate, next to the age of the universe.
log scale · each tick is 10× the last
Even a billion GPUs (far more than exist) would still take about 3.4 × 10¹² times the age of the universe to check the full keyspace. Compute isn’t the constraint here. Reality is.
You’re not actually searching for one specific address out of 16⁴⁰, though. You’re hoping to hit any one of the 31 Dead Ringers. The expected number of tries before landing on one of them is the keyspace divided by 31: about 4.7 × 10⁴⁶. Smaller than the full keyspace. Still, for all practical purposes, the same number.
Here’s a stranger fact than the size. Ethereum private keys are 256 bits. Addresses are 160 bits: the last 20 bytes of the Keccak-256 hash of the public key. By the pigeonhole principle, 2²⁵⁶ keys mapping onto 2¹⁶⁰ addresses means each address, on average, has 2⁹⁶, about 7.92 × 10²⁸, different private keys that would all open it. Including each Dead Ringer. There was never going to be one true key. Only ever a number too large to write out, of them.
Sources
Ethereum unique addresses: etherscan.io/chart/address
GPU address-generation rate (profanity2, CUDA): github.com/1inch/profanity2
Earth’s atom count: standard estimate via Earth’s mass and average atomic composition, ~1.33 × 10⁵⁰.
Age of the universe: standard cosmological estimate, ~13.8 billion years.