All about RandomX and the Monero hard fork

Monero Hard fork

Let's start with some key points.

  • The block on which the hard fork will be Monero - #1978433
  • When – November 30, 2019
  • The main feature of the update – new RandomX algorithm
  • Goal – release the network from FPGA and ASIC

What is RandomX

RandomX is a Proof-Of-Work algorithm optimized for GPUs and general purpose processors. Its main feature is the execution of arbitrary code (hence the name) along with several tricks that require a lot of memory. This combo will be fully appreciated by the developers, but the benefit will be obvious to everyone. This will minimize the efficiency advantage of specialized equipment.

Technical note ... RandomX uses a virtual machine that runs programs in a special set of instructions. These programs can be converted to machine code by the processor on the fly. As a result, the output of the executed programs is combined into a 256-bit result using the Blake2b cryptographic hashing function.

RandomX can work in two main modes that differ in memory requirements.

  • Quick mode – 2181 MB required
  • Light mode – requires only 268 MB of shared memory, but is much slower

Both modes are interchangeable as they give the same results at the end. Fast mode is suitable for mining.

RandomX Audits

Between May and August 2019, the algorithm was validated by four independent security research groups. Below are the companies and audit costs.

  • Trail of Bits – 28 USD
  • X41 D-SEC – 42 euros
  • Kudelski Security – CHF 18
  • Quarkslab – 52 USD

The first audit was sponsored by Arweave, one of the early supporters of RandomX. The other three were funded by the Monero community.

Processor Performance on RandomX

The developers divided the performance of the selected processors, which use the optimal number of threads (T) and show the results in hashes per second (H / s). “CNv4” refers to CryptoNight Option 4 (CN / R) hashrate.

GPU Performance on RandomX

Developer known as Schernykh , is working on GPU mining code for RandomX. Here is the intermediate performance for Nvidia GPUs.

Source: github.com/SChernykh

Here is AMD performance.

AMD GPU performance on RandomX. Source: github.com/SChernykh

On this page You can download the latest version of RandomX and run your own tests.

Which processor is best for mining on RandomX?

Most Intel and AMD processors after 2011 perform well on RandomX as well as GPUs with more than 2GB of memory. Here are the specific requirements for efficient CPU mining.

  • 64-bit architecture
  • IEEE 754 compatible floating point module (FPU)
  • AES hardware support
  • Large memory page support
  • At least 2,14 GB of free RAM per NUMA node

Can FPGA mine on RandomX?

Basic FPGAs cannot work with RandomX simply because they take too long to dynamically reconfigure their circuits. In theory, more efficient models can use this algorithm by emulating the processor. But in this case FPGA will be much less efficient than a processor.

Conclusion: With RandomX, the Monero (XMR) network will become more decentralized. The algorithm will make the FPGA and ASIC network robust while at the same time making Mining on CPU and Nvidia more efficient. Both miners and the community will benefit from the new algorithm.

Rate this article
Blockchain media

  1. Alex Petrov

    .Monero wasted their money on the audit.

    unproductive security support - on expensive CPUs/GPUs - is expensive and non-competitive stupidity.
    “Basic FPGAs” is a strange term from the author, rather small - but optimization is still possible, they just artificially increased the consumption of extra memory - and this is not about efficiency in terms of emotions and desires.

    Reply