Equihash is a memory-hardProof-of-work algorithm introduced by theUniversity of Luxembourg's Interdisciplinary Centre for Security, Reliability and Trust (SnT) at the 2016 Network and Distributed System Security Symposium. The algorithm is based on a generalization of theBirthday problem which finds colliding hash values. It has severe time-space trade-offs but concedes vulnerability to unforeseen parallel optimizations.[1] It was designed such that parallel implementations are bottle-necked by memory bandwidth in an attempt to worsen the cost-performance trade-offs of designing customASIC implementations. ASIC resistance in Equihash is based on the assumption that commercially-sold hardware already has quite high memory bandwidth, so improvements made by custom hardware may not be worth the development cost.[citation needed]
Equihash was proposed byAlex Biryukov andDmitry Khovratovich as part of the University of Luxembourg research group CryptoLUX. It was introduced at the Network and Distributed System Security Symposium 2016 inSan Diego. Notableblockchain-based projects such asZCash, BitcoinZ, Horizen, Aion, Hush, andPirate Chain have integrated Equihash for reasons such as security, privacy, andASIC miner resistance.[citation needed]
The manufacturerBitmain has succeeded in optimizing the processing of Zcash's Equihash-200,9 with an ASIC.[2]
Equihash has three parameters –,, and – which determine the algorithm's time and memory requirements. The time complexity is proportional towhile the memory complexity is proportional to. The algorithm is often implemented with (using an alternative method of controlling the effective difficulty).[1]
The problem in Equihash is to find distinct,-bit values to satisfy such that has leading zeros, where is a chosenhash function.[1] In addition, there are "algorithm binding conditions" which are intended to reduce the risk of other algorithms developed to solve the underlying birthday problem being applicable. A memory-less verification requireshashes and XORs.[1]
It is proposed that the puzzle in Equihash be solved by a variation of Wagner's algorithm for the generalized birthday problem. (Note that the underlying problem is not exactly the Generalized Birthday Problem as defined by Wagner, since it uses a single list rather than multiple lists.) The proposed algorithm makes iterations over a large list.[1][3] For every factor of fewer entries per list, computational complexity of the algorithm scales proportional to for memory-efficient implementations. Alcock and Ren[4]refute Equihash’s security claims, concluding that no tradeoff-resistance bound is in fact known for Equihash.
This sectiondoes notcite anysources. Please helpimprove this section byadding citations to reliable sources. Unsourced material may be challenged andremoved.(February 2021) (Learn how and when to remove this message) |
The cryptocurrencyZcash implements Equihash with and.
The cryptocurrencyBitcoinGold implements Equihash with and.