In a nutshell, bitcoin mining is when powerful computers solve complex math problems. The work required by a computer to solve one of these problems is the equivalent of a miner trying to extract gold from the ground. However, the probability that a computer can solve one of these math problems is around 1 in 12 billion, but we'll get to that later.
Bitcoin mining produces 2 results:
For crypto newbies, much of the above probably doesn't make any sense! In order to more clearly explain what bitcoin mining is all about, let's first look at another related process: the regulation of printed money.
Consumers have a high level of trust in printed currencies, at least in advanced countries, because they are supported by a central bank, such as the FED in the United States, the European Central Bank in Europe or the UK's Bank of England.
Even digital payment systems based on regular currencies are usually supported by a central authority. For example, when a person uses a credit card to buy something on the internet, the transaction is processed by a payment processing entity such as Visa or American Express. In addition to having full transaction history records, these companies verify that no fraud is involved, which is one of the reasons why your credit card may be suspended when you're traveling abroad.
Cryptocurrencies, on the other hand, aren't regulated by a central bank. Bitcoin is supported by millions of computers worldwide called "nodes". This computer network performs the same function as the FED, Visa or American Express, but with some key differences. Nodes store data on past transactions and help verify their authenticity. However, unlike these central authorities, BTC nodes are spread around the world and record transaction data in a public list that anyone can access.
Purchases made in physical stores and online are recorded by banks; records are also kept by the retailers and paper receipts are issued in stores. Bitcoin miners achieve the same effect without these institutions by grouping transactions into "blocks" and adding them to a public registry called a "blockchain". The nodes keep records of these blocks so that they can be checked in the future.
When Bitcoin miners add a new block of transactions to the blockchain, part of their job is to verify that these transactions are accurate. In particular, Bitcoin miners ensure that cryptocurrencies aren't duplicated, a unique feature of digital coins called "double spending". With printed currencies, duplicating the currency doesn't happen (of course, counterfeiting exists, but this is another can of worms that we won't get into here!). When a person spends $15 in a store, that money is already in the cash register. But with digital currency, it's a different story.
Digital information can be copied relatively easily, so with Bitcoins and other digital coins, there is a genuine risk that a user could make a copy of his Bitcoins to send them elsewhere while keeping his original bitcoins. Let's go back to the printed currency for a moment and say that someone tried to duplicate your $5 bill to spend both the original and the counterfeit. If an employee knows that people are copying money, they can look at the serial numbers on the bills. If the numbers turn out to be the same on several bills, the employee will know that the money has been duplicated. This analogy is similar to what a bitcoin miner does when verifying new transactions.
However, with up to 650,000 purchases and sales in a single day, verifying each of these transactions can be a lot of work for miners, which is another key difference between bitcoin miners and the FED, Visa and American Express. In compensation for their efforts, miners receive bitcoins each time they add a new block of transactions to the blockchain. The amount of new bitcoins released with each mined block is called a "block reward". The overall reward is halved every 210,000 blocks, or approximately every 4 years. It was 25 in 2012, 12.5 in 2016, and 6.25 in 2020.
At this rate, the total number of bitcoins in circulation will approach the limit of 21 million, making the currency rarer and more precious over time, and also more expensive for miners.
In order for Bitcoin miners to earn Bitcoins by verifying financial transactions, several things need to happen. First, they need to check 1MB of Bitcoin blockchain transaction data, which in theory can be as small as a transaction, but often this 1MB of information equals several hundreds of transactions, depending on the amount of information stored by each transaction. This is the easy part.
Second, to add a block of transactions to a blockchain, miners must solve a complex computer math problem, known as a "functional test". What the miners are really trying to do is find a 64-digit hexadecimal number, called a "sharp", which is less than or equal to the target sharp. Basically, a miner's computer generates hashes at a rate of megahashs per second (MH/s), gigahashs per second (GH/s), and even terahaches per second (TH/s) depending on the unit, producing all possible 64-digit numbers until it finds a solution. In other words, it's a gamble.
The most recent block level of difficulty at the time of writing is above 12 billion. In other words, the probability that a computer will produce a hash below the target is 1 in 12 billion. Fortunately, modern computers are capable of generating a huge amount of hashing possibilities per second. However, Bitcoin mining requires a large amount of energy and sophisticated IT equipment, but we'll tackle this topic further below.
The difficulty level is adjusted every 2016 blocks, approximately every 14 days, in order to maintain a constant extraction rate. In other words, the more the miners compete for a solution, the more difficult the problem becomes. The reverse is also true. If you remove the computing power from the network, the difficulty is adjusted to the downside to facilitate mining.
If the probability of 1 in 12 billion doesn't seem hard enough, let us now explain the other factor which further complicates Bitcoin mining. Not only must bitcoin miners find the right cryptographic hash code, but they must be the first to do so.
As bitcoin mining is essentially a guessing game, to find the right answer before another miner does, you must above all know how fast the miner's computer can produce hashes. Just a few years ago, bitcoin mining could be done competitively on any standard computer. Over time, however, some miners figured out that the graphics cards used for video games were faster and so they began to dominate this arena. In 2014, bitcoin miners started using computers specially designed to extract encrypted currencies as quickly as possible, called ASIC (Application-Specific Integration Circuit). These special computers (designed to extract cryptos) cost between $500 and $20,000, but their Bitcoin mining speed is much higher.
Today, bitcoin mining is so competitive that it can only be done profitably with the most powerful and modern ASICs. When using standard computers, GPUs or older ASIC models, the cost of electricity required exceeds the revenue generated by the cryptos that are obtained! Even with the most recent unit available, a computer rarely suffices to compete with what miners refer to as "mining pools", or mining groups.
A mining pool is a group of miners who combine their computing power and share the mined bitcoins between those who participate. A disproportionate number of bitcoin blockchains are mined by mining groups rather than by individual miners. Mining groups and companies have accumulated large percentages of Bitcoin computing power.
With a probability of 1 in 12 billion possibilities, increasing difficulty levels and the huge network of users controlling the transactions, a block of transactions is checked approximately every 10 minutes. But it is important to remember that 10 minutes is a goal, not a rule.
The Bitcoin network can process around 6 transactions per second, and the transactions are recorded in the blockchain every 9 minutes. For the sake of comparison, American Express can process around 23,500 transactions per second. However, as the network of Bitcoin users continues to grow, the number of transactions made in 9 minutes will eventually exceed the number of transactions that can be processed in 9 minutes. At that time, wait times for transactions will begin and continue to increase, unless a change is made to the Bitcoin protocol.
This problem at the heart of the Bitcoin protocol is known as "scaling". While Bitcoin miners generally agree that something needs to be done to combat scaling, not everyone can agree on how to do it. A few solutions have been proposed to solve the scaling problem. Developers have made the following suggestions:
With less data to check per block, solution 1 would make transactions faster and less costly for miners. Solution 2 would solve the scaling problem by allowing more information to be processed every 9 minutes by increasing the size of the block.
In 2018, Bitcoin miners and mining companies representing around 75-85% of the network's computing power voted to integrate a program that reduces the amount of data needed to verify each block. In other words, they opted for solution 1.
The program is known as SegWit, this term is the combination of "Segregated", which means kept separate, and "Witness", which refers to the signatures in a Bitcoin transaction. Consequently, in this context of a separate witness, it is a question of separating the signatures of the transactions from a block and of joining them as an expanded block. Although adding a program to the Bitcoin protocol doesn't seem to be a solution, it is believed that the signature data represents around 66% of the information that is processed in each transaction block.
Less than a month later, also in 2018, a group of miners and developers began a daunting endeavor, enabling the Bitcoin network to create a new crypto using the same type of code that the Bitcoin uses. While this group agreed that it needed a better scaling solution than the one used by Bitcoin, it was worried that the adoption of a different cryptocurrency technology would not entirely solve this scaling problem.
The resulting currency, known as "bitcoin cash", has increased the block size to 8 MB to speed up the verification process and allow over 1 million transactions to be processed each day. Since that day, there has been a heated debate between supporters of the two systems, with each group arguing that its version of Bitcoin is the "real" Bitcoin. As of 28 April 2020, Bitcoin Cash was priced at $240 (or 222€) while the value of Bitcoin that day was a staggering $7,735 (or 7,142€).