Groth16 vs PLONK: Which Proving System Reigns Supreme in zk-Rollup Development?
In 2026, Ethereum developers face a critical decision when building zk-rollups: which proving system to use. Groth16 and PLONK are two prominent options, each with its strengths and weaknesses. The choice between them can significantly impact the performance, security, and scalability of a project.
Groth16 is a compact, general-purpose zk-SNARK proving system that remains one of the smallest in production use despite being introduced in 2016. Its proofs are always exactly three elliptic-curve group elements, resulting in a fixed size of around 192 bytes on the BLS12-381 curve and 128 bytes on BN254. However, Groth16 requires a circuit-specific trusted setup, which can be fragile and time-consuming to manage.
PLONK, introduced in 2019, offers a universal, updatable structured reference string (SRS) that can serve any circuit up to a fixed size. This decouples the expensive ceremony from day-to-day work, making it more practical for projects with evolving circuits. PLONK's proofs are larger than Groth16's, typically around 576 bytes, but offer greater flexibility and reusability.
The choice between Groth16 and PLONK depends on a project's specific needs and trade-offs. While Groth16 excels in proof size and simplicity, PLONK's universal setup makes it more adaptable to changing circuits. The decision is critical, as the wrong choice can result in permanent gas-cost taxes or lock a protocol into re-running expensive ceremonies.