Specifications map
These pages descend from the whole protocol into its components. The long-form mirrors preserve upstream draft material for study alongside the Dyne implementation. They are not rewritten as independent standards.
Read in this order
- Architecture gives the compact implementation map.
- libzk draft mirror defines the complete construction, notation, transcript, fields, circuit relation, prover, and verifier.
- Sumcheck explains the layered circuit argument and its transcript constraints.
- Ligero defines commitments, Merkle openings, low-degree tests, and linear/quadratic constraint checks.
- Test vectors provide concrete encodings for Merkle, Fiat–Shamir, circuits, sumcheck, Ligero, and the combined protocol.
- LFC2 specifies Dyne's compact circuit-storage format and compatibility boundary.
Source and status
The mirrored algorithm pages come from vendor/longfellow-zk/docs/specs/ at the upstream submodule revision pinned by this repository. The libzk document identifies itself as draft-google-cfrg-libzk-01, dated 24 July 2025. Internet-Drafts are working documents, not final standards; consult the IETF Datatracker for publication status and newer revisions.
Normative implementation records
The specification describes algorithms. The following local records constrain this distribution's artifacts and maintenance:
- 0.x ABI policy
- Package boundary
- Compiler pass ownership
- Production qualification
- C++20 migration measurements
When prose and executable compatibility vectors disagree, stop the release and resolve the versioning decision explicitly. Do not regenerate reviewed vectors to make a changed implementation appear compatible.