dusk-network / dusk-blindbidproof

Implementation of Dusk Network privacy-oriented PoS protocol, aka Proof of Blind Bid

Home Page:https://github.com/dusk-network/dusk-blindbidproof/blob/master/docs/blind-bid-protocol.pdf

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dusk Blind Bid Proof

Build Status Repository Documentation

This tool Implements the Blind Bid Protocol, and includes a zkproof prover and verifier that can be used in a separate process from any other languages and platform that support *nix named pipes.

The named pipes are used for better performance in interprocess comunication.

It uses a custom, multithreaded version of dalek's bulletproofs in order to make the "fastest Bulletproofs implementation" even faster:

(On Intel® Core™ i7-8559U Processor, lower is better)

How to build

# avx-2 requires RUSTFLAGS="-C target_feature=+avx2"
$ cargo build --release

How to run

The zkproof prover and verifier process can run as follow:

$ cargo run --release

Or simply run the static executable once build.

How to test the IPC

The IPC can be tested via Go as follow:

$ cd go
$ go test -timeout 300s gitlab.dusk.network/dusk-core/blindbidproof/go -run "^(TestProveVerify)\$" -count 1

As as the benchmark:

$  cd go
$  go test -benchmem -run=^\$ gitlab.dusk.network/dusk-core/blindbidproof/go -bench "^(BenchmarkProveVerify)\$" -v

About

Implementation of Dusk Network privacy-oriented PoS protocol, aka Proof of Blind Bid

https://github.com/dusk-network/dusk-blindbidproof/blob/master/docs/blind-bid-protocol.pdf


Languages

Language:Rust 91.8%Language:Makefile 7.1%Language:Shell 1.2%