The last lesson showed how Lagrange interpolation folds an entire circuit into a single polynomial. That raises an obvious follow-up question: if a prover hands a verifier that polynomial and claims it represents a valid computation, how does the verifier check it without reading every single term? The answer is one of the most useful tricks in all of cryptography — the Schwartz-Zippel lemma.
Can two polynomials look almost the same?
Start with a strange-sounding question: can two completely different polynomials still sneak up on each other at a few spots? Take and — as shapes, a straight line and a curve, about as different as two polynomials can look. And yet they land on the exact same value at two points.
Everywhere else on the graph, the line and the curve are somewhere completely different. That narrow, limited overlap is exactly the behavior this lesson explains.
The core rule
A single fact from algebra accounts for that limited overlap, and it applies to any pair of polynomials, not just this one example:
It can never have more roots than its degree — not two roots on a degree-1 polynomial, not five roots on a degree-3 one.
Why the graph only crosses twice
That rule confirms exactly what Fig. 1 showed. Turn the two curves into a single polynomial by subtracting one from the other, then look at where that difference hits zero.
That difference is zero exactly at and — the two points where the line and the curve actually meet. It’s a degree-2 polynomial, so it can have at most two roots, which means and can agree in at most two places. The graph isn’t being generous; it’s obeying the rule.
The Schwartz-Zippel lemma
Two matching points out of the whole number line isn’t very reassuring by itself. The real power shows up once this scales from a tiny graph up to an enormous field — which is exactly what the lemma formalizes.
If two different degree- polynomials are compared at one random point, the chance that point happens to be one of their (at most ) shared roots is bounded by divided by the size of the field.
Putting numbers on it
“Vanishingly small” is easy to say and hard to feel. Plugging in the field sizes real ZK systems actually use makes the probability concrete.
A degree-2 polynomial, checked over a field of roughly elements, gives a false-match probability far below any risk worth worrying about — smaller than the odds of picking out one specific atom in the entire observable universe.
Why this matters for ZK
That probability is exactly what lets a ZK verifier take a shortcut instead of doing the full amount of work.
Instead of reading a polynomial that could run to millions of terms, the verifier evaluates both sides at a single random point and compares. Thanks to the numbers from Fig. 3, that isn’t really a gamble at all — this is the soundness argument underneath Groth16, PLONK, and STARKs, the same shortcut this lesson just built from a line and a curve.