# Archetype x zkSecurity - Proof is in the Pudding: Groth16

- **Authors**: ZK/SEC
- **Date**: July 23, 2026
- **Tags**: educative, zk, groth16

For the 10th session of Proof is in the Pudding, we tackled **Groth16**. It's nearly ten years old and still one of the most widely used proof systems out there: 128-byte proofs, constant-size verification, deployments everywhere.

> [!TIP] Prefer reading?
> This session is the video companion to [Groth16, Intuitively](https://blog.zksecurity.xyz/posts/groth16/), the written version with all the equations spelled out. Pick whichever format you prefer, or use both.

We started with why Groth16 is still used and the downsides that come with it, then recapped the arithmetization and turned a pile of R1CS constraints into a single polynomial identity, with vanishing polynomials and the Schwartz-Zippel lemma explaining why checking at one random point is enough. From there we looked at why the protocol needs pairings (you have to multiply two hidden commitments, and nothing else will do it), how random linear combinations stop the prover from using a different witness in each place, and how the CRS acts as a set of Lego pieces where the separating factors gamma and delta restrict which pieces can be snapped together. We finished by enforcing the quotient polynomial, merging the separate checks into the final equation, and enforcing public inputs.

If you enjoy this video, check out our previous episodes:

- [Session 01: Arithmetization](https://blog.zksecurity.xyz/posts/arithmetization/) - Introduction to converting logical statements into arithmetic circuits
- [Session 02: zkTLS](https://blog.zksecurity.xyz/posts/zktls/) - Exploring zero-knowledge TLS and secure oracles
- [Session 03: How to Prove False Statements](https://blog.zksecurity.xyz/posts/pudding3/) - Fiat-Shamir security and the GKR protocol
- [Session 04: Proofs On A Leash](https://blog.zksecurity.xyz/posts/greyhound/) - Introduction to post-quantum lattice-based SNARKs with Greyhound
- [Session 05: Trust, But Measure](https://blog.zksecurity.xyz/posts/pudding-4-TEEs/) - Introduction to Trusted Execution Environments with Intel TDX
- [Session 06: Introduction to Data Availability Sampling](https://blog.zksecurity.xyz/posts/pudding-6-DA/) - How rollups and Ethereum's DA system work
- [Session 07: The Other Dark Forest](https://blog.zksecurity.xyz/posts/pudding-7-offchain-pks/) - Offchain public keys with zkLogin, ZK Email, and ZKPassport
- [Session 08: Privacy in Payment Networks](https://blog.zksecurity.xyz/posts/pudding-8-privacy/) - From E-Cash and Monero to Zcash and Zether
- [Session 09: ZK on Bitcoin](https://blog.zksecurity.xyz/posts/pudding-9-zk-bitcoin/) - Verifying ZK proofs on Bitcoin, from MPC approaches to BitVM

Have a topic you'd like us to cover in a future session? Let us know on [Twitter/X](https://x.com/zksecurityXYZ)!

---

This article was published on the [ZK/SEC Quarterly](https://blog.zksecurity.xyz) blog by [ZK Security](https://www.zksecurity.xyz), a leading security firm specialized in zero-knowledge proofs, MPC, FHE, and advanced cryptography. ZK Security has audited some of the most critical ZK systems in production, discovered vulnerabilities in major protocols including Aleo, Solana, and Halo2, and built open-source tools like [Clean](https://github.com/Verified-zkEVM/clean) for formally verified ZK circuits. For more articles, see the [full list of posts](https://blog.zksecurity.xyz/llms.txt).
