v0.0.3 - Merkle ZKP Demo (Pre-Alpha)
Pre-releasev0.0.3 - Merkle ZKP Demo (Pre-Alpha)
🎉 What's New
Zero-Knowledge Merkle Proofs
- Complete Merkle ZKP implementation equivalent to Noir 2LA circuits
- Prove membership in a Merkle tree WITHOUT revealing which leaf you are
- Full demo showing privacy-preserving authentication
- RISC Zero guest program for proof generation and verification
Improved Serialization
- Added raw_bytes() function for cleaner data passing to guest programs
- Better integration between Python and RISC Zero zkVM
Documentation & Testing
- Comprehensive demo: merkle_zkp_demo.py with educational output
- Test suite: test/test_merkle_zkp.py for verification
- Detailed README for Merkle ZKP functionality
📦 Installation
Prerequisites
- Apple Silicon Mac (M1/M2/M3)
- Python 3.8+
- Rust toolchain
- uv package manager
Quick Start
Clone and install
git clone https://github.com/garyrob/PyR0.git
cd PyR0
uv sync
uv tool run maturin build --release
uv pip install --force-reinstall target/wheels/PyR0-*-macosx_11_0_arm64.whl
For Merkle demos (optional)
cd merkle
uv tool run maturin build --release
cd ..
uv pip install --force-reinstall target/wheels/merkle_py-*-macosx_11_0_arm64.whl
Install RISC Zero toolchain for demos
cargo install cargo-risczero
cargo risczero install
🚀 Try the New Demo
Run the Merkle ZKP demo
uv run python demo/merkle_zkp_demo.py
This demonstrates:
- Building a Merkle tree with multiple user commitments
- Proving you're in the tree without revealing which user
- Zero-knowledge proof generation and verification
📝 What's Changed
- Added demo/merkle_zkp_demo.py - Complete ZKP demonstration
- Added demo/merkle_proof_guest/ - RISC Zero guest program
- Added src/pyr0/serialization.py::raw_bytes() - New serialization function
- Updated version to 0.0.3 throughout project
- Fixed serialization format for RISC Zero guest programs
🐛 Known Issues
- Experimental API - Interfaces may change in future versions
- Platform Limited - Apple Silicon Macs only (Intel/Linux/Windows planned)
- Build Time - First build takes ~5 minutes to compile RISC Zero
- Toolchain Required - RISC Zero toolchain needed for building guest programs
📚 Documentation
- README.md - Getting started guide
- demo/MERKLE_ZKP_README.md - Details on the new ZKP functionality
- CLAUDE.md - Development notes
🔮 Next Steps
Future releases may include:
- Additional platform support
- More ZKP circuit examples
- Performance optimizations
- Distributed proving support
🙏 Acknowledgments
This release includes significant new functionality for zero-knowledge proofs, building on the original
PyR0 foundation by L2 Iterative.
Full Changelog: https://github.com/garyrob/PyR0/commits/v0.0.3