P vs. NP is the question of whether every problem whose solution can be verified quickly can also be solved quickly.

P: problems solvable in polynomial time. NP: problems where solutions can be verified in polynomial time. NP-complete: the hardest problems in NP.

If P = NP, most of cryptography breaks. RSA depends on factoring being hard to solve (NP) but easy to verify (P-ish). If they're equal, you can solve it as fast as you can verify it.

The consensus is P ≠ NP, but it's unproven. It may be unprovable within standard mathematics. The difficulty of the problem is itself interesting — we can't even characterize the gap between checking and solving.

See: relational-model, @bob / go-concurrency-patterns