The NuCypher organization is no longer active and will not continue development or maintenance of this code base. The code remains available for reference and historical purposes, but no updates, fixes, or support should be expected.
The original TACo project is expected to be forked and relaunched by the World Ethical Data Forum (WEDF) in the latter half of 2026, supported by a coalition of node operators drawn from organizations with deep experience in privacy advocacy, anti-surveillance technologies, human rights, encryption, whistleblower protection, and academic research.
For questions, please join us at TACo Discord
A synchronous Distributed Key Generation protocol for front-running protection on public blockchains.
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.
This library is under development and has not been reviewed, audited, or prepared for use.
Documentation can be found here.
It is recommended to use 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.
A Rust toolchain with version >= 1.87.0 is required. In the future, Ferveo will target the stable toolchain.
Installation via rustup is recommended.
Run cargo build --no-default-features --release to build.
Please note that performance may be significantly poorer when compiling in Debug mode.
Be sure to run cargo fmt --all locally before committing your changes. This will ensure that the code is formatted
according to the project's style guidelines.
Run cargo test --no-default-features --release to run tests. Please note that performance may be significantly poorer when testing
in Debug mode.
Run cargo bench --benches --no-default-features to run benchmarks. Benchmark report is available in the target/criterion/report folder.
NOTE: Benchmarks are optional (the benchmark CI job is disabled) and take quite some time (~10 mins)
This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.
This software may be subject to the U.S. Export Administration Regulations (EAR), including ECCN 5D002, which covers information security software using or performing cryptographic functions with asymmetric algorithms. The source code is publicly available and is intended to qualify for treatment under EAR §742.15 and §734.3(b)(3).
The project maintainers have submitted notification of this source code to:
The maintainers make no representation regarding your ability to import, export, or use this software in compliance with the laws of your jurisdiction. Users are responsible for complying with all applicable laws and regulations.