commonware-vrf

Crates.iocommonware-vrf
lib.rscommonware-vrf
version
sourcesrc
created_at2024-08-28 04:47:53.273186
updated_at2024-12-09 23:19:05.07656
descriptionGenerate bias-resistant randomness with untrusted contributors using commonware-cryptography and commonware-p2p.
homepagehttps://commonware.xyz
repositoryhttps://github.com/commonwarexyz/monorepo/tree/main/examples/vrf
max_upload_size
id1354123
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Patrick O'Grady (patrick-ogrady)

documentation

https://docs.rs/commonware-vrf

README

commonware-vrf

Crates.io Docs.rs

Generate bias-resistant randomness with untrusted contributors using commonware-cryptography and commonware-p2p.

Usage (3 of 4 Threshold)

Arbiter

cargo run --release -- --me 0@3000 --participants 0,1,2,3,4 --contributors 1,2,3,4

Contributor 1

cargo run --release -- --bootstrappers 0@127.0.0.1:3000 --me 1@3001 --participants 0,1,2,3,4  --arbiter 0 --contributors 1,2,3,4

Contributor 2

cargo run --release -- --bootstrappers 0@127.0.0.1:3000 --me 2@3002 --participants 0,1,2,3,4  --arbiter 0 --contributors 1,2,3,4

Contributor 3

cargo run --release -- --bootstrappers 0@127.0.0.1:3000 --me 3@3003 --participants 0,1,2,3,4  --arbiter 0 --contributors 1,2,3,4

Contributor 4 (Rogue)

Send invalid shares to other contributors.

cargo run --release -- --rogue --bootstrappers 0@127.0.0.1:3000 --me 4@3004 --participants 0,1,2,3,4 --arbiter 0 --contributors 1,2,3,4 

Contributor 4 (Lazy)

Only share t-1 shares. Post one share to arbiter to ensure commitment isn't dropped.

cargo run --release -- --lazy --bootstrappers 0@127.0.0.1:3000 --me 4@3004 --participants 0,1,2,3,4 --arbiter 0 --contributors 1,2,3,4 

Contributor 4 (Lazy + Defiant)

Only share t-1 shares. Don't post any requested shares to arbiter (commitment will be dropped).

cargo run --release -- --lazy --defiant --bootstrappers 0@127.0.0.1:3000 --me 4@3004 --participants 0,1,2,3,4 --arbiter 0 --contributors 1,2,3,4 
Commit count: 0

cargo fmt