Blockchain Briefs: The Scalability Trilemma

Jax.Network
Jax.Network Blog
Published in
4 min readDec 4, 2019

By @Юрий Шишацкий (Iurii Shyshatskiy)

Blockchain technology has received a lot of attention in the past decade from entrepreneurs, scientists, and enthusiasts. The successful example of Bitcoin revealed that this technology could be used to transfer money in a decentralized fashion. Hundreds of new proposals for the usage of blockchain were broadcasted across the network, along with optimistic predictions that soon Bitcoin or another cryptocurrency will become global currency similar to US dollar or money transfer tools such as Visa, PayPal, SWIFT, Western Union, etc. The peak of the hype was felt in 2017 when the price of BTC reached $20k per coin and numerous blockchain projects raised billions of dollars.

BTC and other altcoins had limited supply by design. This fact stimulated entrepreneurs to invest today before it is too late. However, the deeper people investigated the topic clearer becomes one massive limitation of the technology. This limitation was called the ‘Scalability Trilemma’ by the co-founder of the Ethereum blockchain Vitalik Buterin in his talk in 2017. It asserts that there is no blockchain network that simultaneously poses three key properties: scalability, security, and decentralization. In simple words, it states that current versions of cryptocurrencies are unable to become global while they remain secure and decentralized.

Unfortunately, there is no simple solution to blockchain Scalability Trilemma. Increasing the block size or block rate will increase the pressure on the network. Operating multiple blockchains is a threat for security since in this case, we have to split the hash rate between them. This makes chains less resistant to 51% attacks.

At the present moment, this problem is under the careful attention of the community. Many different projects and research groups presented their ideas on how to solve the Scalability Trilemma. One proposed approach is designing and applying proper Zero-Knowledge Proofs. However, existing constructions appear to be inefficient. Another popular approach is designing a system with a random generation of validation groups. Then these groups receive some assignments to validate some transaction sets. Yet there is no solid solution. Only a few groups were able to implement their ideas and run a test. In each particular case, researchers face difficult mathematical problems.

The fundamental obstacle on the way to design a scalable solution is the fact that when the system grows up to a huge size it becomes hard to track what is going on within it. In Bitcoin, any full node can check one’s account balance by extracting all relevant transaction history related to it. So if somebody spent a few coins to buy a cup coffee the history of this transaction is broadcasted across the whole network. Everybody in the network knows about it. Moreover, the history of this transaction becomes part of the blockchain forever. In the case of Bitcoin, which has around half a million users and processes a few transactions per second, it works fine (since Bitcoin can only process approximately 10 transactions per second). Problems start to appear when we move from the scale of Bitcoin to the scale of Visa, MasterCard or PayPal. These have hundreds of millions of users and process thousands of transactions per second. At this scale, only supercomputers would be capable of becoming full nodes. Therefore, researchers try to split the network in such a way that nodes won’t be obligated to verify and store each transaction in the network.

As was noted by Vitalik Buterin in his recent interview sharding is the most popular approach at the moment. The idea behind it is straightforward: the network gets split into pieces called “shards” and nodes monitor only these pieces. There is no common understanding of how to organize this sharding and how shard nodes should interact with each other. However, researchers believe that this approach could address many problems.

Splitting the network into pieces is only half of the problem. The real problem is how to put all these pieces together. There is a need to have some sort of connections between shards. It appears that in order to successfully establish any connections and coordinate their actions, shards should get synchronized on some data. Here we approach the synchronization problem in distributed networks. One instance of this problem is synchronization on time. In the distributed network it is hard to set one global time for all nodes. There are some algorithms which address this problem. They provide a way to set so-called logical time in the network which works the same way as normal time. It’s an important example of how nodes in the distributed network could reach a consensus on some data. However, in this example nodes are interested to reach a consensus. In the case of sharding in the blockchain network, the situation could be more complicated.

Questions discussed above are at the focus of active research at the present moment. The author of this paper wants to introduce one team which studies such problems. Jax.Net is a group of researchers, mathematicians and blockchain developers who have decided to make a contribution to the blockchain technology. The Jax.Net team is going to present a very interesting solution that will address all three parts of the Scalability Trilemma simultaneously. It is a new approach and fresh ideas overseen by previous research. It is going to become a working real-time solution with acceptable requirements for data storage and network communication. It will have an honest security model that will prevent attacks from adversaries with significant computational and communication capabilities. The solution is going to overcome existing blockchain issues in terms of scalability along whilst remaining decentralized. Jax.Net will also be releasing an open-source code and test network which is about to be launched in early 2020.

--

--