The ZKProof Community Reference, version 0.3, is dated July 17, 2022. Daniel Benarroch, Luís Brandão, Mary Maller and Eran Tromer edited it, and the ZKProof community wrote it as a handbook on zero-knowledge proofs that its authors call a work in progress. A proof can meet every formal property its designers claim and still certify the wrong statement. Each guarantee attaches to a precisely defined relation, and the path from that relation to a real predicate such as adulthood or a maintenance rule runs through definitions, compilers, encodings and data sources that carry assumptions of their own.
A proof of membership shows that an instance belongs to a language. A proof of knowledge shows that the prover holds a witness supporting the statement. Knowledge is defined through extraction, so a system earns the label when an extractor in an ideal simulation world can recover the witness from a successful prover. Zero knowledge is defined through an efficient simulator that produces convincing proofs without the witness, which limits leakage to what an attacker could already learn from other sources. Completeness, soundness, knowledge and zero knowledge therefore become separate obligations. A specification must also state its setup assumptions and whether a proof can be shown onward to third parties.
An information-theoretic proof system is secure under idealized assumptions about interaction and about the powers of the parties. A cryptographic compiler enforces those assumptions with simpler building blocks such as collision-resistant hashes or homomorphic commitments. After that step, security depends on the hardness assumptions behind those primitives and typically holds against computationally bounded adversaries. Some compilers instead replace one ideal model with a finer one, so the final instantiation can still depend on a heuristic. The reference presents this as one decomposition for tracing where each assumption enters, and its sections on specialized proofs and proof composition are still placeholders awaiting contributions. Arithmetization forms a further layer, and the implementation chapter shows how much can go wrong there.
A frontend compiles a high-level statement into a low-level relation such as an R1CS constraint system, with separate reductions that carry the instance and the witness into backend variables. Values become field elements, and field addition stops matching integer addition when a sum overflows. A cheating prover need not use the intended encodings, so a variable meant to hold a bit can hold any field element unless a constraint pins it to zero or one. The backend will then soundly prove the constraint system exactly as written. Interoperability inherits the problem. Two implementations can share a protocol, a constraint system and compatible backends and still fail together if their instance reductions differ, producing valid proofs that do not verify or false proofs that do. For that reason, shared semantics for statements and their reductions carry more weight than a compatible file format. The chapter's generic interface is explicitly marked incomplete and describes an intended direction, without the status of an adopted standard.
In the identity framework, Alice holds age and residency attributes attested by two issuers. She shows a verifier a range proof that she is over 18 and a set-membership proof that her country belongs to the European Union, without handing over either credential. The reference's comparison of holder identifiers shows what those proofs leave untouched. A single PRF-based public key, whether a federal authority onboards it or the holder derives it, hides physical identity, yet colluding issuers can link different credentials issued to it. Pairwise identifiers are generated fresh for each interaction, and the holder links a new one to an old one with a zero-knowledge proof when returning to an earlier issuer. Colluding issuers lose the ability to link that holder's credentials. Unlinkability is a property of identifier design, and the verifier still trusts issuers to attest truthfully.
Fabricated inputs are the compliance material's final concern. A correct computation over invented records establishes nothing about the world. The reference therefore asks that inputs be committed by parties separate from the prover and unlikely to collude with it, and it uses a ledger to anchor these hiding commitments. In its aircraft example, the operator proves several things. It knows the decommitment of the current plane record. That record is in the published set and absent from the nullifiers that retire superseded records. The plane identifier is the same across the part records. For each part, either a range proof shows mileage below the replacement threshold or a technician's signed record shows the part was replaced. The proof establishes that the committed attestations satisfy the maintenance rule, while airworthiness still depends on mechanics who reported truthfully. Its short closing section folds asset transfer and regulation back into the identity framework and names external oracles such as blockchains for storing commitments.
The reference expects comfort with game-based cryptographic definitions and with constraint-system implementation detail. It describes the field as its contributors saw it in mid 2022, with proposed figures and several sections still open for contribution. The ZKProof Community Reference, version 0.3 PDF is released by ZKProof and its four editors under the Creative Commons Attribution 4.0 license, which requires attribution.
