blog posts

Random x

What is the Random X algorithm? Full acquaintance with Monroe’s new extraction algorithm

Random X is the name of the new Monroe-based Digital Currency Extraction (XMR) algorithm, which is designed to protect the network against ASIC extraction and only allows extraction using a central processing unit (CPU). . This algorithm also provides a lot of security for the Monroe protocol and blockchain. In this article, we will introduce and review the Random X algorithm and why it was designed and developed. Stay with us until the end.

What is Random X?

The Random X extraction algorithm is a new Proof of Work (PoW) algorithm designed to replace the CryptoNight algorithm used by Rameroz Monero.

Like Kryptonite, Random X was designed to increase the security of the Monroe network and is now known as the network’s default algorithm. The Random X algorithm offers a high level of cryptography and focuses on privacy-driven systems.

Random x algorithm

But the most important feature of Random X . is that it is ASIC The kryptonite algorithm had lost this feature some time ago, and even with several updates, the problem was not resolved. Therefore, the Monroe team decided to create a new algorithm, An algorithm that inherits the best capabilities of Cryptonight and creates a new extraction base for Monroe.

Thus, the Random X algorithm was designed with good resistance to ISIC. In addition to improving the extraction capacity for the central processing unit, the algorithm has also shifted Monroe’s digital currency to a more decentralized extraction.

But the capabilities of Random X are not limited to these.

Random X Algorithm Design History

Random X was born out of the Monroe project’s need for a new extraction algorithm capable of resisting ISICs.

In 2018, the companies Baikal and Bitmain were able to break the algorithm’s multi-year resistance by introducing the first ISICs for Cryptonight. Since Cryptonight was a very complex algorithm, this was a great success for both companies.

Random x algorithm

However, the achievement of Baikal and Bitcoin companies was not to the liking of the Monroe community and other blockchain communities that used the kryptonite algorithm. Most importantly, Monroe is a digital currency that ISIC miners do not welcome.

The monopoly production of risks and the access of highly capitalized institutions reduces the benefit of ordinary people from the extraction process, leaving everything to be concentrated in the hands of only a few individuals and institutions. This, in turn, indicates the failure of a digital currency.

Monroe digital currency extraction is generally done by the CPU and GPU. Therefore, ISICs pose a serious risk to network focus and security because of a 51% chance of being attacked.

Monroe’s team began developing new types of kryptonite algorithms to solve this problem. The scope of some of the updates was good, but the ISIC issue persisted. At this point, Monroe’s developers realized that kryptonite was no longer enough and that a new algorithm was needed.

The result of these efforts was the creation of the Monro Classic (XMC), A digital currency designed for miners demanding an ISIC-based extraction algorithm. However, these cryptocurrencies were not very well received.

For this reason, on October 31, 2018, the development of the Random X algorithm began.

According to the Monroe developers, the new Random X algorithm involves a fundamental change in extraction algorithms. On May 5, 2019, the first version of Random X was released.

November 30, 2019, during a hard fork successfully launched on the Monroe network on

How does the Random X algorithm work?

As the name Random X suggests, randomness is a fundamental principle of this algorithm. In other words, Random X is designed to create a Work Zone or a temporary storage area for completely random, high-memory Scratchpad calculations and data and uses advanced virtualization technologies for its operations. These three pillars make Random X highly resistant to ISICs.

Random X.

Random X is not only resistant to ISIC but also to GPUs; Because these chips do not have the necessary instructions to perform complex random X operations. As a result, Random X seeks to be just a central processing unit-based extraction algorithm, thus showing the highest possible resistance to other types of extraction. On the other hand, the Random X algorithm also makes the execution of Monroe botnets almost impossible, Especially on low-power devices, such as smart TVs or IoT devices.

But how does Random X make all this possible? Well, let’s take a closer look at this algorithm.

Two types of extraction for two different applications.

First, Random X has two extraction modes, each with different requirements and functions. The powerful and resource-intensive mode is Quick Mode, which requires at least 2 GB of memory. If the operating system supports NUMA access, Huge Pages, high-core processors, and at least 2 GB of RAM per CPU, the final performance of Random X Improves significantly. Because all of this memory is used to create a random X-Random workspace.

The second mode is Lightweight Mode, which requires only 256 MB of RAM and is designed for use in Monroe validation nodes. Extraction efficiency in this mode is limited and up to 6 times less than in Quick Mode. Therefore, the profit from extraction using this mode will be relatively small.

Here, we have the first obstacle against the ISICs. Indeed, ISICs can now have a lot of RAM (like Atrium ISICs, which usually have between 4 and 8 GB of RAM), making these computers more expensive.

Second, due to the high computing power consumption, if a computer is infected with cryptojacking malware to extract Monroe, it is easily detected by the user. This greatly reduces the chances of a botnet succeeding.

Encryption algorithm used

If Monroe’s project has accustomed us to anything, it is the use of advanced cryptography. The Random X algorithm is no exception to this rule but fully complies with it.

The Monroe development team used the Blake2b hash functions, the Argon2d password generator, and AES symmetric encryption in the Random X algorithm. As a result, the cryptographic quality of this algorithm is exceptional.

However, Monroe’s team has not only done this but has decided to implement formal encryption security and implementation audits on the Random X algorithm as well. A total of four audits were conducted by Trail of Bits, X41 D-SEC, Kudelski Security, and Quarkslab, all managed by the Open Source Technology Management Fund (OSTIF) (an organization with a long history of cyber security and cryptography). The results of all these audits have been promising.

Everything You need to know about staking on Binance

Random X Algorithm Proof Design

The proof of work (PoW) of the Random X algorithm is as follows:

First, a key is generated (key K), which acts as a block’s hash in the blockchain. This block is called the key block. The K key must be changed every 2,048 blocks once (approximately 2.8 days). There must be 64 blocks (approximately 2 hours) of delay between the key block and the K key change.

Random X.

Therefore, the scheme of proving the work of Random X, in general, has two important points:

  1. You need a key called K, which must be changed every 2,048 blocks. This key is critical to Random X; Because it creates hashes and valid blocks for the network.
  2. This key is created using blockchain data and a secure key generation system.

On the other hand, the algorithm’s need for specific execution conditions complicates the situation. These conditions include the following:

  1. A 64-bit CPU allows the algorithm to manage large volumes of data and memory.
  2. A floating-point unit (FPU) compliant with IEEE 754. If the floating-point unit does not comply with this standard, the data generated by the algorithm will not be validated.
  3. AES encryption support. If the support is provided by hardware with extensions such as AES-NI, the algorithm’s efficiency will be much better.
  4. Lots of cache for each thread of the algorithm. At least 16 KB of L1 level cache and 256 KB of L2 level cache. 2 MB of L3 level Its cache.
  5. An operating system that supports large memory page management. Keep in mind that Random X uses at least 2 GB of RAM, and this number may increase depending on the configuration.