Skip to main content
what are zksnarks
Blockchains

What are zk-SNARKs

Explore What are zk-SNARKs - key concepts, limitations, and risks.

Archived article · Original source date: 2024-08-04

This article is preserved from the previous Solana Bulls site as a historical archive. It reflects its original context; references to products, people, market conditions, eligibility, or rules may no longer be current.


The name describes the main properties: zero knowledge limits what the proof reveals; succinct proofs are small and fast to verify; non-interactive verification needs one proof rather than a live challenge-response exchange; and an argument of knowledge relies on computational security assumptions.

From a computation to a proof

Developers encode the statement to be proven as a circuit or constraint system. The prover supplies public inputs and a private witness, then runs the proving algorithm to produce a proof. The verifier checks that proof against the public inputs and verification key.

A valid proof means the encoded constraints were satisfied under the proving system's assumptions. It does not establish facts that the circuit never checked, and a circuit or integration bug can faithfully prove the wrong rule.

Setup and proof-system differences

Some SNARK families require a trusted or universal setup; others use transparent or different preprocessing models. Proof size, prover memory and time, verifier cost, recursion support, field choice, post-quantum properties, and tooling vary substantially. The label zk-SNARK does not identify one universal algorithm.

Zero knowledge is not encryption

Zero knowledge limits what a proof reveals about its witness. It does not encrypt every input, output, transaction, database, network request, or public identifier. Homomorphic encryption is a separate family of techniques and is not a required component of every zk-SNARK.

Blockchain uses

Applications use SNARKs for rollup validity proofs, private-attribute checks, membership proofs, authorization, and other verifiable computations. In a rollup, a settlement contract can verify a proof for an off-chain state transition without re-executing the complete batch.

Risks and review questions

  • Was the intended statement encoded correctly and independently audited?
  • What setup, cryptographic, and soundness assumptions apply?
  • Who controls circuit, verifier, parameter, or contract upgrades?
  • Can users obtain the data needed to reconstruct state or exit?
  • What information remains public through inputs, outputs, timing, and application metadata?

Solana context

A Solana program can participate in an application-specific proof system when the required verifier and compute model are supported. zk-SNARKs are not Solana's consensus algorithm and do not automatically make ordinary Solana transactions private.

For a concrete validity-proof workflow, see the Ethereum ZK-rollup documentation and verify the exact proving system used by the application.