Skip to content

zk-proofs (Zero-Knowledge Proofs)

Overview

Zero-Knowledge Proofs (ZKP) enable one party to prove to another that a statement is true without revealing any other information. ZKP benefits both privacy -- by reducing the amount of information shared between parties -- and scalability, since only the proof rather than the entire dataset needs to be verified.

Zero-knowledge proofs originated from the 1985 paper "The knowledge complexity of interactive proof systems" by Goldwasser, Micali, and Rackoff, which introduced the concepts of completeness, soundness, and zero-knowledge.

Core Properties

Three Key Properties: 1. Completeness: If the statement is true, an honest verifier will be convinced by an honest prover 2. Soundness: If the statement is false, no dishonest prover can convince an honest verifier 3. Zero-Knowledge: If the statement is true, the verifier learns nothing other than that the statement is true

Main Types

Interactive vs Non-Interactive: - Interactive Zero-Knowledge Proofs: The prover and verifier need multiple rounds of interactive communication to generate a proof for verification - Non-Interactive Zero-Knowledge Proofs (NIZK): The prover directly sends a proof, and the verifier can verify its correctness directly

Limitations of Interactive Proofs: - Can only convince a single verifier, while NIZK can convince multiple verifiers, even everyone - Only valid at the moment of interaction, while NIZK remains valid indefinitely

Use Cases

  1. Privacy Protection: Hiding transaction amounts and participant identities in blockchain transactions
  2. Identity Verification: Proving identity without revealing personal information
  3. Scalability: Layer 2 solutions compressing on-chain data through zero-knowledge proofs
  4. Compliance: Meeting regulatory requirements while protecting privacy
  • zkSNARK
  • zkSTARK
  • Interactive Proofs
  • Non-Interactive Proofs
  • Fiat-Shamir Transform