A minimal demonstration of IBC light client verification with zero-knowledge proofs.
This project demonstrates:
- Tendermint header verification using a Rust light client
- Zero-knowledge proof generation using Groth16 (arkworks)
- On-chain proof verification via CosmWasm contract
ibc-light-client/- Core light client logiczk-circuit/- Zero-knowledge circuit implementationcli/- Command-line interface for proof generationcosmwasm-verifier/- CosmWasm contract for proof verification
# Build the project
cargo build --release
# Run demo
cargo run --bin ibc-mini demo
# Generate proof for specific height
cargo run --bin ibc-mini prove --height 1000┌────────────┐ ┌─────────────┐ ┌───────────┐
│ Tendermint │ RPC │ Rust Light │ π │ CosmWasm │
│ Full Node │───► │ Client │───► │ Verifier │
└────────────┘ └─────────────┘ └───────────┘
Note: This is a portfolio demonstration project, not production-ready code.