# 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.

More: [Security and upgrades](https://redacted.gg/docs/protocol/security.md)

## Related terms

- [Zero-knowledge proof](https://redacted.gg/glossary/zero-knowledge-proof.md): A 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 ceremony](https://redacted.gg/glossary/trusted-setup.md): A 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 pool](https://redacted.gg/glossary/shielded-pool.md): A 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](https://en.wikipedia.org/wiki/Non-interactive_zero-knowledge_proof)
---

Page: https://redacted.gg/glossary/zk-snark/
