You have probably heard about the many criticisms against Bitcoin (BTC) and its PoW (Proof-Of-Work) consensus mechanism. Bitcoin is being called slow and energy inefficient. At the same time, there are critics who shill for another cryptocurrency that they have become a die-hard supporter of. The major criticisms against Bitcoin is that it “wastes a lot of energy” and that it is “slow and not able to process large transaction volumes”.
Well, I would be wrong to say that those statements are false. In fact, they are correct. Bitcoin, the first and therefore oldest blockchain in existence, has its limitations. Disagreements among the Bitcoin community led to a split or fork back in 2017 which created Bitcoin Cash (BCH). Such splits are common in the blockchain space when there are conflicts on which direction it should go. The BCH supporters want to scale Bitcoin to become faster with lower transaction fees.
It may be slow, but that doesn’t mean it isn’t accomplishing its purpose, which founder Satoshi Nakamoto made clear in the white paper back in October 2008. Bitcoin was developed to be a cryptographically secure P2P (Peer-to-Peer) payment system that runs on a decentralized network. Let’s take a look at why Bitcoin is slow yet still accomplishes its purpose.
Double Spend Problem
Prior to Bitcoin, one problem that digital electronic payment systems faced was what is called “double spending”. In electronic systems, data can easily be copied since it is now in digital format. Computers can replicate information and transmit it across a distributed network. That is why we can easily make a copy of digital files, quickly and then save it anywhere we choose. The problem is that when you convert money electronically, you can also save it and use it more than once.
This is the problem of “double spending”, and it was an inherent flaw in electronic payment systems since digital money can be duplicated and falsified just like any other data file. If it is allowed to proliferate, it leads to inflationary pressure because of the amount of money in circulation that originally did not exist. This is like counterfeiting with fiat currency.
To give an example of this, let’s say we have an electronic payment system called “ePayNow” that uses a token named “eP”. Alice wants to give Bob 5 eP as payment for some good he sold her. Alice then pays the amount. Now Alice decides to also use the same 5 eP as payment to Carol to buy another item. In theory, you are not supposed to be able to spend the same currency by paying two different people the same 5 eP. In electronic payment systems that is possible, unless you implement a system of checks against it.
Double-Spend Attack would allow Alice to spend the same Bitcoin to pay Bob and Carol.
In this case, what is absent from the system is cryptography to secure the transaction and a consensus mechanism to verify it. This brings about a system of verification to check for double-spending using a decentralized network of trustless computers called nodes. The data is then written to a public ledger database that is what you call a blockchain. It effectively resolves the problem with double-spends. Now it is still possible to launch a double-spend attack, but due to the blockchain, it makes it more difficult and costly to do so.
Blockchain Saves The Day
Satoshi Nakamoto made blockchain the “hero” when he implemented it for Bitcoin. He was able to address the double-spending issue through the use of verifying transactions on a blockchain. Bitcoin uses game theory to achieve a general agreement on the validity of a transaction, which is put into blocks and verified by all the nodes participating in the network. The average time a block is produced on the Bitcoin network is 10 minutes.
The blockchain is a data structure that is a distributed database that is linked by cryptographic hashes. It is different from traditional databases in its design and purpose. It stores data for the purpose of verification that can be used as a single source of truth.
In the PoW consensus mechanism, nodes called “miners” compete to validate a block by trying to solve difficult cryptographic puzzles. The miner who gets the correct answer, called the nonce, will validate the block and in return get a reward for it. Bitcoin uses a difficulty target that determines how quickly the nonce can be solved based on total hash power in the network. The difficulty increases with the total amount of hash power available on the network. The increase in the hash power is directly proportional to the number of miners on the network. The difficulty increases in order to slow down the rate of block-creation. This is done in order to prevent consuming all the supply of Bitcoin. It is possible for a bad actor with a majority of the hash rate (i.e. a powerful computer) to quickly mine blocks to collect the rewards. Therefore the algorithm will adjust by making it more difficult to mine and allow other miners a chance at solving for the nonce.
Calculating the nonce expends a lot of electricity, which is what critics call inefficient. According to Bitcoin evangelist Andreas Antonopoulos, this is not a waste of energy but rather a part of the production process that creates Bitcoin. Just like you expend energy to extract gold from the ground, energy, in this case, is being spent to produce Bitcoin. That is where the value lies and the miners get a reward in return for their computing contribution and securing the network. When looking at where many miners get their electricity sources though, they are actually green and renewable sources (Read this report link from Coinshares). In Iceland, miners use geothermal power for bitcoin mining. Other sources of electricity include hydrothermal and solar power. The process is rather long to explain, but it is basically how transactions on a Bitcoin payment network are verified.
A seller cannot cheat the buyer by pretending they did not receive a payment and vice versa. This is because the truth is recorded on the blockchain database, and made immutable and transparent for all to see. The blockchain acts as a public ledger that can corroborate Alice paid Bob, and Bob received his payment. There is a consensus among trustless nodes, who don’t have to know each other. This helps to eliminate any sort of collusion which is more likely to occur in trusted systems because it is centrally controlled.
The blockchain was meant to be the opposite, so that is where it builds trust. In other words, every part of a transaction must act in good faith or else there will be consequences. If a bad actor tries to double spend, they will realize that it costs more to attack the network so they would rather mine in good faith. The transparency discourages dishonesty since it is made available to the public and no one can tamper with the transaction once it has been added to the blockchain. Thus, Bob cannot say that Alice didn’t pay him because if we use a block explorer it can track the transaction to show proof of payment.
The Scalability Trilemma
The blockchain sounded like the long-awaited solution in financial technology.
Not so fast, let me now explain why it is not so.
Unfortunately, a blockchain faces what Ethereum founder and blockchain enthusiast Vitalik Buterin calls the “Scalability Trilemma”. This is because there is a tradeoff that must be made in order to have a blockchain. Ideally, a blockchain has 3 important properties which are:
However, the problem here is that a blockchain can only have 2 out of 3 of those properties.
You can only have at most 2 out of the 3 properties of a blockchain, which is decentralization and security. When you have those two, you cannot achieve scalability. This can be shown by the diagram for the “Scalability Trilemma” theory (Bitcoin example).
When you have more decentralization, you have greater security as well but you will have to sacrifice scalability.
When you have less decentralization, you have scalability but with less security too.
Decentralized systems bring a more distributed architecture to the network. There is no single point of failure, thus it is more redundant and secure. If any node goes down in the network, it does not affect the entire system. The system can continue to function as a whole. Think of the Internet as a decentralized network. When one server on the Internet is attacked, there are still other servers that keep the network up and running.
In a blockchain, if a node that stores a transaction in a block is attacked, it does not matter. Other nodes store a copy of the block so it keeps the network secured because now all the other nodes have to be attacked as well. When you have thousands of nodes, it makes the task more difficult since it requires more computing resources to accomplish. That in effect can prove to be more expensive. Despite being more secure, the system is slower. This is like having too many cooks in the kitchen having to agree on what to cook. In this case, the more nodes you have, the longer it takes to come to a consensus to verify transactions and that slows the system down.
In a centralized system, you achieve scalability faster because you don’t require trustless nodes that duplicate the same data. You have trusted nodes in which one server can quickly perform a task. You process transactions faster and at scale because since you have only one decision-maker that is a trusted system. Centralization means there is more control and cohesion. When verifying transactions, a trusted system can do it right away because it doesn’t need to come to a consensus with other nodes.
There is a single point of failure however, so if the system is compromised then everyone who is a part of the system will be affected as well. This is what happens with traditional financial systems that are heavily centralized. Banks and other financial institutions are fine examples of this. They can also block transactions at any time and ban users from their system because they control it.
It is nice to have all three components in a blockchain, but it just seems to be impossible to do. There are proposed scaling solutions but perhaps that is more on innovation. Going back to the purpose of a blockchain, it seems that Bitcoin has been accomplishing things all along. Since its genesis block in 2009, Bitcoin has been proving it is an example of a mature technology that has withstood time and proven its value. So why is it slow, like the critics say?
Slowly But Surely
There is a story about the tortoise and the hare. The tortoise was slower compared to the hare, so if the two were to race the result would be predictable. However, the tortoise was also patient and no matter what the hare did the tortoise kept moving along. The hare became overconfident and thought a nap would be all right given that the tortoise was just slow and unlikely to win. When the hare awoke from the nap, the tortoise was about to cross the finish line and won the race.
Critics think Bitcoin is slow and unlikely to scale. Bitcoin has proven that slowly but surely is better than quickly but vaguely. The reason I say that is because you can have a faster Bitcoin by redesigning the protocols and changing the underlying foundations of the technology. Once you do that though, there are no guarantees on its reliability. You can make it faster by centralizing the nodes, but now your security might be compromised. If all the nodes are known to bad actors, they can easily target them to disrupt the network. The whole process of mining and confirmations appear to be slow and cumbersome, but it has kept transactions secured in their blocks.
Without that layer of calculation, spam attacks could be more common on the network because there is nothing to discourage it. If consensus did not involve the use of solving complex mathematics, then attacking the network would be easier for bad actors. The process behind PoW is to discourage bad behavior and encourage cooperation through the incentives in rewards. It makes it more profitable to mine than it is to attack the network.
Modifying it just so it becomes faster is not based on best practices because you don’t have any way of knowing whether it will be more secure when it comes to the network. When the outcome is vague, you are better off with what already works. It is slow, but it surely achieves its purpose.
The scaling issue is being addressed by core developers working in the Bitcoin community. What makes decentralization so great is that anyone who wants to contribute is welcomed. You have a community that comes together through their common interest to find ways of solving problems.
The scaling issue had proposed solutions like SegWit and the Lightning Network. SegWit has already been implemented through BIP 141 and the Lightning Network has been undergoing many tests. While Bitcoin itself will remain the same, the scaling solutions are meant to be implemented “off-chain” or as “sidechains”. This involves moving the computation layer off the blockchain by using a Layer 2 solution. Sidechains will still have a Merkle Root for provability that they are a part of the same blockchain.
Preserving The Foundations
The developers want to preserve what is already tried, tested and true. There have already been disagreements within the Bitcoin community in the past that have led to schisms called “forks”. The most significant one was in 2017, with Bitcoin Cash. These differences in ideas do affect the project as well as their prices. The original Bitcoin protocols remain solid. Though it may be slow, it is still your best protection against hacking and network attacks. Will Bitcoin ever become faster? That is like asking if a slow but reliable car can ever become as fast as a Ferrari. It cannot because of its original design so it will require other ways to scale it, and this is what developers are working on.