Monero implements RandomX update in attempt at ASIC-resistance
A permanently ASIC-resistant mining algorithm is a huge, incredible deal... if it works.
It's an especially interesting update because it represents a new front line in the struggle between ASIC cryptocurrency mining and ASIC-resistant mining algorithms.
ASICs vs ASIC-resistance
An application specific integrated circuit (ASIC) miner is a type of cryptocurrency mining machine that has been designed specifically to mine a particular algorithm.
ASIC miners are extremely efficient at mining a specific algorithm but are completely useless at anything else. Contrast this with mining cryptocurrency on a home computer, or using graphics cards (GPUs), where you're mining with a machine that can also be used for many other things, but that is much less efficient at mining cryptocurrency than ASICs are.
The problem is that cryptocurrency mining is a competition, where miners are competing for a chance of earning rewards. And whenever ASIC miners are used, they end up completely overwhelming GPUs and home computers.
The end result is that everyone uses ASICs, and consequently cryptocurrency mining becomes a professional, highly-specialised industry in its own right. ASIC-resistance is the practice of using algorithms that are specifically designed to prevent ASIC miners from being useful.
Both ASIC mining and the use of ASIC-resistant algorithms have their own pros and cons.
- Gives a very high total amount of mining power, which helps secure a cryptocurrency network and prevent 51% attacks
- It's the "natural" state of cryptocurrency mining in that a proof-of-work cryptocurrency will always be mined by ASICs unless it goes out of its way not to be
- Expensive ASIC mining machines and the economics of the mining industry inevitably result in a high degree of centralisation in many ways
- Not egalitarian and prevents at-home cryptocurrency mining
- Results in the wasteful creation of a lot of quickly-obsolete hardware that serves no purpose except cryptocurrency mining
- Offers a more egalitarian approach to mining
- Is naturally more decentralised than ASIC mining
- Makes a cryptocurrency more resilient and insulated against factors that impact ASIC mining
- Low total hashrates may leave ASIC-resistant networks vulnerable to 51% attacks
- May be impossible in the long run
ASIC mining and ASIC-resistance are natural enemies. So far, however, ASIC mining has always managed to get the last word.
That's because, while most of the above points are open for debate, the two downsides of ASIC-resistance are clear deal-breakers.
It's difficult to find tangible examples of why egalitarianism in mining is important or why it matters if proof-of-work blockchains are locked up by a small mining oligarchy, but there are plenty of clear examples of ASIC-resistance causing 51% attacks or cryptocurrencies which repeatedly try and fail at ASIC-resistance before giving up.
That's why a lot of the (ostensibly) smart money in cryptocurrency agrees that ASIC-resistance is a fool's errand. But that's also why Monero's RandomX update is so interesting; because it's bucking the trend and attempting the impossible.
How to be ASIC-resistant
There are a couple of different ways of attempting ASIC-resistance.
One method is to create a memory-bound mining algorithm. This means the efficiency of a miner is determined by how much memory (RAM) their machines have, rather than processing power alone.
The reason this makes a difference is because RAM speeds are much more consistent across hardware than processing power is and remain much more consistent across successive generations of hardware. The end result is that while you can build ASIC miners for memory-bound algorithms, they're only a bit more efficient than consumer hardware, instead of being hundreds or thousands of times faster.
The problem is that by itself, this is just a stop-gap measure, and as long as ASICs remain considerably more effective than consumer hardware, you still, to some degree, experience the problems that ASIC-resistance is trying to solve.
Another method is to introduce elements of unpredictability. The power of ASICs comes from their specificity, so introducing unpredictability can undo their advantage.
There are many different ways of introducing these elements, depending on the situation. If you have a more versatile network like Ethereum, you can "poison the well" by spamming a network with irregular transactions that are specifically crafted for ASICs to find tough to swallow. And if you have a lot of time on your hands, you can commit to a regular schedule of anti-ASIC hard forks and algorithm changes, as Monero has been attempting to do for a while.
Unfortunately, this locks ASIC-resistance algorithm changes into an arms race with ASIC miners, and history has emphatically shown that ASIC miners easily win that arms race.
But how will RandomX fare?
How RandomX works
RandomX combines the two above methods, using memory-hard techniques and random code execution in an effort to permanently defeat ASICs.
It also defeats GPU miners as an incidental side-effect, so it's best mined with fast CPUs.
It basically works by constantly evolving in an unpredictable way, dramatically cycling between memory-bound mining algorithms every 2.8 days on average to prevent ASICs from ever getting a foothold.
RandomX has been audited by four different independent security research teams, and by all accounts is the most definitive effort at ASIC-resistance to date.
Time will tell how well it works, and whether it keeps working.
On the one hand, it would be a huge deal if this proves to be a system that can prevent ASIC monopolies once and for all. On the other hand, plenty of people have claimed ASIC-resistance before and been proven wrong.
RandomX is, by some accounts, a massive step above previous attempts at ASIC-resistance, but if it proves not to be ASIC-resistant, you probably won't hear about it until it's too late.
Disclosure: The author holds BNB and BTC at the time of writing.