Applications

Zcash: the first production deployment

Zcash launched on mainnet on October 28, 2016, and remains the headline example of zk-SNARKs used in production at scale. Its shielded transactions use a zk-SNARK to prove a transaction is valid — the sender has enough balance, no coins are created or destroyed, no note is spent twice — without revealing the sender, receiver, or amount. One of the original authors of the term “SNARK” itself, Alessandro Chiesa, later co-founded Zcash — see History for that line.

Zcash’s zk-SNARKs are built on constructions in the same family as Groth16, the construction whose “exactly 3 group elements” proof size is the homepage’s headline fact — Zcash proofs stay small and fast to verify regardless of how complex the shielded transaction logic gets, which is exactly the Succinctness property this site’s own demo doesn’t attempt to show (see what a zk-SNARK is).

zk-rollups: a general fact, not a deep dive

Several Ethereum Layer-2 networks — commonly called zk-rollups — use zk-SNARKs, or the related zk-STARK construction, to prove that a batch of transactions was processed correctly, without every node on the base chain needing to re-execute each transaction individually. This site deliberately doesn’t go into the specifics of any particular rollup’s architecture — that’s a topic broad and fast-moving enough to deserve its own dedicated site, not a subsection here. The general shape worth taking away: the same “succinct proof, cheap to verify, regardless of how much computation it attests to” property that makes a Groth16 proof 3 group elements is exactly what makes proving an entire batch of transactions at once, instead of re-running each one, worthwhile.


Sources: Zcash mainnet launch date and shielded-transaction mechanism are widely documented; see Further reading for the original zk-SNARK papers these applications build on.