Meet Equihash, the algorithm that makes mining cryptocurrencies like Zcash possible. An algorithm that works using a complex mathematical and probabilistic problem known as "The Birthday Problem".
Ehe Equihash mining protocol or algorithm is one of the many mining protocols or algorithms that exist in the world of blockchain y cryptocurrencies, . However, Equihash holds a very special place within the crypto world. This is due to its specific creation to design an algorithm that would offer enormous resistance to ASIC. Without it being extremely complex or insecure.
Thus, a group of developers and academics were able to create Equihash. A work that opened the possibility of creating cryptocurrencies with ASIC resistance applicable to cryptocurrencies with good scalability. Therefore, since Bit2Me Academy We invite you to get to know this algorithm and everything it has to offer. Join us to meet him.
Origin of the Equihash algorithm
Equihash development started thanks to the work of alex biryukov y Dmitry Khovratovich. The goal of these two developers was to create a mining algorithm that offered resistance to ASIC mining and the growing danger of centralization that this means.
This is a long-discussed problem in the community Bitcoin. Especially since the hashrate of said blockchain (which uses SHA-256) is currently fully exploited using ASIC. This situation can lead to great risks, such as that a company or a group of powerful miners may conspire to negatively affect the operation of the network.
And although in Bitcoin, they are aware of the danger but there are incentives that this does not happen, for the moment that situation continues. All Bitcoin miners want something in common, that Bitcoin be the most powerful cryptocurrency. Not only in terms of hashrate, but also in price, thus stimulating the security of the blockchain against attackers.
While this is feasible on networks as large as Bitcoin, on smaller networks the story is different. Biryukov and Khovratovich observed this and decided to create Equihash. To do this, they designed a complex algorithmic infrastructure created to solve a difficult mathematical problem called "Birthday Problem". With these elements, in 2016 they presented the result of their work and research, the complete and functional Equihash algorithm.
This presentation was held at the Luxembourg University, and was led by a group called CryptoLUX, of which they were part, in the Network and Distributed Systems Security Symposium 2016 in San Diego.
Equihash's Goal
The goal behind the creation of Equihash is simple to understand: preventing ASICs from leading to centralization of mining. An especially serious problem in small blockchain, where a single ASIC miner could mean more than half of the network's mining power. In this situation, the miner with that ASIC could take full control of the network and even rewrite the history of the network if desired.
With that problem in mind, Biryukov and Khovratovich designed Equihash to fight it. In fact, in the Equihash whitepaper they make clear mention in their abstract to this aspect. Making clear the need for these systems.
Proof of work is a core concept in modern cryptocurrencies and denial of service protection tools, but the quick verification requirement so far has made it easy prey for GPUs, ASICs, and botnets. Attempts to rely on memory-intensive calculations to remedy the disparity between architectures have resulted in slow or broken schemes.
Their work led them to create a highly sophisticated algorithm with high memory consumption, high penalization in low RAM memory environments such as ASICs, low consumption of computing power and presentation of short cryptographic tests that did not mean a serious storage problem and data transmission. In fact, in their whitepaper they left the following statement:
Our solution is practical and ready to go: A benchmark implementation of our proof of work requires 700MB of RAM, runs in 15 seconds on a 2.1GHz CPU, but increases calculations by a factor of 1000 if memory becomes halves and only presents a test of only 120 bytes in length.
How does Equihash work?
Now you will surely wonder How did they go about creating an ASIC-resistant algorithm like Equihash? Well, to carry out this task Biryukov and Khovratovich took as a basis a small, but complex, mathematical problem called "The Birthday Problem". This problem is a probabilistic problem that tells us the following:
The birthday problem establishes that, out of a set of 23 people, there is a 50,7% probability that at least two people of them will be on the same day. For 57 or more people, the probability is greater than 99,666%. Strictly speaking this is not a paradox since it is not a logical contradiction. However, it is a mathematical truth that contradicts common intuition.
Many people think that the probability is much lower, and that it takes many more people to reach the probability of 50,666%. If a room had 367 people, from the Dovecote Principle we know that there would be at least two people turning years on the same date, since a normal year has 365 days, and a leap year has 366.
A very well known problem in computing and which has been widely studied for the construction of recursion and backtracking systems (two programming techniques) that seek to solve problems of this type in the most efficient way possible.
The resolution algorithm
The simple statement above is the construction base that Biryukov and Khovratovich used to create Equihash. Basically what they did was create an algorithm based on to the birthday problem solving job created by David Wagner from the University of California at Berkeley. Wagner, renowned specialist in cryptography, created this algorithm so that any memory reduction increases the complexity of time in solving this problem.
That is, Wagner's algorithm is capable of solving the birthday problem for extremely large universes of people. But to achieve this, it makes intensive use of RAM. If the RAM is reduced, the algorithm can still solve the problem, but the complexity and difficulty of resolution increases.
This allowed to create a mining system that was especially complex to solve in ASIC systems where the RAM memory is not wide.
Additionally, Wagner's algorithm was modified so that it did not produce multiple solutions to the problem. This property makes mining too easy for miners with a lot of RAM, as all of these solutions can be network accepted. To achieve this, Equihash was updated with the implementation of the technique called "algorithm binding". The algorithm link changes the problem so that it has no more than two solutions produced on average, with the goal that they are almost unique.
In this way, the Equihash algorithm guarantees the greatest possible difficulty for cryptocurrency mining to apply it.
The End of Equihash ASIC Resistance
All of the above makes one thing clear: mining in Equihash is very efficient when using a powerful computer with a relatively large amount of RAM. In fact, one of the basic recommendations is to have computers with at least 2 GB of RAM. Equihash can be efficiently mined on a CPU. But if we use a GPU, we can get better results, and more, if the GPU has enough memory to contain all the DAY generated by Equihash for mining.
However, Bitmain managed to finally create a mining ASIC for Equihash thus breaking the ASIC resistance of the algorithm. This happened in 2018 when the manufacturer introduced its first ASIC miner for Equihash. In fact today, there is an enormous diversity of ASIC miners for Equihash, among which manufacturers such as Bitmain and InnoSilicon can be highlighted.
Algorithm characteristics
Despite failing to find real and lasting resistance to ASIC, that does not derail Equihash's technical quality. In fact, among its most interesting properties we can mention:
- It is an algorithm that seeks to avoid the centralization of mining. Even though there are ASIC miners, mining Equihash is complex, and we can see that in the relative poor efficiency of ASIC miners for Equihash.
- It offers a complex cryptographic test to build but small in resolution. This allows the network to not be oversaturated with the traffic of large cryptographic tests aiding in the total scalability of the network.
- The test requires large amounts of memory that even with optimizations always have a heavy cost on mining both CPU, GPU and ASIC.
- It is flexible and allows future algorithmic improvements and architectural changes.
This allows Equihash to evolve over time and improve its features according to the needs of the projects that use it.
Cryptocurrencies using the Equihash algorithm
There are currently several currencies that use the Equihash algorithm to provide safe mining. Among those coins the best known are ZCash (ZEC), Bitcoin Gold (BTG), Komodo, horizen o Beam. The smallest of these is Beam with a capitalization of about $ 11 million. And the largest is ZCash with a capitalization of about 420 million dollars.
Of all these projects, so far none have been affected by a 51% attack, and they have not been violated in any other significant way, making clear the quality of the Equihash algorithm.