Zeeka saysPLONK uses one universal trusted setup for all circuits and adds custom gates plus a permutation argument for copy constraints — flexibility Groth16 lacks.
PLONK fixed Groth16's biggest annoyance: instead of a fresh ceremony per circuit, one universal setup serves them all. It also adds custom gates (encode complex operations in one gate) and uses a permutation argument to enforce copy constraints — the rule that the same wire value appears in multiple places.
The permutation argument reduces to a multiset-equality check: prove one vector of wire values is a permutation of another via a grand product that telescopes to 1 when the wiring is consistent. The demo runs that exact check, showing a genuine permutation passes while a single altered wire breaks the equality. PLONK's lineage (Halo2, plonky2) powers much of today's ZK.
Power-ups you unlock
One universal setup serves every circuit (no per-circuit ceremony)