#zero-knowledge #cryptography #zkproof

bin+lib zkinterface_bellman

Bellman circuit construction and proving system for zkInterface

4 stable releases

1.3.2 Oct 21, 2020
1.3.0 Oct 18, 2020
1.2.1 Oct 18, 2020
1.2.0 Oct 4, 2020

#84 in #zero-knowledge

MIT license

39KB
721 lines

zkInterface Bellman adapter

More on zkInterface: https://github.com/QED-it/zkinterface

More on Bellman: https://github.com/zcash/librustzcash

Usage

Bellman prover.

Validate that the witness satisfies the constraints:

zkif_bellman validate

Print the circuit in a text-form:

zkif_bellman print

Generate public parameters:

zkif_bellman setup <workspace>

Generate a proof using the public parameters:

zkif_bellman prove <workspace>

The circuit and witness are read from stdin in zkInterface format. The filenames of keys and proofs are derived from the workspace argument; defaults to the current directory.

Example:

Create a proving key:

cat src/demo_import_from_zokrates/messages/*.zkif | cargo run --release setup

Create a proof:

cat src/demo_import_from_zokrates/messages/*.zkif | cargo run --release prove

Dependencies

~7.5MB
~149K SLoC

_