Expand description
Proof of Verifiable Work (PoVW) implementation.
This crate provides Merkle tree-based data structures for tracking and proving work completed during ZK proof generation. The main components include:
WorkSet: Top-level container for multiple work logsWorkLog: Collection of jobs within a single prover’s work logJob: Representation of a range of used nonces in a job (i.e. a single continuation)Bitmap: 256-bit bitmap for efficient nonce tracking
The implementation uses Merkle trees to enable efficient proofs of inclusion and non-inclusion for nonces, supporting the PoVW system’s requirement to prevent double-counting of work.
Modules§
- guest
guest - Log Builder guest program types, for verifying PoVW log updates.
- prover
prover - Prover functionality, for running the work log builder.
Structs§
- Bitmap
- 256-bit bitmap for tracking used nonces within PoVW jobs.
- Job
- Representation of a range of used nonces in a job (i.e. a single continuation).
- Opening
- Merkle opening proof for inclusion/non-inclusion of a nonce in a Merkleized structure.
- Povw
JobId - Globally unique identifier for a proving job.
- Povw
Nonce - A 256-bit unique nonce for Proof of Verifiable Work.
- Subtree
Opening - Subtree opening proof for a specific level in a Merkleized structure.
- WorkLog
- Collection of jobs within a single prover’s work log.
- WorkSet
- Top-level container for multiple work logs in the PoVW system.
Enums§
- Error
- Error types for the RISC Zero PoVW crate.
Traits§
- Merkleized
- Trait for data structures that can be committed to using Merkle trees.
- Merkleized
Index - Trait for types that can be used as indices in Merkleized data structures.
Type Aliases§
- Povw
LogId - A 160-bit identifier for a PoVW work log.