Blocky saysZK proofs (SNARKs, STARKs) prove a statement is true without revealing the underlying data.
A zero-knowledge proof lets a prover convince a verifier that "I know X / this computation is correct" without revealing X. SNARKs are small and fast to verify but often need a trusted setup; STARKs need no trusted setup and are quantum-resistant but larger. Beyond rollups, ZK enables private transactions and selective disclosure. The math is deep; the property is powerful.
Power-ups you unlock
Prove truth without revealing the data
SNARKs: small, fast, trusted setup
STARKs: no setup, quantum-resistant, larger
Powers rollups + privacy + selective disclosure
Double-Spend Dan attacks — common mistakes
Assuming ZK always means private (it can be just succinct)
Ignoring trusted-setup assumptions of some SNARKs
Underestimating proving cost/complexity
Boss battleState what a verifier learns and doesn’t learn from a ZK proof.
Example code
<!doctype html><html><head><meta charset="utf-8"></head>
<body style="background:#06040d;color:#e6e0ff;font-family:monospace;padding:20px"><pre>prover: "this batch is valid" (or "I know the password")
verifier: convinced TRUE — learns nothing else
SNARK (setup) vs STARK (no setup)</pre></body></html>