Monero: The efficiency of the inefficient RandomX
“Monero is dead,” said my colleague when I asked him about last month’s update. When asked why? he replied, “the price has been stagnating for the past couple of months.”
Although I didn’t really pay much attention to the importance given to the price of cryptocurrencies before, this remark by another journalist got me wondering about how price has truly become one of the key aspects driving the cryptoverse. And why not?
It was the price of Bitcoin that grabbed the attention of the world towards the end of 2017, when the coin reached its ATH. It was a time when millennials become millionaires overnight, which got mainstream media to speak about the “new asset class”. Notably, it was also this boost that captured the attention of AMBcrypto founders, which eventually led to my career as a journalist.
While it’s true that the price has been on the low-low for the fungible cryptocurrency in comparison to its all-time high, it is also true that price is not the only factor that measures a coin’s success rate.
Additionally, Monero’s price has been doing great considering how major exchanges do not have the coin listed and the regulatory hurdles it has been through. The coin has still maintained a stronghold in the top 20 taking into account how it has not been enjoying all the benefits Bitcoin and Ethereum receives.
Price, not a talking point for Monero
Even though price has been a key determiner of the interest one pays to a project, however, this does not stand true for Monero. If one takes notice, there is barely anyone discussing the price movements of the currency and its valuation. The one factor the entire community drives on is its development that promotes privacy.
Today, Monero developers are undoubtedly one of the few teams in the space that have achieved new heights when compared to others. The implementation of Bulletproof technology to RingCT and analyzing the implementation MimbleWimble, the devs have dipped their feet into all the protocols that execute Monero’s vision of providing better financial privacy to anyone seeking for it.
The next big step
With the intention of catching up with the on-going developments of Monero after the bleak insight I got from my colleague, the first topic that popped on Monero’s Twitter, ‘the fourth and final audit of RandomX has been successfully completed.’
The great war against ASIC mining
The Monero community has long since been at war against AISC miners, with the agenda of avoiding centralization. ASIC mining was one of the factors that drew several criticisms for Bitcoin over the years, with people arguing that its network was centralized as the majority of the computational power was in the hands of a few players.
To avoid the same fate as that of Bitcoin, Monero devs have made it a point to constantly upgrade the network, putting ASIC chip producers at the losing end of the game.
So far, Monero has been undergoing an upgrade every six months, changes being implemented to the network at least twice a year. The last upgrade to its proof-of-work algorithm took place in March 2019, which saw the network upgrading to CryptoNight R Proof-of-Work algorithm.
However, this constant upgrade seems to be taking a toll on the developers and the network in general, considering that there were concerns related to its sudden hashrate drop. Hence, as a resort against ASIC mining, the dev team is all set for the next big step, RandomX — Randomly generated machine-language programs for a custom virtual machine.
RandomX has been one of the most awaited algorithm upgrades in the Monero community as it not only puts ASIC mining at a disadvantage but also paves the path for an even distribution of computational power. This could be attributed to the fact that RandomX puts CPU mining at an advantage over the rest, even putting GPU miners at a disadvantage to a certain extent. Since the use of CPU is more egalitarian, everyone would have a fair opportunity to participate in the network. Notably, RandomX not only targets ASIC miners but also crypto-mining malware. Since the memory consumption would increase significantly, mining malware would be more detectable than it was before.
Now, how does RandomX achieve everything it promises? The algorithm will be using all components of the core but not all of the chips, including the memory interface of the uncore. Achieving this could be the tricky part for ASIC chip producers as they would have to develop a chip that would address all queries and considering that ASIC chips have been efficient so far mainly because it has a single purpose, it would be near impossible.
At the MoneroKon 2019, Howard Chu, CTO of Symas Corp and one of the frontiers of this shift stated,
“So with RandomX, we want an algorithm that is so inefficient, that uses so much power that we’re using as much as possible of CPU.”
Howard Chu further explained this in an email to AMBCrypto. He said, “a CPU has multiple functional units that can be operating at any given time.” Eg:
- Arithmetic/Logic Unit [ALU] used for performing integer arithmetic, bitwise operations, etc.
- Floating Point Unit [FPU] used for floating-point arithmetic
- Memory Load/Store Unit [LSU] for loading data from and storing data to off-chip memory
“These units are all capable of operating simultaneously, but in typical code, only one might get used at a time. The unused units are powered down. The RandomX instruction set is designed such that as much executes in parallel as possible, thus maximizing the power consumption of the CPU.”
However, this also does not mean that Monero would be ASIC immune forever. Technology advances as time passes by. When asked about the alternatives if ASICs were to catch up like SHA-3 algorithm, Howard Chu said,
“If ASIC builders discover a way to optimize a chip that is more than 2x as efficient as a good quality CPU, then yes, there have been talks about shifting to an algorithm like SHA-3. The rationale is that SHA-3 was explicitly designed to be easily implemented in hardware, and so no particular manufacturer will have any optimization advantages over any other.”
“From what I’ve seen, this argument is misguided. A quick literature search shows that even after over a decade of experience with SHA-2, researchers are still publishing new ways to optimize it in hardware. And SHA-2 is also a trivially simple algorithm, that has been studied and well understood for many years. The belief that because SHA-3 is simple, adopting it will lead to a commoditized ASIC ecosystem is simply wrong, there will always be different groups with better optimizations over the course of time.”
Earlier this month, the fourth audit of RandomX was successfully completed by Quarkslab. Prior to this, the first three audits were carried out by Trail of Bits, Kudelski Security, and X41 D-Sec. The next steps involved in the shift to RandomX includes review of the results, vote on the whether to integrate the RandomX changes, following which the date and the block height for the algorithm upgrade will be decided, said CTO of Symas Corp.
“At the moment I expect that we will only choose an activation point for the testnet, and we can settle on the mainnet activation point at a later date.”
To my colleague who thinks Monero is dead, the words of Spock (from Star Trek) come to mind: “The needs of the many outweigh the needs of the few, or the one.”