5 unstable releases

new 0.2.2 Mar 5, 2025
0.2.1 Feb 21, 2025
0.2.0 Jun 24, 2022
0.1.0 Jul 9, 2020
0.0.0 Jun 26, 2020

#253 in Magic Beans

Download history 2477/week @ 2024-11-18 2164/week @ 2024-11-25 2674/week @ 2024-12-02 2614/week @ 2024-12-09 2300/week @ 2024-12-16 948/week @ 2024-12-23 1172/week @ 2024-12-30 1969/week @ 2025-01-06 4089/week @ 2025-01-13 3581/week @ 2025-01-20 4672/week @ 2025-01-27 4247/week @ 2025-02-03 5387/week @ 2025-02-10 3800/week @ 2025-02-17 3770/week @ 2025-02-24 5052/week @ 2025-03-03

18,227 downloads per month
Used in 31 crates (4 directly)

MIT/Apache

125KB
2.5K SLoC

Rust 1.5K SLoC // 0.1% comments C 620 SLoC // 0.1% comments

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).

References

Dependencies

~495–680KB
~11K SLoC