This library was developed using the arkworks ecosystem to accompany WHIR 🌪️. By Gal Arnon Alessandro Chiesa, Giacomo Fenzi, and Eylon Yogev.
WARNING: This is an academic prototype and has not received careful code review. This implementation is NOT ready for production use.
cargo run --release -- --help
Usage: main [OPTIONS]
Options:
-t, --type <PROTOCOL_TYPE> [default: PCS]
-l, --security-level <SECURITY_LEVEL> [default: 100]
-p, --pow-bits <POW_BITS>
-d, --num-variables <NUM_VARIABLES> [default: 20]
-e, --evaluations <NUM_EVALUATIONS> [default: 1]
-r, --rate <RATE> [default: 1]
--reps <VERIFIER_REPETITIONS> [default: 1000]
-k, --fold <FOLDING_FACTOR> [default: 4]
--sec <SOUNDNESS_TYPE> [default: ConjectureList]
--fold_type <FOLD_OPTIMISATION> [default: ProverHelps]
-f, --field <FIELD> [default: Goldilocks2]
--hash <MERKLE_TREE> [default: Blake3]
-h, --help Print help
-V, --version Print version
Options:
-t
can be eitherPCS
orLDT
to run as a (multilinear) PCS or a LDT-l
sets the (overall) security level of the scheme-p
sets the number of PoW bits (used for the query-phase). PoW bits for proximity gaps are set automatically.-d
sets the number of variables of the scheme.-e
sets the number of evaluations to prove. Only meaningful in PCS mode.-r
sets the log_inv of the rate-k
sets the number of variables to fold at each iteration.--sec
sets the settings used to compute security. AvailableUniqueDecoding
,ProvableList
,ConjectureList
--fold_type
sets the settings used to compute folds. AvailableNaive
,ProverHelps
-f
sets the field used, available areGoldilocks2, Goldilocks3, Field192, Field256
.--hash
sets the hash used for the Merkle tree, available areSHA3
andBlake3