Following our update on research done to find a replacement PoW algorithm, this topic is to discuss the applicability of Equihash to Nano's use-case, that is, spam prevention.
Equihash has two parameters to tune (n,k), which control the length and number of collisions that must be found. As outlined in the article, we are looking to have the lowest value possible for k, resulting in a smaller proof and easier validation (2^k hashes are required to validate a proof).
The reference implementation for a k=4 configuration I found is a (125,4) parameter configuration from ZelCash - ZelHash:
- Single-threaded CPU implementation https://github.com/zelcash/zelcash/blob/master/src/crypto/equihash.cpp
- OpenCL reference miner https://github.com/zelcash/ZelHash-reference-miner
However, this implementation is only used by that coin in particular, as far as I know.
Another interesting take on Equihash is BeamHash II, which introduces the EquihashR family to have the algorithm favor more memory operations than hashing, thus reducing energy consumption.
To discuss other algorithms please create additional topics.