Hello, mining folk!

I have a feeling that the majoirty of people within the industry believe that CPU mining is something that was only profitable in the past. A large proportion of people fail to realize that there are is actually a plethora of projects that are available that will actually allow you to mine their blockchains with the CPU on your very own personal computer or laptop.

For those interested, I have put together a piece to go over everything about CPU mining and which projects allow you to mine for profits with your CPU today!

What is CPU Mining?

Mining is an integral component in every blockchain. It involves the process of adding new blocks to the blockchain, processing and verifying the transactions in that specific block, and releasing new coins into the ecosystem. The process of mining also secures the network. The combined hashing power (the total combined amount of computation power behind the mining) is what secures bad actors from being able to “take over” the network and spend extra cryptocurrencies they do not own (known as double-spending).

CPU Mining involves mining a specific blockchain with the central processing unit (CPU) on your personal computer. The more cores that your processor has (dual-core/quad-core etc) the more powerful your CPU will be for mining!

CPU mining was actually the original type of mining available when the Bitcoin network was released by Satoshi himself. You were once able to mine blocks on the Bitcoin network and receive the mining reward, which at that moment was around 50 BTC!!! However, over time, GPUs came in and made it unprofitable for CPU mining on the BTC blockchain. This was because the hash rate became so high as GPUs had more power relative to CPUs and ASICs came in meaning that CPUs did not have enough processing power to keep up.

Even today, GPU mining is pretty much non-existent within Bitcoin. This is because ASICs (which are application-specific machines made for mining BItcoin) pushed out the GPUs from being profitable.

Nevertheless, over time, cryptocurrency projects have started to develop specific mining algorithms that block GPU mining and ASIC mining - which in turn, protects the CPU miners. There are a bunch of reasons why projects have chosen to go through the route of ASIC resistance, but the main reason is to protect mining centralization. Once, CPU and GPU miners have been removed, the distribution of the mining (and the newly generated coins) are in the hands of the few ASIC operators - skewing the token economic distribution.

Pros & Cons of CPU Mining

Pros:

CPU mining can be done by anybody with a personal computer or laptop

CPU mining is a great way to create a very distributed token economy as the mining will typically not be centralized amongst a small group of holders.

Some cryptocurrencies are STRICTLY CPU minable only!

Cons:

The majoirty of coins do NOT allow for CPU mining at all.

CPU mining is unprofitable for 99% of cryptocurrency projects.

CPU mining will typically render your PC as inactive whilst mining.

CPU Mining Scripts

-LXRHash

LXRHash is a mining algorithm that targets a bottleneck in memory rather than computation power. Targeting a bottleneck in the memory means that this specific mining algorithm is a RAM (random access memory) intensive algorithm. It requires a non-cacheable large table in the memory which means that all machines will need to require at least 1GB of RAM available to be able to hold this memory 1GB table.

Including RAM into specific ASIC machines is difficult to achieve as this can become very costly. Furthermore, if ASICs do integrate the required memory, the algorithm can easily be changed to require more memory - expelling ASICs from the network again. The process of just increasing the size of the lookup table makes it easy for the network to remain ASIC resistance than looking for a fresh algorithm that excludes ASICs.

To find out more about LXRHash, take a look at this article.

-X16R and X16Rv2

The X16R is an algorithm that includes 16 different hash functions in its series. It is the off spawn of the X11 algorithm which included 11 different hashing functions. The problem with the X11 algorithm was that ASIC manufacturers figured out how to include the 11 different functions within their hardware - destroying the ASIC resistance.

The X16R algorithm includes 5 extra hashing functions into its algorithm. Furthermore, the algorithm makes the order of the hashing functions random by utilizing the output of 1 block to become the input of the next block. This leads to each block being mined in a different order from the previous one meaning that ASICs will have no chance of figuring out which order to mine.

To find out how this algorithm creates a random order for the hashing function, take a look at this article. It is a pretty innovative design!

-CryptoNight

CryptoNight is an algorithm that was developed as part of the CryptoNote suite. It is an algorithm that allows for both CPU and GPU mining whilst remaining ASIC resistance. The CryptoNight algorithm relies on RAM - creating a problem for ASICs from entering into the market. The algorithm asks for a 2MB size of memory which is capable in the L3 cache for the majority of modern processors but very difficult for ASICs to incorporate.

CryptoNight requires the use of a ‘scratchpad’ with a is a random set of data that is stored to use for values during a hashing function. Without the scratchpad, the algorithm will not be able to form the function.

To find out more about CryptoNight, take a look at this article.

CPU Coins To Mine

Monero

Monero is a privacy-focused cryptocurrency that uses a set of tools to create a network in which users can transfer value without being viable to any outside party. Mining on Monero is done via the newly upgraded RandomX algorithm which is more optimized for CPU mining than GPU mining. The algorithm uses random code execution with memory-hard techniques to help to prevent ASICs from joining the market, as well as giving CPU miners an advantage over CPU miners.

Mining Specs;

-Algorithm; Nicehash RandomX

-Hashing Function; BLAKE2b

-Mining Reward; 2.09 XMR per block;

- Homepage; https://www.getmonero.org/

- Mining Tutorial; https://web.getmonero.org/get-started/mining/

Ravencoin

Ravencoin is a cryptocurrency project that is designed to allow users to transfer real-world digital assets that are created by burning RVN tokens. The project uses the X16Rv2 algorithm that uses 16 different hashing functions in a random order to achieve ASIC resistance.

Mining Specs;

-Algorithm; X16Rv2

-Hashing Function; 16 different functions (can be found here).

-Mining Reward; 5000 RVN per block;

- Homepage; https://ravencoin.org/

Bytecoin

Bytecoin really is a veteran cryptocurrency project as it was started in 2014! Bytecoin is another privacy-focused project that uses Ring signatures and stealth addresses to grant users privacy whilst conducting transactions. Bytecoin utilizes the CryptoNight algorithm that allows users to mine with their CPU!

Mining Specs;

-Algorithm; CryptoNight

-Hashing Function; BLAKE-256, Groestl-256, HJ-256, and Skein-256

-Mining Reward; 451.87 BCN per block;

- Homepage; https://ravencoin.org/