3

I read that the original Cryptonight hashing algorithm was optimized for the L3 cache of a modern CPU, giving CPUs as large of an edge as possible. I've also heard that RandomX effectively turns a modern day CPU into the most effective mining tool - to me, these sound the same.

How is RandomX so different, as to be ASIC-resistant? What does it do that's so fundamentally different from X11, Cryptonight, Scrypt, and others, such that it can be called truly ASIC-resistant and not another algorithm that will fall in a couple of years?

2 Answers 2

3

Cryptonight really only exploited one particular feature of modern CPUs, fast cache access. When it was designed, it was thought ASICs would be at a significant disadvantage because of their general lack (at the time) of access to fast memory. It was also not imagined the ways in which ASIC manufacturers could overcome the memory constraints.

RandomX however is designed to exploit the very nature of CPUs: general purpose computing. CPUs are designed to be able to run a wide variety of tasks, this is their feature if you will. The algorithm largely achieves this by being dynamic - random programs are created and executed by a virtual machine. For an ASIC to be competitive, it would essentially have to be an improved CPU, for which everyone would benefit, not just Monero.

Quite frankly, no other algorithm (including the broad list you want compared), go anywhere near the lengths that RandomX does to favor general purpose CPUs. Probably the closest design-wise out there is ProgPoW, which targets the features of GPUs.

1

In order to make a RandomX ASIC, you need to make a chip that is good at fast memory access and arbitrary code execution. CPUs are already good at fast memory access and arbitrary code execution, so what's the whole point of creating a Monero ASIC?

https://www.reddit.com/r/Monero/comments/du79gb/behold_moneros_randomx_asic_with_matching_colours/

This site is temporarily in read-only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .