Proof Composition
zkMIPS enables developers to implement recursive proof verification through its innovative proof composition system, allowing cryptographic proofs to be nested within zkVM programs. This architecture supports aggregation of multiple proofs while maintaining compatibility with zkMIPS's verification framework.
Key Use Cases
Proof composition enables developers to verify existing proofs within new ones.Typical use cases include:
-
Privacy-Preserving Computation
-
Confidential Data Processing
Execute distributed computations on private data pieces while generating unified proofs.
-
​Cryptographic Proofs
Verify encrypted values without decryption (e.g., zero-knowledge encryption proofs, digital signatures, homomorphic encryption).
-
-
Proof Aggregation
-
Cross-chain Verification
Combine proofs from multiple chains into one (e.g., Ethereum).
-
​Rollup Optimization
Compress numerous transaction proofs into a single batch proof.
-
-
Modular Program Architecture
-
Maintainability
Update modules without recomputing entire workflow.
-
Pipeline Proof/Verification
Split computational tasks into independent sub-proofs and execute them concurrently to optimize proving efficiency.
-
Core Components
zkMIPS's proofs are packaged into an object called a receipt. Composition allows users to verify a receipt inside a zkVM program. The result is a proof that a given receipt was verified. Key components include:
-
Assumption
Describes an assertion requiring proof verification.
-
Receipt Claim
Receipt statement, used to identify the receipt, containing program image ID and public inputs/outputs (SHA-256 commitment).
-
Inner Receipt
Base proof container, including STARK proof, public values and receipt claim.
-
Assumption Receipt
Conditional proof with pending dependencies on other claims.
-
Composite Receipt
Recursively verified proof bundle containing multiple verification layers.
-
Final Recipt
Final verification artifact with all assumptions resolved.
Implementation Workflow
Proof Generation Process
-
Base Proof Generation
Generates STARK proof for nested guest program, derives initial inner receipt.
-
Recursive Composition
Recursive STARK aggregation of the main program, using inner/composite receipts as inputs.
-
Final Receipt
Combine all inner receipts and composite receipts.
Verification Process
- Validate main proof's STARK constraints (composite receipt verification).
- Recursively verify all assumption proofs (inner receipt validation).
- Check SHA-256 commitment consistency across all receipt claims.