The Evolution of SNARKs: Interactive Proofs to Groth16

This post is a high-level recap of the foundational ideas that led to the first practical zk-SNARKs. There’s a lot to cover, and so this post focuses on the developments leading up to the introduction of the Groth16 SNARK. Groth16 feels like a good milestone: it was one of the first SNARKs used in practice, and its small proofs and fast verification are still, largely, unmatched today.