This is a frequently asked, but still very relevant, question in the world of cryptocurrencies.
There seems to be a permanent, and very heated, debate involving the future of Bitcoin and one way or another, the discussion always turns to “Satoshi’s original vision”. What was his original vision? Is it the Bitcoin we use today?
In the original Bitcoin code, authored by Satoshi Nakamoto, the idea behind Bitcoin was that every person could simply run Bitcoin Core, using their computer’s spare time, and the program itself would reward the user with a few Bitcoins per day against their contribution to the network. Bitcoin Core originally ran on the Windows32 API, so it was a CPU-based program.
Thus, Satoshi’s “original vision”, at least as far as his first implementation of Bitcoin Core showed us, was CPU-based mining accessible to everyone. So what happened? Why don’t we mine using CPUs anymore? Why are there gigantic warehouses full of mining machines in Russia or Texas?
Bitcoin uses an encryption algorithm called “SHA256”. Don’t be intimidated by this seemingly cryptic name. Like many other concepts in cryptocurrencies, this algorithm is known by its acronym, which stands for “Secure Hashing Algorithm”. The number suffix tells us how many bits it produces as output. For SHA256, it is thus 256 bits, which equals 32 bytes.
It turns out that this algorithm requires very little memory and trivial computer instructions to run. Developers immediately realized the potential for this algorithm to be implemented in graphics cards, known as GPUs. The sales of graphics cards for Bitcoin mining skyrocketed and it became a hobby for many.
The GPUs were so much better suited for the job, soon the home users that left their PC running with Bitcoin Core in the background noticed that they weren’t making as many Bitcoins any more. This was due to the higher difficulty induced by the faster GPU miners. Soon, Bitcoin Core was shipped with its CPU mining function disabled by default, as it had simply become a waste of energy and CPU cycles. GPUs had devoured all the hashrate.
GPU miners were happy making tons of Bitcoins, but hardware hackers were working hard on an even faster way to mine Bitcoins : the all feared ASICs.
ASICs are a generic name for chips that are built for a single purpose. A programmer can easily implement the SHA256 algorithm on a chip called a FPGA. When this development chip is ready, the FPGA code can be sent to China, where the chip can be replicated millions of times. Soon, dedicated machines with tens of of these chips started pumping trillions of calculations per second, shaming GPUs and rendering them obsolete (GPU’s karma for ruining CPU mining!).
Thus, Satoshi’s naivety made CPU mining impossible.
The SHA256 algorithm is readily accessible to Windows developers, but it was also available to hardware hackers which blew the cover of Bitcoin mining by deploying machines that can do nothing but churn out SHA256 hashes faster than any CPU could ever dream of.
That is how GPUs and ASIC miners killed CPU-based Bitcoin mining – but this wasn’t the end of the story.
Many new coins adopt very difficult encryption algorithms, which aren’t as easy to implement in ASICs. These coins usually adopt the CryptoNight or HODL encryption algorithms, which either spend tons of memory or consume lots of complex CPU instructions, such that they cannot be easily implemented as chips.
As long as dedicated chips are hard to manufacture for a given cryptocurrency, and as long as algorithms spend a lot of memory, this allows CPUs to compete with GPUs and ASICs. But hackers are constantly working on faster algorithms and hardware, so hurry up and mine yourself some crypto before these are also rendered impossible to mine!