Skip to content

v0.0.3 - Merkle ZKP Demo (Pre-Alpha)

Pre-release
Pre-release

Choose a tag to compare

@garyrob garyrob released this 11 Aug 17:25
· 12 commits to main since this release

v0.0.3 - Merkle ZKP Demo (Pre-Alpha)

⚠️ Experimental Pre-Alpha Release - Apple Silicon Only

🎉 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