This repository provides zero-knowledge circuits and tooling for a Distributed Key Generation (DKG) protocol.
Warning: The code has not been audited and should not be used in production systems.
curl -L https://sp1.succinct.xyz | bash
PATH="$PATH:~/.sp1/bin"
sp1up
make test
to run single test
make test ARGS='--filter text_to_match'
cargo build --release --features auth_commitment
Monitor and track detailed instruction counts for performance regression testing:
# Create a baseline of current instruction counts
make gen-perf-baseline
# Compare current instruction counts against baseline
make perf-compare
This runs all examples and provides granular comparison of:
- Total opcode counts - Overall instruction count
- Individual opcodes - Breakdown by instruction type (add, sw, lw, mul, etc.)
- Total syscall counts - Cryptographic operation counts
- Individual syscalls - Breakdown by syscall type (bls12381_fp_mul, sha_compress, etc.)
Useful for detecting performance regressions and understanding optimization impacts on specific instruction types.
make gen-spec
./target/release/dkg_prover_host --input-file input_file.json --type share
For more information:
./target/release/dkg_prover_host --help
Demonstrates that some participants have sent an incorrect share.
Confirms that the DKG algorithm has completed successfully.
Shows that certain participants provided an invalid final share, though the algorithm can't conclude.
Reveals that some participants have sent improperly encrypted data that is either incorrect or malicious, violating the algorithm's invariants.
make install-git-hooks