Home

zkSNARKs

zkSNARKs are a class of cryptographic proof systems that allow a prover to convince a verifier that a secret witness satisfying a computation exists, without revealing the witness, and with a proof that is short and quick to verify. The acronym stands for zero-knowledge Succinct Non-Interactive Argument of Knowledge. They are zero-knowledge, meaning no information about the witness leaks; succinct, yielding small proofs and fast verification; non-interactive, requiring only a public setup to check proofs; and an argument of knowledge, meaning a valid witness is presumed to exist for the statement.

In practice, the computation is encoded as a circuit or algebraic constraint system. A trusted setup produces

zkSNARKs enable privacy-preserving applications such as shielded transactions in blockchains (for example, Zcash) and verifiable outsourced

Limitations include the need for a trusted setup in most constructions; a setup compromise can undermine security.

a
proving
key
and
a
verification
key.
The
prover
uses
the
witness
and
the
proving
key
to
generate
a
short
proof;
the
verifier
uses
the
verification
key
to
validate
the
proof
in
time
largely
independent
of
the
circuit
size.
computation.
They
are
also
used
in
privacy-preserving
identity
and
data
processing.
The
main
advantage
is
small
proofs
and
fast
verification,
which
reduces
on-chain
data
and
bandwidth
needs.
Circuit
design
and
proving
can
be
computationally
intensive,
and
some
schemes
rely
on
elliptic-curve
assumptions
that
may
be
vulnerable
to
quantum
attacks.
Researchers
are
exploring
transparent
SNARKs
and
post-quantum
variants,
but
these
approaches
involve
trade-offs.