Mining Algorithms Explained:
From CPU to ASIC
A comprehensive guide to how proof-of-work algorithms shape the mining landscape — what makes them tick, why hardware matters, and which ones you can mine today.
A mining algorithm is the cryptographic puzzle miners solve to validate blocks and earn rewards. Different algorithms have different computational profiles: some are designed for CPUs (memory-hard designs like RandomX), others favor GPUs (parallel-friendly designs like KAWPOW, Equihash, and Groestl), and some are dominated by ASICs (simple, parallelizable designs like SHA-256). The algorithm a coin uses determines what hardware you need, how decentralized the network can be, and how accessible mining is to everyday participants.
What Is a Mining Algorithm?
At the core of every proof-of-work cryptocurrency is a hash function — a mathematical one-way function that takes an input of any size and produces a fixed-size output (the hash). Mining algorithms use these hash functions to create a computationally expensive puzzle that miners race to solve.
The Proof-of-Work Concept
The fundamental idea is simple: find a number (called a nonce) that, when combined with the block data and fed through the hash function, produces an output below a certain target value. Because hash functions are unpredictable, the only way to find a valid nonce is brute-force trial and error.
→ Append nonce value (starting at 0)
→ Run through hash function
→ Hash < target? No → increment nonce, try again
→ Hash < target? Yes → block found!
Think of it like a massive lottery. Every hash attempt is like buying a ticket with a random number. The "winning" tickets are those below the difficulty target. The more tickets you buy per second (hashrate), the better your odds — but each individual ticket is pure chance.
Why Different Algorithms Exist
If all coins used the same algorithm, they would compete for the same mining hardware, and the most powerful networks would absorb all the hash power. Different algorithms exist to:
Decentralization: Memory-hard algorithms prevent a single ASIC manufacturer from dominating the network.
Accessibility: CPU-friendly algorithms let anyone with a computer participate without specialized hardware.
Security: Unique algorithms create independent security domains — an attack on one algorithm cannot be repurposed against another.
Efficiency: Some projects intentionally choose ASIC-friendly algorithms because dedicated hardware provides the highest hash-per-watt, maximizing network security per unit of energy.
CPU-Friendly Algorithms
CPU-friendly algorithms are designed so that general-purpose processors are competitive with — or even superior to — GPUs and ASICs. The key technique is making the algorithm memory-hard: requiring fast random access to a large chunk of RAM that cannot be efficiently replicated in custom silicon.
RandomX (Monero, C64Chain, JunoCash)
RandomX is the gold standard of CPU-optimized mining algorithms. Developed for Monero and activated in November 2019, it generates and executes random programs in a virtual machine, with heavy dependence on the CPU's cache hierarchy.
Step 1: A 2 GB dataset is generated from the blockchain state using AES and Blake2b. This fills the CPU's L3 cache or exceeds it, forcing real memory access.
Step 2: A random program is generated for each nonce. This program includes integer operations, floating-point operations, and random reads from the dataset.
Step 3: The program executes in a specialized virtual machine that mirrors x86-64 register architecture — giving CPUs a natural advantage.
Step 4: The output is hashed with Blake2b to produce the final hash for difficulty comparison.
Why CPUs win: RandomX is specifically designed to exploit features that CPUs have and GPUs lack — deep branch prediction, large multi-level caches, out-of-order execution, and a native x86-64 instruction set. A GPU's thousands of simple cores cannot efficiently run the complex, branching random programs that RandomX generates.
Imagine RandomX as a test that requires reading random pages from a thick encyclopedia, doing arithmetic, then looking up another random page based on the result. A human with the encyclopedia on their desk (CPU with large cache) is far faster than a thousand humans each with a tiny photocopied excerpt (GPU cores with small local memory).
Since RandomX's deployment in 2019, no viable ASIC has been produced for it. The random program generation makes fixed-function hardware nearly impossible to design — you would essentially need to build a general-purpose CPU, at which point there is no advantage over commodity processors. This is the strongest ASIC resistance achieved by any mining algorithm to date.
GPU-Friendly Algorithms
GPU-friendly algorithms are designed around parallel computation — performing the same operation on many data elements simultaneously. GPUs, with their thousands of simple cores, excel at this workload. These algorithms typically use moderate memory requirements (enough to deter simple ASICs) combined with high computational throughput.
KAWPOW (Ravencoin)
KAWPOW is a modified version of ProgPow, specifically tuned for GPU mining. It combines a memory-hard ethash-style DAG with randomly generated math programs that change every block.
DAG size: Grows over time (currently ~4 GB), which sets a minimum GPU VRAM requirement and obsoletes older cards.
Random math: Each block generates a unique program using GPU-native operations (FMA, rotations, bitwise ops), making fixed-function ASICs impractical.
Memory bandwidth: Heavy random reads from the DAG saturate GPU memory bandwidth, which is the primary bottleneck and the metric that determines hashrate.
Equihash (Zcash)
Equihash is a memory-hard proof-of-work based on the Generalized Birthday Problem. Miners must find sets of values whose XOR sums to zero across multiple rounds of a collision-finding algorithm.
The algorithm is parameterized as Equihash(n, k), where n controls the hash output size and k controls the number of collision rounds. Zcash uses Equihash(200, 9), which requires approximately 700 MB of working memory.
→ Sort and find collisions (round 1 of 9)
→ XOR colliding pairs, sort again (round 2)
→ ... repeat through 9 rounds ...
→ Find 512 indices whose XOR = 0 (solution!)
Despite being designed as ASIC-resistant, Equihash ASICs were developed by Bitmain (Z9) and Innosilicon (A9) in 2018. This led some Equihash coins to fork to modified parameters (like Equihash 144,5 or 192,7), while Zcash chose to accept ASICs. It remains GPU-mineable but ASICs are significantly more efficient on the original 200,9 parameters.
Verthash (Vertcoin)
Verthash is Vertcoin's custom algorithm, designed after the project was hit by multiple 51% attacks on its previous Lyra2REv3 algorithm. It uses a 1.2 GB data file generated from the blockchain that miners must have stored locally.
Large I/O requirement: The 1.2 GB verthash.dat file must be read with random access patterns, making it extremely memory-bandwidth intensive.
GPU-optimized: The access patterns are designed to saturate GPU memory bandwidth while being inefficient on ASIC architectures that typically optimize for computation, not random I/O.
NiceHash resistant: The large data file requirement makes it impractical to rent hashrate on marketplaces, since the file must be pre-generated and stored locally.
XelisHash (Xelis)
XelisHash is a modern GPU-mining algorithm designed for the Xelis blockchain. It uses a novel scratchpad-based approach combined with AES encryption rounds and a custom mixing function.
The algorithm processes data through multiple stages: an initial scratchpad fill using AES-NI instructions, followed by a memory-hard mixing phase with random reads and writes, and a final hash compression. It is specifically tuned so that GPUs with high memory bandwidth and fast integer units achieve the best performance.
Groestl (Groestlcoin)
Groestl is one of the five finalists in the NIST SHA-3 competition, designed by researchers from the Technical University of Denmark and TU Graz. As a mining algorithm, it is notable for its clean, well-studied cryptographic design and excellent GPU performance.
Structure: Groestl uses two fixed permutations (P and Q) based on a wide-pipe AES-like construction. The compression function processes 512-bit or 1024-bit blocks.
GPU affinity: The AES-like round transformations (SubBytes, ShiftBytes, MixBytes) map extremely well to GPU architectures, which can compute table lookups in parallel across thousands of threads.
Double Groestl: Groestlcoin uses Groestl-512 applied twice (hash the hash), which doubles the computation but preserves the GPU-friendly characteristics.
Energy efficiency: Groestl is notably power-efficient compared to many other algorithms. GPUs running Groestl typically consume less power per hash than equivalent SHA-256 or Scrypt workloads.
Think of GPU-friendly algorithms like a massive parallel assembly line. Each GPU core is a worker performing the same task on a different piece of data. CPUs are like having a few expert workers — brilliant at complex tasks, but outnumbered thousands to one. For the repetitive, parallel nature of hash computation, the army of simple GPU cores wins by sheer throughput.
ASIC-Resistant vs. ASIC-Friendly
The debate over ASIC resistance is one of the most fundamental design decisions in cryptocurrency. It boils down to a philosophical choice about who should be able to mine.
The ASIC-Resistant Philosophy
Decentralization: When anyone with a CPU or GPU can mine, hash power is distributed among thousands of individuals rather than concentrated in a few industrial farms.
Accessibility: No need to buy specialized, expensive hardware that becomes e-waste when an algorithm changes or a coin's price drops.
Manufacturing independence: ASIC supply chains are controlled by a handful of companies (Bitmain, MicroBT, Canaan). If mining requires their hardware, they become kingmakers.
Attack resistance: A 51% attack is harder when the attacker cannot simply order hardware from one manufacturer. They would need to acquire millions of consumer CPUs or GPUs.
Techniques used to achieve ASIC resistance include:
| Technique | How It Works | Example |
|---|---|---|
| Memory hardness | Require large, fast random-access memory that is expensive to put on an ASIC die | RandomX (2 GB), Ethash (4+ GB DAG) |
| Random programs | Generate unique computation per nonce, preventing fixed-function circuits | RandomX, KAWPOW/ProgPow |
| Algorithm rotation | Periodically change the algorithm to invalidate existing ASICs | Monero (pre-RandomX), Ravencoin |
| Large data dependencies | Require a large pre-generated dataset stored locally | Verthash (1.2 GB file) |
The ASIC-Friendly Philosophy
Maximum security per watt: ASICs are orders of magnitude more efficient than GPUs or CPUs. A SHA-256 ASIC does ~100 TH/s at 3000W. Achieving the same with GPUs would require ~50,000 GPUs and ~10 MW.
Committed capital: ASIC miners have hardware that can only mine one algorithm. They cannot easily switch to attack another coin. This creates "skin in the game" that aligns miners with the network's long-term health.
Market stability: GPU miners chase profitability and hop between coins. ASIC miners are locked in, providing consistent hash power and security.
Inevitable: History shows that sufficiently valuable algorithms eventually get ASICs regardless of resistance efforts. Fighting this arms race is costly and disruptive.
SHA-256 and Scrypt: The ASIC-Dominated Landscape
SHA-256 (Bitcoin, Bitcoin Cash) was never designed to be ASIC-resistant. Its straightforward computation is ideal for custom silicon. Modern SHA-256 ASICs achieve hashrates measured in hundreds of terahashes per second, making CPU and GPU mining completely futile.
Scrypt (Litecoin, Dogecoin) was originally designed with memory-hard properties to resist ASICs, but the memory requirement (128 KB) proved too small. Scrypt ASICs arrived in 2014 and now dominate both networks entirely. For a detailed look at how mining hardware evolved from CPUs to ASICs, see our history of crypto mining.
ASIC-friendly algorithms are like assembly-line work — simple, repetitive, and best done by specialized machines. ASIC-resistant algorithms are like creative problem-solving — they require flexibility, large working memory, and general intelligence that specialized machines cannot replicate. The tradeoff is efficiency vs. accessibility.
Algorithm Comparison Table
A side-by-side comparison of the most common mining algorithms in the current landscape:
| Algorithm | Type | Memory Req. | Notable Coins | ASIC Resistant? |
|---|---|---|---|---|
| SHA-256 | ASIC | Minimal | Bitcoin, Bitcoin Cash | No |
| Scrypt | ASIC | 128 KB | Litecoin, Dogecoin | No |
| RandomX | CPU | 2 GB + 256 MB/thread | Monero, C64Chain, JunoCash | Yes (strong) |
| KAWPOW | GPU | 4+ GB DAG | Ravencoin, Neoxa | Yes |
| Equihash (200,9) | GPU / ASIC | ~700 MB | Zcash, Horizen | Partial (ASICs exist) |
| Equihash (144,5) | GPU | ~2.5 GB | Bitcoin Gold | Yes |
| Verthash | GPU | 1.2 GB data file | Vertcoin | Yes |
| XelisHash | GPU | Scratchpad-based | Xelis | Yes |
| Groestl | GPU | Moderate (AES tables) | Groestlcoin | Yes |
| Blake2s | GPU | Minimal | Various | Partial |
| Ethash | GPU / ASIC | 4+ GB DAG | Ethereum Classic | Partial (ASICs exist) |
Type indicates which hardware is most efficient for mining that algorithm today. "GPU / ASIC" means ASICs exist but GPUs remain competitive or are used by a significant portion of the network.
Memory Req. is the minimum memory a mining device needs. Higher memory requirements generally correlate with stronger ASIC resistance, because fast, large-capacity memory is expensive and difficult to integrate into custom ASICs.
Algorithms Supported by Suprnova
Suprnova has been operating mining pools since 2013 and currently supports a wide range of algorithms across its pool network. Here is what you can mine with us:
| Algorithm | Coin | Hardware | Pool Link |
|---|---|---|---|
| Groestl | Groestlcoin (GRS) | GPU | grs.suprnova.cc |
| KAWPOW | Ravencoin (RVN) | GPU | rvn.suprnova.cc |
| Equihash (200,9) | Zcash (ZEC) | GPU / ASIC | zec.suprnova.cc |
| Equihash (144,5) | Bitcoin Gold (BTG) | GPU | btg.suprnova.cc |
| Verthash | Vertcoin (VTC) | GPU | vtc.suprnova.cc |
| XelisHash | Xelis (XEL) | GPU | xel.suprnova.cc |
| RandomX | Monero (XMR) | CPU | xmr.suprnova.cc |
| RandomX | C64Chain (C64) | CPU | c64.suprnova.cc |
| RandomX | JunoCash (JUNO) | CPU | juno.suprnova.cc |
Visit any pool link above to create an account, configure your workers, and start mining. Check our mining hardware guide to find the right GPU or CPU for your chosen algorithm. Each pool has a Getting Started page with step-by-step instructions for your specific algorithm and hardware. If you need help, join our Discord server where experienced miners and pool operators are always available.
Bottom Line
The algorithm defines the playing field. Before choosing what to mine, understand the algorithm. It determines whether your CPU, GPU, or ASIC is competitive, how much memory you need, and how decentralized the network is. There is no universally "best" algorithm — only the best algorithm for your hardware and goals.
ASIC resistance is a spectrum, not a binary. RandomX has held strong for over six years with no viable ASIC. Equihash's resistance lasted about three years. Scrypt's lasted about two. The stronger the memory-hardness and computational complexity, the longer the resistance holds — but nothing is guaranteed forever.
GPU mining remains the sweet spot for most miners. CPUs are limited to a handful of algorithms (primarily RandomX). ASICs lock you into a single coin. GPUs offer flexibility across dozens of algorithms and coins, can be resold, and continue to find new algorithms to mine as the landscape evolves.
Memory matters more than raw speed. The single biggest factor in ASIC resistance is memory requirement. Algorithms that require gigabytes of fast random-access memory have proven far more resistant than those that rely on computational complexity alone. When evaluating a new coin's algorithm, look at the memory requirement first.
Suprnova supports the algorithms that matter. From CPU-friendly RandomX to GPU-optimized Groestl, KAWPOW, Equihash, Verthash, and XelisHash — we run pools for the algorithms that real miners use. Visit suprnova.cc to find your pool and start mining.