Blockchain is regarded by many as one of the most revolutionary technologies since the creation of the internet. Yet, at this point in time there are only a few successful blockchain use cases outside of cryptocurrency. Critics argue that those existing use cases are often set up in a way that doesn’t really require blockchain. Another point critics make is that many solutions are too centralized and as result, their classification as a blockchain solution is debatable. For this reason, the blockchain hype has somewhat died down. Not to mention the price of Bitcoin, which hasn’t been at its peak for quite a while now. There are many sceptics saying that blockchain use will never scale. Others are more optimistic, but acknowledge there are some hurdles to overcome for blockchain to become mainstream. In this article, we discuss what the main technical challenges are. This article will be the first in a three-part series. In the second article, we will discuss non-technical challenges, such as the talent shortage, ecosystem governance and the need for new kinds of business models companies are not yet used to. The last article will address other challenges, such as privacy on blockchain, energy consumption and the potential threat of quantum computing.
The Blockchain Trilemma
Before delving into the technical challenges, let’s look at the blockchain trilemma, visualized below.
A trilemma is a difficult choice among three options. It assumes that you can’t maximize all three properties at the same time. In other words, as the diagram illustrates, any blockchain initiative satisfies two of these properties at most. For bitcoin, these are security and decentralization. Blockchain projects that focus on scalability do so at the cost of decentralization or security. In this article, we will focus on scalability and decentralization, since those are the two parameters that differ the most between different platforms. We will briefly discuss how security is affected by these parameters.
Scalability is often mentioned as one of the biggest challenges in blockchain. Scalability is often confused with transaction speed, and while there is a link between the two, they are fundamentally different properties. Scalability can be defined as a system’s ability to handle evolving amounts of work by adapting the use of resources. Many people wrongfully assume the system should always be able to increase the amount of work, but scalability also means a system is able to scale down if it needs to. If we look at bitcoin, part of this scalability translates into transaction speed. When the amount of bitcoin users increases, more transaction throughput is required. So, scaling up bitcoin should also increase the transaction throughput. However, it’s not enough to only increase transaction throughput, as we will see later.
Let’s take a look at the factors that limit bitcoin scalability. In bitcoin, the amount of transactions that can be processed is determined by basically two factors. Namely, the size of blocks and the frequency at which they are created. The frequency is set to an average of 10 minutes and the maximum size is 4 megabytes. As a result, only a limited number of transactions can be processed at a time. Another concern is that the blockchain is ever growing in size and at some point, it won’t fit on a typical hard drive anymore, reducing the number of people who are able to keep a full node. The following solutions can be applied to address the issue of scalability.
The block frequency can be changed, and, in fact, there are multiple bitcoin forks with different parameters. Increasing the block frequency increases the throughput, but doing so has its disadvantages. For one, it results in more orphan blocks, meaning there is a bigger chance two or more miners will add a new block simultaneously. In bitcoin, this means only one of those miners will get a bitcoin reward. The remaining miners will not get a reward, even though they may have found a valid block. Since the frequency in bitcoin is 10 minutes, on average, this rarely happens. In ethereum, this happens much more frequently as the block time is in the order of seconds. To tackle this problem, there is also a so-called uncle reward where both of the miners get rewarded. Due to this mechanism, there is more incentive to mine empty blocks in ethereum. So, while changing the block frequency can improve scalability, it also has some disadvantages and, as a result, this solution can only be applied with certain limitations.
The block size could also be increased to increase throughput. This has its downsides as well. In a blockchain network, it is important that every node gets notified about updates and newly added blocks. The speed at which this happens is largely determined by latency. Larger blocks take longer to propagate through the edges of the blockchain network. For small blocks of a few megabytes the difference is neglectable but when blocks get too large, there is a significant time difference between different nodes, causing inconsistencies. This results in an unfair mining advantage for miners at the edge of the network, compared to those who are close to large mining corporations. The reason for this is that miners need to solve a puzzle that is dependent on the previous block. If some nodes receive the current block later than others, there is basically a false start. It's like a race where some get to start several miles ahead. This will result in fewer nodes and less diversity in mining pools, since there is a higher entrance barrier to mine. So, while bigger blocks can indeed scale up bitcoin, they do so at the cost of decentralization. Having fewer nodes automatically also means the blockchain as a whole becomes less robust. This has security consequences. If we go back to the blockchain trilemma, trying to scale blockchain by increasing block size increases scalability at the cost of decentralization and security.
Scaling issues differ greatly between different blockchain platforms. Some scale decently, especially the closed commercial blockchains. Scalability is a bigger challenge for open blockchains, such as bitcoin and ethereum. Yet, some people claim there aren’t scaling issues with bitcoin. If you view bitcoin as simply a store of value and big transactions, you might argue that it is indeed fine in its current state. If you want bitcoin to become the next Paypal, we would argue that it has a long way to go. Next, we will discuss some alternative scaling solutions that also promote transaction speed. We will also address why transaction speed is often misleading.
As we mentioned earlier, scalability and transaction speed are two different properties that can’t be viewed in isolation from each other. For bitcoin to increase in throughput, we need scaling solutions. Bitcoin SV tackles this by allowing bigger blocks, which leads to centralization. There is another reason why increasing block size is not enough. On paper, increasing block size results in many transactions per second. However we are still left with a probabilistic finality, because of the block frequency. Let’s assume a version of bitcoin with huge blocks can process as many transactions per second as Visa. Even then, merchants will likely prefer Visa over bitcoin due to how finality works. With Visa, we know that a transaction will be completed within a short timeframe. In bitcoin, no matter the block time or block size the completion time will be probabilistic. It might take a few seconds, but it could also be several minutes or even hours. As a result, we believe that bitcoin in its current form will never truly replace current payments systems. Luckily it doesn’t have to and smaller payments can be done on a so-called side channel, which brings us to bitcoin lightning.
With the lightning network, two participants can open a payment channel by depositing bitcoins (which will then be frozen). Payments on the lightning network take place on a side channel and are very fast and near-feeless. The beauty of the lightning network is that you don’t need to open a new lightning channel for every person you need to perform transactions with. It works as a network of channels stitched together. Meaning that if Bob has a connection with Alice and Alice has a connection with Carol, Bob can perform lightning transactions with Carol through Alice. With lightning, the main cost is opening and closing the channel, and this is also the only part that is stored on the bitcoin blockchain itself. Theoretically, this means that participants could commit fraud by closing the channel at an earlier point in time. Let's say Bob and Alice open the channel with 2 bitcoins each, so that there are 4 bitcoins locked. Bob could transact 1 bitcoin to Alice and close the chain as if the bitcoin wasn’t transacted in order to scam Alice. To counter this, the lightning network keeps the 4 bitcoins locked on the bitcoin blockchain for some time even after the channel has been closed. A watchtower protocol will then notify Alice about the closed channel, who can then penalize Bob by showing the transaction that took place on the lightning network. This would result in Bob losing all bitcoins locked as collateral on the bitcoin blockchain.
With lightning, it’s possible to scale up bitcoin as a payment method with minimal impact to the main chain. Some people fear that only a few transactions will take place on the main chain. This would mean miners get fewer transaction fees, resulting in fewer nodes and thus more centralization. However, miners are largely paid by newly created bitcoin for now and the last bitcoin will be mined in 2140, so we could argue that this isn’t really the biggest problem for now. Let’s turn to decentralisation and explore how this stacks up against the other properties in our trilemma.
Decentralisation, combined with cryptography, is basically what makes blockchain a powerful tool which can be used to eliminate single points of failure. It has the potential to eliminate or at least reduce the dependency on trusted third parties. While blockchains are often presented as decentralized, this is not always the case. Private blockchains, in particular, are managed by only a few selected trustees. Trustees are known in a private blockchain, so this doesn’t really matter that much. The real challenge, however, is creating a public blockchain where anyone is able to run a node but malicious actors are still prevented from entering the ecosystem. Bitcoin is using proof of work to prevent people from spamming the network with malicious nodes. The cryptocurrency itself is used as an incentive to reward good behaviour. The proof-of-work algorithm and the reward in bitcoin make sure it is more profitable to keep the chain secure and behave honestly, rather than trying to steal from the network.
Bitcoin is often viewed as the most decentralized blockchain around and while we agree with this, even Bitcoin has some problems with centralisation. First of all, specialized mining hardware results in mining centralization since not everyone has access to such hardware. Having hosting locations, such as Iceland, where energy is cheaper, results in even more centralization1. This mining centralization alone is often used against the decentralized character of Bitcoin. Still, this is not a pressing problem. Despite these issues, there are still around 10.000 bitcoin nodes2 and the transparent character of bitcoin combined with the incentive mechanisms make sure it is in the miners’ best interest to meet the needs of the bitcoin users.
The bigger problem with regards to decentralization is often the core development team. On the one hand, you need core devs to improve the protocol, find and fix bugs, etc… However this also creates a single point of failure on its own. With many alternative blockchains, this is very apparent as developers often have the final say and most miners will follow their instructions blindly. Bitcoin, on the other hand, does not really have a central face and the core development team is relatively large and unknown compared to other projects3. Ethereum has twice as many protocol developers as Bitcoin, but some of them are well known in the community, such as Vitalik Buterin. If something were to happen to Vitalik it would greatly impact ethereum. Bitcoin doesn’t run the same risk.
Yet, even bitcoin isn’t completely immune to this problem. The Bitcoin inflation bug showed this. It could result in fake bitcoin being created and could have been catastrophic if the wrong people would have found out about it. A small group of bitcoin developers became aware of the problem and created a fix, which they added as a patch to a coming fork. By asking a big mining pool to add this patch - no questions asked - they were able to fix this bug without anyone finding out about it before the fix was deployed. While we think this couldn’t and shouldn't have been handled differently, we also think it shows that even bitcoin is not as decentralized as many people think. The bitcoin inflation bug shows that there is no such thing as a trustless and completely decentralized system. Blockchain is at most, a new trust system. It is, in some ways, better than the current system which relies on trusted third parties and audits.
At the time of writing, blockchain use cases are somewhat limited due to scalability issues. While we think it is important for blockchain to scale and increase throughput, it should not come at the cost of decentralization. Simply increasing the blocksize, like bitcoin SV is doing, is not the solution. Completely trustless systems, where participants don’t need to know or trust each other, do not exist. Blockchain is just an alternative trust model and aims to be as trustless as possible. Centralization can also occur when you have an important central figure. Most alternative blockchains, outside of bitcoin, suffer from this problem. In ethereum’s early days, for instance, Vitalik Buterin was able to roll back the DAO hack by telling miners to do so. While Vitalik doesn’t have this much power today, this shows that decentralization is very difficult to attain. It’s not just a matter of counting the amount of nodes and distributing power. In short, we can understand why many people argue over which blockchain is the most decentralized. Since bitcoin is very slow in its development and didn’t have any rollbacks, we believe that bitcoin is currently still the most battle-tested in this regard. Time will tell if emerging solutions will be able to face up to these challenges.
Contact us to learn more about the possibilities of Blockchain in your organisation.
Stay tuned to learn more about some of the other challenges faced by blockchain projects and possible solutions.