A zk-SNARK — Zero-Knowledge Succinct Non-interactive ARgument of Knowledge — lets someone prove they know a secret satisfying some statement, without revealing the secret, and without the person checking the proof having to redo the work. The idea traces back to Goldwasser, Micali, and Rackoff’s 1985 definition of a zero-knowledge proof; the term “SNARK” itself was coined by Bitansky, Canetti, Chiesa, and Tromer in 2011–2012 — see History for the full line.
Here’s a fact worth sitting with: a Groth16 proof — one of the most widely deployed zk-SNARK constructions — is exactly 3 group elements, roughly 128 bytes, and checking it costs one equation with 3 pairings. That doesn’t change whether the statement being proven involved 10 operations or 10 million. That’s the “Succinct” in SNARK, and it’s the single most surprising thing about this whole area — see Applications for where Groth16 and its cousin PLONK actually get used.
This site does not attempt to implement a full zk-SNARK in your browser — see what a zk-SNARK is for exactly why that’s out of scope, and what a working interactive demo can honestly show instead. What it can show, and does below: a real proof of knowledge of a secret, generated and checked entirely in your browser, with nothing sent anywhere.
Ready — secp256k1, the same curve wired up on pedersen.foundation.
Public key y = x·G
This is the only thing that ever gets published. x itself is never sent anywhere — check the network tab if you don't believe it.
No message from a verifier is involved in this step — that's the "non-interactive" part.
Proof: R = k·G, then s = k + c·x mod q
More on Interactive, including proving with a wrong secret and verifying a tampered proof to watch both get rejected.
What this site covers
- What is a zk-SNARK — the four letters, one at a time, and an upfront, honest scoping of what this site’s own demo will and won’t demonstrate.
- How it works — a real, working proof-of-knowledge scheme (Schnorr identification, made non-interactive via Fiat–Shamir), plus a conceptual — not implemented — sketch of how that idea scales up to a full SNARK.
- History, Applications, Glossary, and Further reading for the surrounding context and citations.