The developers of the privacy coin Monero (XMR) are testing the new Proof of Work RandomX mechanism with the aim of once again eliminating ASICs and FPGAs from the mining of the cryptocurrency.
RandomX was initially developed by Howard Chu – CTO and founder of the software house Symas Corporation – and also author of the Lightweight Directory Access Protocol (LDAP), a type of database currently used by the Monero (XMR) blockchain.
According to Chu, the new Proof of Work RandomX is currently undergoing four different code audits and is expected to be completed by July.
RandomX: new Proof of Work anti-ASIC
Monero has always shown a certain resentment towards specialised mining hardware since the very beginning. In the last 18 months, in fact, the currency has undergone three forks, the last of which took place on March 9th, with the aim of making some changes to the Proof of Work based on CryptoNight to once again exclude ASICs and FPGAs from the mining of the cryptocurrency.
Since last February, the coin developers have been working on the new Proof of Work RandomX, which will make XMR mining egalitarian again. Despite the efforts and changes made to the new CryptoNight-R, the team has unfortunately discovered that companies specialising in the production of ASICs are able to redesign and produce new ad-hoc ASICs for the new PoWs in a rather short time. For this reason, it was necessary to create a completely new PoW from scratch.
Diego Salazar, a contributor to the Monero project, said:
“We [also] saw that this was very unsustainable. … It takes a lot to keep [hard forking] again and again for one. For two, it may decentralize mining but it centralizes in another area. It centralizes on the developers because now there’s a lot of trust in developers to keep hard forking”.
Precisely for this reason, Monero will switch to the new Proof of Work RandomX, presumably avoiding ASICs for a long period of time. The algorithm – should the community’s consensus be reached – should be implemented in October 2019 during the next upgrade fork.
According to Salazar, if an agreement is not reached, Monero is likely to become ASIC friendly.
Proof of Work RandomX: Are CPUs back in the game?
According to Chu, the Proof of Work RandomX is designed to be CPU-centric. The common processors of modern PCs have a hardware architecture that allows them to perform all possible operations, using a series of native instructions present in their ISA (instruction set).
There are several ISAs, some adopted in desktop processors (x86), others in mobile processors (usually ARM), characterised by a rather small ISA for maximising efficiency (RISC), given the different use case.
ASICs, on the other hand, are an evolution of FPGAs, often used for the prototyping of ASICs. To design an ASIC, in fact, often the starting point is a not fully dedicated chip such as an FPGA (Gate Array, cellular systems or Sea of Gates) from which, once the functional layout is defined, all the components of configuration of the various transistors and programmable logic blocks (memories, etc.) are removed, making the device hardware optimised for the execution of a single function.
As a result, ASICs can perform hundreds of times better when performing a specific task compared to a generic computer processor.
Salazar, while explaining the operation of RandomX, described the concept of the spectrum of computing power, pointing out that on the one end there are processors capable of performing any operation, on the other, there are extremely efficient and performing ASICs limited to a few simple operations.
CPUs are the most distributed computing resource in the world, according to Chu, who later stated:
“Practically everyone in the world now has a smartphone in their pocket with a CPU and memory that’s capable of mining RandomX”.
The goal is to decentralize mining as much as possible, which is why the Proof of Work RandomX will favour CPUs over ASICs for at least the next three to five years, according to Chu.
GPUs out of the picture… for now
Since RandomX favours CPUs, even GPUs will get penalised in XMR mining, albeit less than ASICs.
GPUs – commonly called graphics cards – are specialised processors that perform parallel and very sequential tasks. Unlike CPUs, they cannot be used to perform any operation, but only for highly parallelisable, sequential and repetitive functions.
“Data goes in at the head of the pipeline and you do some munching on it and it all spits out at the end of the pipeline. The main emphasis there is fast transfers of data from the input to the output, pretty much in a straight line.”
Monero’s current mining algorithm, called CryptoNight, sees a massive presence of GPU miners, given the better performance and efficiency compared to CPUs. However, originally this PoW was intended exclusively for CPU mining, but modern GPUs have so much memory and so much bandwidth that they are very efficient in running CryptoNight, which was developed in 2013 when the hardware was very different.
With the activation of RandomX, Chu expects CPUs to be at least three times more powerful than GPUs when mining Monero.
This choice has led to a first fragmentation in the Monero community, which has shown itself dissatisfied with this drastic choice. However, some developers are already in the process of exploring GPUs in RandomX mining.
For the time being, Nvidia solutions achieve acceptable performance by taking advantage of CUDA, although it is likely that performance will improve in the coming months. The situation for AMD GPUs is very bad, since a miner that can take advantage of OpenCL has not yet been fully implemented.
In any case, CPUs are the dominant ones. In particular, from the first tests, AMD Ryzen CPUs are able to offer high performance and low power consumption due to the large cache of AMD processors. The situation might be even brighter for the new Ryzen 3000, with 70MB of L3 cache and 12 and 16 cores.