https://github.com/nucypher/ferveo
An implementation of a DKG protocol forked from Anoma
https://github.com/nucypher/ferveo
Last synced: 12 months ago
JSON representation
An implementation of a DKG protocol forked from Anoma
- Host: GitHub
- URL: https://github.com/nucypher/ferveo
- Owner: nucypher
- License: gpl-3.0
- Fork: true (anoma/ferveo)
- Created: 2022-10-21T09:18:00.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-06-11T15:00:48.000Z (about 1 year ago)
- Last Synced: 2025-06-11T15:15:08.808Z (about 1 year ago)
- Language: Rust
- Homepage: https://nucypher.github.io/ferveo/benchmarks/perf/tpke/index.html
- Size: 2.07 MB
- Stars: 6
- Watchers: 2
- Forks: 11
- Open Issues: 39
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Ferveo

_This project is under active development. For questions, please join us at [Threshold Network Discord](https://discord.com/invite/threshold&ved=2ahUKEwivucaW2Y3-AhXiwosKHQCEAKUQFnoECA0QAQ&usg=AOvVaw08x-9JYJFDcd6PEOx0xAeg)_
---
A synchronous Distributed Key Generation protocol for front-running protection on public blockchains.
## About
The distributed key generated by Ferveo can be input into a compatible threshold encryption/decryption or a threshold
signature protocol. Ferveo distributes the shared private key by relative staking weight and relies on an underlying
blockchain for synchonicity.
## Security Warning
This library is under development and has not been reviewed, audited, or prepared for use.
## Documentation
Documentation can be found [here](book/).
It is recommended to use [mdbook](https://rust-lang.github.io/mdBook/) to render the docs. Run `mdbook serve` in
the `book` folder.
A preprint paper describing the construction of Ferveo and the novel cryptosystems used is available at
[IACR](https://eprint.iacr.org/2022/898).
## Build
A Rust toolchain with version `>= 1.67.0` is required. In the future, Ferveo will target the `stable` toolchain.
Installation via [rustup](https://rustup.rs/) is recommended.
Run `cargo build --release` to build.
Please note that performance may be significantly poorer when compiling in `Debug` mode.
## Testing
Run `cargo test --no-default-features --release` to run tests. Please note that performance may be significantly poorer when testing
in `Debug` mode.
## Benchmarks
Run `cargo bench --benches` to run benchmarks. Benchmark report is available in the `target/criterion/report` folder.