What breaks Ethereum
Foundational assumption

Good randomness

In plain words

Every Ethereum key starts as random numbers. If those numbers are guessable, so is the key.

The idea: A private key is a random 256-bit number, so an attacker would have to search about 10^77 possibilities. That only holds if every key was equally likely. Profanity's vanity addresses started from just 2^32 (about 4 billion) seeds, a number computers can run through, so attackers could recompute the keys. The math was never broken. The dice were loaded.

Why it matters: Weak randomness has let attackers recompute keys and steal funds without breaking any math.

The details

On the map: key generation and nonces: Profanity's weak vanity-address seeds let attackers drain Wintermute (~$160M, 2022)

Private keys and signing nonces must be unpredictable. Weak randomness has caused some of the largest losses in the ecosystem, without any of the underlying mathematics being broken.

Even unconditional schemes like Shamir secret sharing are only as strong as their randomness.

Rests on

If any of these breaks, this breaks too.

Nothing below it on the map: this is a starting point that the rest builds on.

If it falls

If this breaks, these break with it.

References

  1. 1inch. A vulnerability disclosed in Profanity, an Ethereum vanity address tool. 1inch blog, 2022. blog.1inch.io/a-vulnerability-disclosed-in-profanity-an-ethereum-vanity-address-tool
  2. Joachim Breitner and Nadia Heninger. Biased Nonce Sense: Lattice Attacks Against Weak ECDSA Signatures in Cryptocurrencies. Financial Cryptography and Data Security, 2019. doi:10.1007/978-3-030-32101-7_1