{
  "schema_version": "1.0.0",
  "rubric_version": "1.0",
  "license": "CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)",
  "record": {
    "id": "K-0010",
    "slug": "zero-knowledge-proof",
    "title": "Zero-knowledge proof",
    "aliases": [
      "ZKP",
      "zkSNARK",
      "SNARK"
    ],
    "status": "draft",
    "last_reviewed": "2026-09-23",
    "review_interval_days": 90,
    "steward": null,
    "provenance": {
      "drafted_by": "ai",
      "reviewed_by": []
    },
    "risk_flags": [],
    "flags": [],
    "one_liner": "A cryptographic protocol by which a prover convinces a verifier that a statement is true while revealing nothing beyond the fact that it is true.",
    "sources": [
      {
        "source": "S-1600",
        "supports": "NIST definition of zero-knowledge proof",
        "locator": "term: zero_knowledge_proof (NISTIR 8301)"
      },
      {
        "source": "S-1606",
        "supports": "completeness, soundness and zero knowledge; instance and witness; proofs sound against unbounded provers vs arguments sound against bounded provers; SNARK as succinct non-interactive argument of knowledge",
        "locator": "pp. 1–2; p. 21"
      },
      {
        "source": "S-0023",
        "supports": "one-time weight commitment and per-query proof; LLaMa-2-13B forward pass of 2,048 tokens proved in 803 s on one A100 GPU with a 188 kB proof; fixed-point approximation",
        "locator": "abstract; §3; §8, Table 1"
      },
      {
        "source": "S-0025",
        "supports": "recent analyses judge ZK verification of frontier training currently impractical; authors argue this is not fundamental and propose an architecture",
        "locator": "abstract"
      }
    ],
    "related": [
      "K-0024",
      "K-0001",
      "K-0002"
    ],
    "type": "concept",
    "url": "https://trustbutveri.fyi/concepts/zero-knowledge-proof/",
    "source_file": "content/concepts/zero-knowledge-proof.md",
    "flags_all": [
      "ai-drafted"
    ],
    "body_markdown": "A zero-knowledge proof (ZKP) is a cryptographic protocol by which a [[K-0001|prover]] convinces a [[K-0002|verifier]] that a statement is true without revealing any more information than that fact [[S-1600]].\n\nIt has three properties:\n- **Completeness.** If the statement is true and both parties follow the protocol, the verifier accepts [[S-1606]].\n- **Soundness.** If the statement is false, a verifier that follows the protocol is not convinced [[S-1606]].\n- **Zero knowledge.** If the statement is true and the prover follows the protocol, the verifier learns no confidential information beyond the fact that the statement is true [[S-1606]].\n\nThe statement combines a public instance, known to both parties, with a private witness known only to the prover [[S-1606]]. Strictly, a proof must be sound even against a computationally unbounded prover; an argument, such as a SNARK (succinct non-interactive argument of knowledge), need only be sound against bounded ones [[S-1606]]. In [[M-0004|zero-knowledge proofs of inference]] the witness is the model's weights: the prover publishes a [[K-0024|commitment]] to them once, then proves for each query that the output equals the committed model applied to the input [[S-0023]]. zkLLM proved one 2,048-token forward pass of LLaMa-2-13B in 803 seconds on one A100 GPU, producing a 188 kB proof of a fixed-point approximation of the model [[S-0023]]. For [[M-0005|zero-knowledge proofs of training constraints]], a 2026 proposal notes that governance analyses judge such proofs currently impractical at frontier scale, and argues that this limit is not fundamental [[S-0025]].",
    "body_text": "A zero-knowledge proof (ZKP) is a cryptographic protocol by which a prover convinces a verifier that a statement is true without revealing any more information than that fact [S-1600]. It has three properties: - Completeness. If the statement is true and both parties follow the protocol, the verifier accepts [S-1606]. - Soundness. If the statement is false, a verifier that follows the protocol is not convinced [S-1606]. - Zero knowledge. If the statement is true and the prover follows the protocol, the verifier learns no confidential information beyond the fact that the statement is true [S-1606]. The statement combines a public instance, known to both parties, with a private witness known only to the prover [S-1606]. Strictly, a proof must be sound even against a computationally unbounded prover; an argument, such as a SNARK (succinct non-interactive argument of knowledge), need only be sound against bounded ones [S-1606]. In zero-knowledge proofs of inference the witness is the model's weights: the prover publishes a commitment to them once, then proves for each query that the output equals the committed model applied to the input [S-0023]. zkLLM proved one 2,048-token forward pass of LLaMa-2-13B in 803 seconds on one A100 GPU, producing a 188 kB proof of a fixed-point approximation of the model [S-0023]. For zero-knowledge proofs of training constraints, a 2026 proposal notes that governance analyses judge such proofs currently impractical at frontier scale, and argues that this limit is not fundamental [S-0025].",
    "referenced_by": [
      {
        "id": "M-0025",
        "title": "Confidential multi-party verification",
        "url": "https://trustbutveri.fyi/mechanisms/confidential-multi-party-verification/"
      },
      {
        "id": "M-0004",
        "title": "Zero-knowledge proofs of inference",
        "url": "https://trustbutveri.fyi/mechanisms/zk-proofs-of-inference/"
      },
      {
        "id": "M-0005",
        "title": "Zero-knowledge proofs of training constraints",
        "url": "https://trustbutveri.fyi/mechanisms/zk-proofs-of-training-constraints/"
      },
      {
        "id": "I-0005",
        "title": "Attestable zero-knowledge inference prover",
        "url": "https://trustbutveri.fyi/implementations/attestable-zk-inference/"
      },
      {
        "id": "I-0012",
        "title": "Low-trust AI compute verification system overview",
        "url": "https://trustbutveri.fyi/implementations/low-trust-compute-verification-system-overview/"
      },
      {
        "id": "I-0003",
        "title": "zkLLM",
        "url": "https://trustbutveri.fyi/implementations/zkllm/"
      },
      {
        "id": "C-0005",
        "title": "The declared model is the one being served",
        "url": "https://trustbutveri.fyi/claims/declared-model-is-served/"
      },
      {
        "id": "C-0007",
        "title": "A training run stayed within declared limits",
        "url": "https://trustbutveri.fyi/claims/training-within-declared-limits/"
      },
      {
        "id": "K-0024",
        "title": "Cryptographic commitment",
        "url": "https://trustbutveri.fyi/concepts/cryptographic-commitment/"
      }
    ]
  }
}