A zk-SNARK works by turning a computational claim, such as "I know a valid witness that satisfies this circuit," into a set of polynomial equations that can be checked at a single random point rather than verified step by step. This compression is what makes the proof "succinct": a verifier only performs a handful of elliptic-curve pairing operations, so checking a proof takes milliseconds even if the underlying computation involved thousands of steps.
Most zk-SNARK schemes require a trusted setup ceremony, a one-time process that generates public parameters used to build and check every future proof. Participants contribute randomness and must destroy their portion afterward; if even one participant is honest, the setup is secure, but a fully compromised ceremony could theoretically allow fake proofs. This is the main tradeoff against the newer zk-STARK format, which avoids any trusted setup at the cost of larger proof sizes.
In practice, zk-SNARKs power two very different use cases. Zcash pioneered them for shielded transactions, proving a transfer is valid, properly funded, and not double-spent, without revealing the sender, receiver, or amount. Separately, zk-Rollups use zk-SNARKs to bundle thousands of Layer-2 transactions into one compact proof submitted to the base chain, cutting gas costs while inheriting the base chain's security.
The technique builds on the broader concept of a zero-knowledge proof, adding succinctness and non-interactivity so proofs can be generated once and verified independently by anyone, without further contact between prover and verifier.