RandomX replaces fixed-hash mining with random CPU programs over a 2 GiB dataset, making Monero ASIC-resistant by design.
Key Takeaways
RandomX chains 8 random 256-instruction VM programs per hash; output of each seeds the next, blocking easy-program filtering.
Two memory structures run in parallel: a 2080 MiB dataset forcing DRAM traffic and a 2 MiB scratchpad sized to fit CPU cache levels.
The dataset rebuilds only every ~2048 blocks (~2.8 days) from a key block hash; per-attempt work changes only the nonce input.
Fast mode (2 GiB+) is for miners; light mode (256 MiB cache only) is for verifiers, trading memory for extra compute.
JIT compilers for x86-64, ARM64, and RISCV64 are included so VM programs run as native code, not interpreted bytecode.
Hacker News Comment Review
Commenters drew a direct line from Monero’s earlier CryptoNight failures to RandomX, noting that ProgPoW on Ethereum faced similar goals but was abandoned before shipping.
The question of why miners cannot simply generate branch-free programs was raised but not fully resolved in thread; the chaining design and fixed instruction encoding are the structural answers the article gives.
Privacy as a concrete use case was defended against energy-waste criticism, splitting the thread without reaching consensus.