Skip to content

ProgPow – the perfect algorithm?

In the world of digital mining, we have been witnessing a very lively, sometimes stormy discussion for a long time. However, substantive arguments prevail. The case concerns the ProgPow hashing algorithm, which would replace the old Ethash, i.e. the algorithm on which the Ethereum network works. Why can the choice of an algorithm lead to such an emotional discussion? As it turns out, it focuses visions and concepts on the further direction of digital mining development. In the following publication I will try to explain what ProgPow is really about.

 

The genesis of ProgPow

In May 2018, at one of the cyclically convened meetings by DevTeam (the team of developers responsible for the development of ETH), EIP 1075 was submitted, proposing to change the algorithm used to extract blocks in Ethereum. EIP (Ethereum Improvement Proposal) is a document that describes the proposed new features and processes. The new algorithm is intended to serve as a mechanism to block the dominance of ASIC machines in the network and allow miners with graphics cards to decentralize the network again.

To better understand the context, it must be remembered that Ethereum was created as a cryptocurrency based on the Proof of Work consensus, and the Ethash hash algorithm was to be a bastion of thousands of miners scattered around the world, basing their machine parks on the computing power of graphics cards. This has been the case for a long time due to Ethash’s high built-in memory requirements.

In practice, the construction of an ASIC-type computing system seemed impossible, but the need is the mother of the invention and such specialized devices began to appear on the market. Initially, Asic offered similar performance to graphics card-based miners, but over time their advantage began to grow to reach the current, 2-3x faster level. In this way, the original miners began to contest this state of affairs more and more often, demanding a solution to the problem.

Cryptocurrency mining rig equipped with graphics cards. ProgPow is intended to restore this type of device to the mining game.

The translation of these expectations into reality is EIP 1075 – the new proposal has been tentatively named ProgPoW (Programmatic Proof of Work). The goal was to design an algorithm that would use the full computing power, but at the same time in a balanced way all subsystems available in modern GPU graphics cards. This means that if the manufacturer of ASIC mining rigs wanted to create an efficient machine, its solutions would have to be competitive with the current graphics card manufacturers, i.e. AMD and NVIDIA. This would increase the design effort, reduce the performance imbalance between ASIC and GPU miners, and thus take ASICs away from their current dominant position. In other words, ProgPow is a proposal to permanently introduce the status quo in digital mining.

China vs the rest of the world

Centralization of ASIC manufacturing technology in China and unfair business practices applied by local companies pose a serious threat to network security, and thus the continued success of the project and the value of the ETH coin are at stake. As a rule, any manifestation of monopolization is harmful, in the case of cryptocurrencies, decentralization and dispersion are particularly important.

As the level of ASIC technology in China is ahead of the rest of the world by several years, eventually any currency with an ASIC-friendly algorithm becomes very dependent on centralized Chinese solutions over time. As a result, manufacturers of such devices, reaping the benefits of their privileged position, resort to various solutions.

There are often accusations that ASIC manufacturers release a new generation only when advanced work on the next generation of computing chips is achieved, or ASIC manufacturers do not allow customers to buy them until they develop much faster solutions for themselves. Only then do “new” devices go for open sale, allowing the rest of the world to buy their old equipment, which is doomed to be unprofitable right from the start. Another common practice is the cyclical release of updated versions of ASIC, usually enriching the name of ASIC with additional type designations: Pro, Super, Eco, +. These are actually the same computing chips, skillfully dosed and spread over time. In this way, every few months, hot premieres with more and more efficiency come to the market.

This technological race proposed by Chinese producers carries a very high risk. With the launch of the new generation, older models immediately lose their value, and rational planning of investments in digital mining becomes very difficult. The release schedule is one of the most closely guarded secrets of Chinese manufacturers.

The proposed changes under ProgPow are to equalize the computing power for all computational systems

In the search for a way to prevent the production of cheap and fast ASIC miners, cryptography experts have been looking for the optimal solution for a long time. One of the first ways was to use a memory-intensive algorithm. The logical conclusion was that since high-speed memory chips are expensive, ASIC miners equipped with large amounts of high-speed memory should be expensive, complex, and difficult to manufacture. The first practical implementation of such an idea was “Scrypt” used in Litecoin and Dodgecoin. The new algorithm provided resilience in the early stages of these currencies, but over time, Bitmain (the Chinese leader in asic chips) developed ASIC devices to mine Litecoin. The story was similar with other algorithms focusing on the strong use of one resource, which were assumed to be resistant to ASIC excavators. However, over time, mining of coins based on these algorithms was dominated by ASIC miners.

What does ProgPow offer?

This is where ProgPow comes into play, proposing 5 significant changes to the algorithm used by Ethereum:

  1. Change from keccak_f1600 (62 bit) to keccak_f800 (32 bit)
  2. Increasing the mixing state
  3. Adding a random math sequence to the main loop
  4. Force read from cache
  5. Increasing the size of the read memory from 128 to 256 bytes

These changes take advantage of the strengths of graphics cards, forcing ASIC manufacturers to create multi-tasking graphics cards instead of cheap chips. Changing the keccak to 32 bits fits the word size used in current graphics cards, while the need to perform advanced mathematical calculations prevents the use of ASICs. Memory readings require I / O capability, and doubling the amount of memory required means more memory costs.

According to the simulations carried out, such ASIC would be only 20% faster than the equivalents in the form of graphics cards, at the same time more expensive, which would make the design and production of ASIC systems meaningless. ASIC’s natural advantages would be permanently eliminated and the market situation would normalize. This is the real importance of introducing ProgPow. Many commentators admit that such a solution would be optimal; on the one hand, high openness to various computational systems, on the other hand, a progressive algorithm involving many areas of computational units, which does not allow a particular type of system to obtain a significant advantage.

ProgPow – current status

The EIP 1057 proposal was conditionally accepted in April 2020 during the developer meeting number 81. As a result, we can expect the ProgPoW algorithm to be adopted in future updates, but we still do not know the exact date when it will happen. At the moment, a similar move has been decided by RavenCoin (RVN), which paves the way for the practical application of solutions used under ProgPow, and its original KawPow algorithm has been passing the test so far and evenly positions the streams of computing power flowing from various types of computing systems.

 


Author: Marcin Żywica from ŻET Technologies

Miner, founder of ŻET Technologies, a company                                                                                  designing and manufacturing advanced crytpo miners.                                                                          ŻET Technologies provides computing power for blockchain                                                                  networks, creates technology for 21st century business.