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

Sources: Non-interactive zero-knowledge proof, Wikipedia

Updated October 7, 2026. All terms