Definition of the Scalability Trilemma
Since its description by Vitalik Buterin, the Scalability Trilemma has become one of the weakest points for the blockchain networks and the cryptocurrencies. This conflict comes from the design of any blockchain network itself, which must find an equilibrium among the scalability, security and decentralization. The conflict exists because it is not possible to implement the three elements simultaneously. The choice of two factors means inevitably the resignation for the third. The different combinations of these three factors will determine the final type of network.
We already know the three ways we can implement to optimize the scalability of any network (channel payments, block solutions and network solutions). However, the scalability challenge is directly related with the level of security and decentralization of the network. That dependency is what we know as the “Scalability Trilemma” which we will explain in this post. We will start by defining the three underlying components, and later we will explain the relation among them.
When we talk about the security of any network, we are referring to the capacity of resisting against external attacks. This implies that the transactions of the network cannot be removed and the conflict of “double spending” problems does not exist. In fact, the security of the network comes from the code. If the consensus protocol is well defined, there will be no possibility of registering fake or duplicated transactions. Otherwise, we could not consider the blockchain networks as immutable. That is the reason why the security is so important for them.
In fact, the security is the only element inalienable of any system, even for those which do not use blockchain technology. When the system becomes unsafe, the participants cannot rely on it to register their transactions, and then it becomes useless. Therefore, the security is the only element which should be present in the design of the network. This is even more mandatory if we are talking about a potential payment system such as Bitcoin.
However, the building of the code is not the only factor to determine the security of a network. Another element very important is the number of participant nodes. In decentralized networks, a high number of nodes makes more difficult to attack the network. This is because these networks are designed as democratic system, so the success of any attack depends on the number of malicious nodes and on their power within the network. The higher is the total number of nodes, the lower is the individual power of each node, and therefore, the probability of a successful attack is also lower.
On the other side we would have the decentralization. This element is linked with the pure DLT networks, but it is also configurable within the code. We can define the decentralization as the absence of a reliable third party to validate the transactions. In a decentralized network, the trust comes from the whole set of participants, not from from a single one or a selected group of them. This is what the Bitcoin network looks for with its protocol.
In some cases the decentralization may imply the slowdown of the system in the mid term. When the number of validating nodes is too high, the consensus protocol may become an obstacle for the network. In the environments where the decentralization is not so important, is more desirable to apply for security and scalability. This is why every network is characterized, among other elements, by the defined level of decentralization. In this sense, networks with certain grade of centralization look for improving the scalability without renouncing entirely to the decentralization.
The algorithm of Proof of Work, for instance, is really expensive in terms of electricity and computational power. This implies that the cost for new nodes is very high, which can reduce the potential number of total participants in the future. The computational power is getting more and more concentrated, which reduces the decentralization. Moreover, the security is also affected, because the individual power of each node is bigger, and it is more difficult to find new nodes.
However, this problem does not exist with the algorithm of Proof of Stake, which is cheaper in terms of computational power. It is not difficult to add new nodes to the network, so this can grow without affecting the security or the decentralization.
Last but not least we can find the scalability itself. This element is key for the DLT networks, which require a structure able to grow when the demand of the system increases. There are several solutions for the scalability, as the payment channels, the sharding, etc. However, not all of them are neutral against decentralization and security.
A collateral effect of the lack of scalability can be the increase of the cost on the new transactions. When there is a bunch of transactions in the validating queue, one way to “accelerate” their inclusion is to increase the fee to pay in order to ensure the validation by the miners. The alternative is the slowdown of all the processes (which we can call the “funnel effect”). This prevent the system to grow, which at the end has an effect also on decentralization. This is the reason why all the blockchain networks are looking for solutions for this problem.
On the other side, the traditional payment systems can presume of a high scalability thanks to their centralization. When the validation of new transactions depends on one single node, there is no slowdown of the system. However, in a democratic and decentralized structure, a high number of transactions becomes a problem. Maintaining the security and the decentralization of the network usually imply slowness of the network, which affects the scalability.
This is the reason why most of the solutions try to reduce the number of the transactions to be sent to the network. This reduces the workload of the nodes, but not so much in comparison with the centralized systems.
The solution to the Trilemma must come from a scalable system in which the security and the decentralization remain uncompromised. There are also some partial solutions which may help in a timely manner. Here we may find the increase in the size of the blocks which Bitcoin Cash implemented some time ago. This solution served to increase the number of transactions per block. We could also consider the implementation of a faster algorithm. Both type of solutions may help on a first stage, but in the mid term the network would have the same problems.
However, there are some other solutions which try to solve the problem from the very beginning. In this sense, we can find 3 different type of solutions, some of them already working for some cryptocurrencies: payment channels, sharding systems and solutions based on interoperability. Let’s see how they work:
The payment channels as Lightning Network reduce the number of transactions of the main chain of the network. Thanks to the use of Smart Contracts, the protocol register direct and instantaneous transactions at a really cheap cost. The result of this transactions is what is sent later to the network for its validation. This is the solution of Bitcoin, and it allows to decongest the main chain by extracting those transactions which could by grouped outside the network. Therefore, the solution prevents the system to fall into the funnel effect mentioned above.
Ethereum, for instance, has implemented one solution based on the fragmentation of the network. The idea is to divide every transaction in smaller pieces of data so the network can handle them faster without overloading the system. In this solution there are subchains of the main network which are in charge of processing the small pieces of data. As these subchains interact and send information to the main chain of data, the security of the blockchain remains intact. Ethereum complements this Sharding system with a Proof of Stake protocol, which is faster than the Proof of Work.
However, when network is divided in several subchains, the total number of nodes is divided too. This makes easier the possibility of suffering external attacks, which deteriorates the security.
On the other side, Polkadot has developed a protocol which improves the scalability thanks to the interoperability. Basically it uses two types of chains: the first type is the “Relay Chain”, where the transactions end. The other type are the “parachains”, which are independent blockchains that can collaborate among themselves. Their interoperability allows the forwarding of the transactions between chains while maintaining the security.
The problem of the Relay Chain of Polkadot is that it does not support Smart Contracts, so this chain depends entirely on the independent parachains to support these contracts. On the other side, the independence of the parachains allows them to use different consensus protocols, which gives Polkadot a great flexibility.
As we have seen, the Scalability Trilemma remains as one of the biggest challenges for the blockchain networks implementation. For certain use cases, a lower (or even null) level of decentralization may be the solution. In this sense, the private networks with a limited number of users could remain secure and scalable. However, the most popular use cases cannot give up on decentralization. If they cannot be centralized and they must remain secure, then the problem is quite located.
Additionally, it is important to have in mind that the number of users of these systems is still very low. This is one of the reasons why the efficacy of some solutions as the payment channels remains unverified. However, the appearance of the Smart Contracts and the popularity of cryptocurrencies make even more necessary a higher scalability. The number of transactions will keep growing if the number of users do so, and therefore it is necessary to find long term solutions.
The current solutions has achieved undoubtedly to increase the number of transactions per second that the networks can process. In general terms, these solutions do not have a significant impact in the security or the decentralization of the networks. However, it seems clear than the Scalability Trilemma described by Vitalik Buterin is still a source of discussions in the design of the blockchain networks.