This is a frequently asked, but still very relevant, question in the world of cryptocurrencies.
We’ve witnessed the heated debate involving the future of Bitcoin and one of the hottest topics was always “Satoshi’s original vision”.
In the original Bitcoin code, authored by Satoshi Nakamoto, the idea behind Bitcoin was that every participant would simply leave the Bitcoin Core running in the background and the program itself would reward the user with a few Bitcoins per day for their contribution to the network. Since the Bitcoin Core program originally ran on the Windows32 API, it was a CPU based program (like MS Office and Photoshop, for example).
Thus, Satoshi’s “original vision” was CPU-based mining. So what happened?
Bitcoin uses an encryption algorithm called “SHA256”. Don’t be scared 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 after it is 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 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 noticed that they weren’t making many Bitcoins any more. This was due to the higher difficulty caused by the faster GPU miners. Soon, Bitcoin was shipped with its CPU mining function disabled by default, as it had become a waste of energy and CPU cycles.
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.
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. As long as dedicated chips are hard to manufacture for a given cryptocurrency and as long as algorithms use a lot of memory, this allows CPUs to compete with GPUs and ASICs. But hackers are working 24×7 on faster algorithms and hardware, so hurry up and mine yourself some crypto before these are also rendered impossible to mine!
Image Credit: Silberfuchs