What is a zk-SNARK?
A zk-SNARK is a zero-knowledge proof that is small, quick to verify and needs only one message from the prover, which is why blockchains can check them inside a smart contract.
What the letters mean
- Zero-knowledge: the proof reveals nothing beyond the statement it proves.
- Succinct: the proof stays small and fast to check, however large the computation behind it.
- Non-interactive: the prover sends one proof, with no back-and-forth.
- Argument of knowledge: the prover must actually know the secret inputs, not just claim to.
Where they are used
Zcash brought zk-SNARKs to payments when it launched in 2016. Today they secure private transfers, rollups and identity systems. Common SNARK systems such as Groth16 and PLONK need a one-time trusted setup to create their parameters.
In Redacted
Redacted uses Groth16, a widely used zk-SNARK, over the BN254 curve. A proof is about 200 bytes and verifies in a fixed, small amount of math, which is what lets the contract check every action on-chain.
Security and upgrades →Related terms
Zero-knowledge proofA zero-knowledge proof lets someone prove that a statement is true without revealing anything else, for example that they own funds and may spend them, without showing which funds or who they are.Trusted setup ceremonyA trusted setup ceremony creates the public parameters that some zero-knowledge proof systems need. Each participant adds secret randomness and destroys it, and the result is safe as long as at least one participant was honest.Shielded poolA shielded pool holds funds as private notes inside a smart contract. Deposits and withdrawals are public, but what happens inside is proved with zero-knowledge proofs and does not reveal who owns what.
Sources: Non-interactive zero-knowledge proof, Wikipedia
Updated October 7, 2026. All terms