How 0x44-labs/rs-pbcp works
PBCP is a Rust library for proof-bound claims: an issuer configures a verifier and issues an authenticated, expiring challenge; a claimant supplies claims and mines a proof; the verifier checks the challenge and proof and can reject replayed challenges. Challenges can travel as pbcp:// URIs, while claims use canonical JSON bytes and proofs/challenges use CBOR bytes. The graph reflects documented API flow and sampled calls; replay-store backend details and some serialization paths are represented only where the README or excerpts support them.
Main entry points: prover.rs Prover · verifier.rs Verifier · challenge.rs Challenge model · proof.rs Proof
Components 14
Protocol API
- PBCP context
src/lib.rs
Challenges
- Challenge model
src/verifier/challenge.rs - Challenge URI
src/verifier/challenge.rs
Claims And Proofs
- Claims set
src/common/claims.rs - Prover
src/prover/prover.rs - Proof
src/prover/proof.rs - TraverseV engine
Verification And Replay
- Verifier
src/verifier/verifier.rs - Replay store
src/verifier/store.rs
Shared Formats
- Wire serialization
src/common/wire.rs - Work counter
src/common/counter.rs - Protocol errors
src/errors.rs
Other components
- Challenge issuer
- Claims claimant
Connections 23
- Challenge issuer → PBCP context: configures
src/lib.rs - PBCP context → Verifier: creates
src/lib.rs - PBCP context → Prover: creates
src/lib.rs - Challenge issuer → Verifier: issues challenge
README.md - Verifier → Challenge model: issues
src/verifier/verifier.rs - Challenge model → Challenge URI: serializes as
src/verifier/challenge.rs - Challenge URI → Claims claimant: delivers challenge
README.md - Claims claimant → Claims set: provides
README.md - Claims claimant → Prover: uses
- Prover → Challenge model: uses
src/prover/prover.rs - Prover → Claims set: serializes
src/prover/prover.rs - Prover → TraverseV engine: mines with
src/prover/prover.rs - Prover → Work counter: starts counter
src/prover/prover.rs - Prover → Proof: constructs
src/prover/prover.rs - Proof → Claims set: contains
src/prover/proof.rs - Proof → Challenge model: contains
src/prover/proof.rs - Proof → Wire serialization: encodes fields
src/prover/proof.rs - Verifier → Proof: verifies
src/verifier/verifier.rs - Verifier → Challenge model: authenticates
src/verifier/verifier.rs - Verifier → TraverseV engine: checks work
src/verifier/verifier.rs - Verifier → Replay store: checks replay
README.md - Challenge model → Wire serialization: encodes fields
src/verifier/challenge.rs - Claims set → Protocol errors: returns errors
src/common/claims.rs