https://github.com/anoma/ferveo
An implementation of a DKG protocol for front-running protection on Anoma.
https://github.com/anoma/ferveo
anoma blockchain decentralization front-running rust
Last synced: 11 months ago
JSON representation
An implementation of a DKG protocol for front-running protection on Anoma.
- Host: GitHub
- URL: https://github.com/anoma/ferveo
- Owner: anoma
- License: gpl-3.0
- Created: 2020-12-17T12:18:45.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-02-22T13:24:16.000Z (over 3 years ago)
- Last Synced: 2023-08-04T05:44:36.717Z (almost 3 years ago)
- Topics: anoma, blockchain, decentralization, front-running, rust
- Language: Rust
- Homepage: https://anoma.net
- Size: 621 KB
- Stars: 74
- Watchers: 27
- Forks: 19
- Open Issues: 33
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Ferveo

# Ferveo
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.53.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 --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.