Generated Groth16 artifacts for MuriData's zero-knowledge proof system.
These files are produced by muri-zkproof and consumed by:
- muri-contracts — imports verifier contracts (e.g.
poi/poi_verifier.sol) as a Foundry submodule. - muri-node / prover infrastructure — uses proving and verifying keys for standard PoI proof generation and off-chain verification.
Artifacts are organized per-circuit. Core circuits include Standard PoI, FSP (File Size Proof), and Key Leak:
muri-artifacts/
├── poi/
│ ├── poi_verifier.sol # Solidity Groth16 verifier contract (~26 KB)
│ ├── poi_verifier.key # Verifying key, public (~492 B, Git LFS)
│ └── poi_prover.key # Proving key, keep private in prod (~65 MB, Git LFS)
├── fsp/ # File Size Proof verifier artifacts
├── keyleak/ # Key Leak PLONK verifier artifacts
└── .gitattributes # *.key filter=lfs
From the muri-zkproof repository:
# Dev mode (single-party, NOT for production)
go run ./cmd/compile poi dev
# Production (MPC ceremony)
go run ./cmd/compile poi ceremony ...Then copy the three output files into the appropriate circuit subdirectory (e.g. poi/) and commit. Downstream consumers update by bumping their submodule pin:
cd muri-contracts
git submodule update --remote lib/muri-artifacts- Generate artifacts in
muri-zkprooffor the new circuit. - Create a new subdirectory here (e.g.
keyknowledge/). - Copy the
*_verifier.sol,*_prover.key, and*_verifier.keyfiles into it. - Commit and push — key files are automatically tracked by Git LFS via
.gitattributes.
Proving keys are included here for development convenience. In production, distribute proving keys securely to prover infrastructure only — do not expose them publicly.