What breaks Ethereum
Foundational assumption

P ≠ NP

In plain words

Some puzzles are easy to check but seem very hard to solve. P ≠ NP says that gap is real. Nobody has proven it, but every cryptographic part of Ethereum bets on it.

The idea: Every scheme is arranged so that honest users only ever check things (is this signature valid? does this key open the file?), while an attacker has to find things (which key? which signature?). P ≠ NP is the bet that finding can be fundamentally harder than checking. Even that isn't enough on its own: cryptography needs puzzles that are hard almost every time you pick one at random, not just in rare worst cases, so the other boxes on the map are stronger, more specific bets.

Why it matters: If it were false, private keys could be found about as fast as signatures are checked.

The details

On the map: necessary, not sufficient

If every problem whose answer is easy to check were also easy to solve (P = NP), an attacker could find private keys about as fast as Ethereum nodes verify signatures, and every cryptographic assumption on this map would fall[1].

It is necessary but not sufficient: Ethereum's cryptography needs specific problems to be hard for randomly chosen instances, which is a much stronger statement[2]. Nobody has proven P ≠ NP. The general map explains it in more detail.

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.

Everything that falls with it (64 boxes)

References

  1. Clay Mathematics Institute. P vs NP. Millennium Prize Problems, 2000. claymath.org/millennium/p-vs-np
  2. R. Impagliazzo. A personal view of average-case complexity. Proceedings of Structure in Complexity Theory. Tenth Annual IEEE Conference, 1995. doi:10.1109/sct.1995.514853