Skip to content

v0.6.0: Proof Composition Support

Choose a tag to compare

@garyrob garyrob released this 19 Aug 15:18
· 2 commits to main since this release

πŸŽ‰ Release v0.6.0: Proof Composition Support

Major Features

πŸ”— Full Proof Composition

  • ExecutorEnv class: Build execution environments with assumptions for proof composition
  • prove_with_env() function: Generate proofs with custom environments containing assumptions
  • Assumption-based recursion: One zkVM guest can now verify proofs from another efficiently
  • Lazy verification: Assumptions are verified when the final proof is generated

πŸ“š Documentation

  • Comprehensive Proof Composition Guide: Added detailed section to README explaining:
    • How composition works conceptually
    • Complete working examples with full code
    • Critical implementation details
    • Advanced patterns and use cases
    • Performance and security considerations
    • Troubleshooting guide

🧹 Code Quality Improvements

  • Production-ready demos: Removed all debug markers and placeholder code
  • Clean test suite: Added composition test to comprehensive test runner
  • No shortcuts: All test and demo code now production-quality with no misleading fallbacks

πŸ“ Example Usage

# Create environment with inner proof as assumption
env = pyr0.ExecutorEnv()
env.add_assumption(inner_receipt)

# Add input data for outer guest
env.write(expected_data)
env.write(inner_image_id)

# Generate composed proof
outer_receipt = pyr0.prove_with_env(outer_image, env)

# Single verification proves both computations!
outer_receipt.verify_hex(outer_image_id)

πŸš€ Use Cases Enabled

  • Multi-step computations: Break complex algorithms into verifiable steps
  • Privacy-preserving pipelines: Different parties prove different parts
  • Modular verification: Build libraries of verified components
  • Proof aggregation: Combine multiple proofs into one

⚠️ Note

This is an experimental alpha release (v0.6.0) currently targeting Apple Silicon (M1/M2/M3) Macs only.

πŸ™ Acknowledgments

Built on RISC Zero's powerful zkVM and assumption-based recursion model.


πŸ€– Generated with Claude Code