Cryptocurrency mining is the process of computing a new cryptocurrency unit based on all the previously found ones. The concept of cryptocurrency is nearly universally recognized by the publicity of the original cryptocurrency, Bitcoin. Cryptocurrencies were supposed to be a broadly democratic currency vehicle not controlled by any one entity, such as banks, governments, or small groups of companies. Much of a cryptocurrency’s acceptance and trustworthiness is based on that proposition. However, with Bitcoin, that is not how it unfolded. Instead, Bitcoin quickly became virtually monopolized by a small number of entities located in an even smaller number of geographies. This outcome is the result of particular properties that govern how Bitcoin mining works:
- Bitcoin is designed to be computationally intensive, requiring huge amounts of power. Entities with access to the lowest cost power have a huge advantage.
- Rewards are given to early adopters who build the fastest mining hardware in ASICs on the latest technology nodes, leaving all other contenders at a huge disadvantage.
The extent to which these unforeseen developments affect the validity of Bitcoin as a truly democratized, trusted cryptocurrency has been a topic of debate among experts. In response, developers have devised several new cryptocurrencies, which, by design, are mathematically proven to be impervious to the techniques that allowed Bitcoin to become largely monopolized.
The Value of a Currency
For something to be considered a currency, society demands that it be fungible (interchangeable), durable, portable, recognizable, and a store of value. Cryptocurrencies are perfectly durable, provably recognizable (mathematically), and perfectly portable. Fungibility is currently provided primarily through currency exchanges.
Storage of value is achieved by limiting the supply. Minting the cryptocurrency through protocol-dictated (low) inflation rates creates built-in scarcity. Scarcity drives value, whether it is diamonds, gold, the US dollar, or cryptocurrency. Guaranteed scarcity is a required safeguard against undue inflation or deflation of the value, which makes cryptocurrency suitable for use as a currency.
Bitcoin’s scarcity is mathematically guaranteed by its protocol that only allows a fixed number of Bitcoins to be awarded per block mined. The amount of energy required to mine a Bitcoin depends on a difficulty adjusted algorithm. As more miners compete for the block reward, the difficulty increases, causing the Bitcoin network to consume more energy overall. This energy is paid for by the miners and is the primary expense of the Bitcoin network.
The Bitcoin mining process involves execution of a complex, specified algorithm that searches for a specific number in a very large number space. Executing this algorithm consumes a certain amount of electrical energy per search, hence the efficiency of a Bitcoin algorithm is usually measured in dollars per gigahash per second ($/Gh/sec), where the cost is largely driven by power consumption.
First-Generation Bitcoin Mining and Beyond
CPUs were used as first-generation execution engines to run the Bitcoin mining algorithm. Later, Bitcoin miners switched to GPUs to gain speed. CPUs and GPUs are software-programmable, general-purpose machines which are not particularly efficient at executing the Bitcoin mining algorithm. Moreover, they consume a relatively large amount of energy while executing the algorithm.
As Bitcoin’s popularity grew and the competition to find new Bitcoins increased, operators of Bitcoin miners started to convert the Bitcoin-mining software into hardware implementations to speed the search and to reduce the amount of electrical power required for discovering new Bitcoin. Bitcoin miners started using FPGAs instead of software running on CPUs and GPUs. FPGAs are semiconductor devices that can be programmed by end users to implement digital functions, which, for example, can implement computations directly in hardware rather than by executing the instructions of a program.
Computations implemented in hardware are much more efficient than software running on a CPU for the equivalent calculation. In addition, a hardware implementation enables much higher degrees of parallelism, further increasing computational performance. Consequently, FPGAs execute the Bitcoin algorithm much more quickly and more efficiently than either CPUs or GPUs.
However, because the Bitcoin algorithm is unchanging, the most efficient hardware implementation is a fixed-function logic circuit – an ASIC. This fact has led to the migration of FPGA-based implementations to ASIC-based ones because reprogrammability is not needed for the Bitcoin algorithm.
Bitcoin has lost much of its allure due to the concentration of control of the world’s Bitcoin mining resources by a few players in a few locations. In response, the larger, global cryptocurrency community has started to develop alternative cryptocurrencies using lessons learned from the Bitcoin experience.
Part 2 of this blog will discuss alternatives to Bitcoin cryptocurrency.