# What is a STARK?

A STARK is a zero-knowledge proof built from hash functions alone. It needs no trusted setup and no elliptic curves, so it is expected to hold up against quantum computers.

Also called zk-STARK or scalable transparent argument of knowledge.

## How a STARK works

- The computation is written down as a table of steps.
- Each column is stretched into a polynomial, so any mistake in the table shows up almost everywhere.
- Everything is sealed in a Merkle tree of hashes.
- The verifier checks a few random spots against the tree, and blinding makes those spots reveal nothing about the inputs.

## STARKs and SNARKs

SNARKs such as Groth16 have very small proofs, need a trusted setup and rest on elliptic curves. STARKs have larger proofs, need no setup and rest on the hash, which is what the T for transparent stands for.

## In Redacted

In bunker mode, every spend from your private balance is proved with a STARK whose only cryptographic building block is SHA-256, with no trusted setup.

More: [Bunker mode](https://redacted.gg/docs/using-redacted/bunker-mode.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.
- [zk-SNARK](https://redacted.gg/glossary/zk-snark.md): 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.
- [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.
- [Hash function](https://redacted.gg/glossary/hash-function.md): A hash function turns any input into a short fingerprint of fixed size. The same input always gives the same fingerprint, and nobody can work back from it or find two inputs that share one.
- [Merkle tree](https://redacted.gg/glossary/merkle-tree.md): A Merkle tree fingerprints a long list with one short value, the root, so that anyone can prove an item is in the list with a handful of hashes instead of the whole list.

Sources: [Scalable, transparent, and post-quantum secure computational integrity, Ben-Sasson et al., 2018](https://eprint.iacr.org/2018/046)
---

Page: https://redacted.gg/glossary/stark/
