Mastering Blockchain Scaling: The Inconvenient Truth
The decentralized peer-to-peer payment system, as we have come to know blockchain technology, is gaining widespread popularity. Discussions regarding mass adoption are taking place, and experts from around the world are trying to make the technology usable for the masses. While the trustless payment system seems to have taken off, there is one issue that is plaguing most popular blockchain networks today — Scalability. Transactions, blocks, signatures, number of nodes and clients, it all adds up.
We are witnessing ongoing attempts to effectively scale a blockchain network, which in its core is a digital and immutable record of transactions. At the moment, emphasis is put primarily on the number of transactions per second, which should be well over 100 thousand to achieve serious mass adoption.
That would allow it to challenge the traditional payment systems commonly used today, such as credit and debit cards.
Yet relatively few people are talking about other aspects of scaling:
- CPU requirements
- number of incoming/outgoing connections
- bandwidth
- storage requirements
Everybody who is familiar with the concept of a blockchain network is aware that we require operational nodes to sustain the activity of a blockchain network and to keep records of all transactions performed. It is the nodes which allow for a decentralized trustless system that we all believe is one of the fundamental breakthroughs of blockchain technology. In order to illustrate the hardships of scaling a blockchain, we must calculate all stated factors and observe the output parameters which are based on hard math and have a significant impact on the nodes themselves.
Because Bitcoin is the most popular and valuable blockchain in terms of market capitalization, we can use it as a reference to begin with.
It is easy to conclude that the basic parameter in a blockchain is a transaction between 2 peers. This transaction has several attributes attached to it, such as sender and recipient addresses, time and date, the total amount that was transferred, sender’s signature and any other necessary information. All this determines the size of a transaction in terms of data. This directly or indirectly influences all other scaling requirements.
With Bitcoin, we can observe that the average transaction size is 250 Bytes. For illustrative purposes let’s imagine that a billion people around the world perform an average of 10 transactions per day, each.
That would combine to roughly 2.5 TB of data, which must be stored every day. If we take it a bit further, the total amount needed per year would be a whopping 913 TB, which would have to be maintained by every full node. Furthermore, the network itself would require roughly nine million nodes for it to handle this kind of activity, each of them exchanging and storing around 3 TB of data every single day.
In internet bandwidth terms we are looking at the average requirement of 232 Mbps of download speed and over 460 Gbps of upload speed (assuming high node inter-connectedness), something which is attainable today, but not for the majority of the world. Out of all the factors, the bandwidth requirement, we believe, is the most easily achievable in the near future. The storage requirements, on the other hand, might not be easily attainable outside of corporate, “big data” environments.
With this in mind, it’s really hard to expect an average Joe being able to run their own full blockchain node based on today’s blockchain solutions. To say the least, such blockchain solutions would not be usable on a large scale by the majority of the world’s population.
A closer look at Ethereum’s Sharding, Bitcoin’s Lightning network and other similar approaches, reveals that, while great strides have been made in the recent years, there is still a lot more work to be done to truly scale a blockchain network effectively.
We calculated the numbers in the above article using Ixian’s new “Blockchain Scalability Calculator”, which can estimate some of the key scaling factors. Check it out on https://calculator.ixian.io
Stay positive,
Team Ixian