|0.1.0||Jul 9, 2020|
|0.0.0||Jun 26, 2020|
#772 in Magic Beans
2,462 downloads per month
Used in 6 crates (via zcash_primitives)
This repository contains a (work-in-progress) set of Rust crates for working with Zcash.
These libraries are currently under development and have not been fully-reviewed.
All code in this workspace is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Equihash is a Proof-of-Work algorithm, based on a generalization of the Birthday problem which finds colliding hash values. It was designed to be memory-hard; more specifically, the bottle-neck for parallel implementations of Equihash solvers would be memory bandwidth.
This crate implements Equihash as specified for the Zcash consensus rules. It can
verify solutions for any valid
(n, k) parameters, as long as the row indices are no
larger than 32 bits (that is,
ceiling(((n / (k + 1)) + 1) / 8) <= 4).
- Section 7.6.1: Equihash. Zcash Protocol Specification, version 2020.1.10 or later.
- Alex Biryukov and Dmitry Khovratovich. Equihash: Asymmetric Proof-of-Work Based on the Generalized Birthday Problem. NDSS ’16.