reviewers: @David Rusu 🟢
“cl” Folder
“zone_layer” Folder
“ledger” Folder
“ledger_proof_statements” Folder
“ledger_validity_proof” Folder
“risc0_proofs” Folder
How These Libraries Interact
cl
as the Coordination Layer:
- Defines the primitives (e.g., notes, transactions, Merkle trees) and the logic for constructing commitments and nullifiers.
- Provides building blocks for constructing proofs.
ledger
as the Validation Layer:
- Uses the primitives from
cl
to define zone-specific ledger states and validate transactions.
- Manages proofs for partial transactions, constraints, and bundles.
ledger_proof_statements
as the Proof Interface:
- Bridges between raw data (e.g., transaction inputs and outputs) and proofs by defining public and private proof structures.
- Serves as the schema for the zkVM's proof generation and verification.
ledger_validity_proof
as the Proof Generator:
- Implements the zk proof generation logic using RISC Zero.
- Verifies that all constraints are satisfied before committing the ledger state.
risc0_proofs
as the Cryptographic Backbone:
- Handles zk proof generation and verification for specific operations like bundles, constraints, and transactions.
- Provides optimized and succinct proofs for ledger operations.