Scalability is one of the most hotly-debated topics in the field of blockchain and cryptocurrency.
This is not just an issue around blockchain technology, but with virtually any system or network that exists today. Scaling a protocol simply means adding more transactions to a network while maintaining the same level of performance.
Of course when one wishes to increase scalability, one needs to take into account the effects on both decentralisation and security, as it is virtually impossible to improve all three at the same time.
Network scalability represents the capability of a network to handle a growing amount of work, or its potential to be enlarged to accommodate said growth. For example, a system is considered scalable if it is capable of increasing its total output under an increased load when resources (typically hardware) are added.
An similar meaning is implied when the word is used in an economic context, where a company’s scalability implies that the underlying business model offers the potential for economic growth within the company – for example, when an organisation needs to hire extra employees or to increase investment burdens.
In computer science, it is known that decentralised systems are less scalable than centralised ones because independent peers can join and leave the network as they please, creating openings for communication data losses. An obvious issue is with network latency, or the time it takes a data package to arrive from node A to node B. Because nodes can randomly disconnect at any point, the network could become increasingly clogged.
Network bandwidth plays a key role in the overall system performance, which can be a significant problem for many cryptocurrencies as most people in the world don’t have enough resources to buy large amounts of data. In addition to the network latency issues, decentralisation also requires network bandwidth to be based on incentives, a feature that can block a great deal of people from participating as data is quite expensive to transmit worldwide.
Scalability vs security
The most destructive bottlenecks are not caused by storage or CPU processing, as many cryptocurrency enthusiasts claim, but rather network latency and bandwidth. If nodes take too long to communicate data, we risk making the network asynchronous, destroying the value of timestamped transactions.
Many developers and educators have tirelessly worked towards deploying new technologies within and around blockchains to help reduce bottlenecks caused by network latency and bandwidth.
There are two main actions that can be taken to promote scalability by reducing security:
- Increase the block size: This would allow for more transactions per block, making the blockchain more scalable. However, as seen with Bitcoin Cash – a hard fork of the Bitcoin protocol that increased the Bitcoin block size from 1mb to 30mb – it faces regular issues with orphaned blocks and has considerably weaker security given most mining is centralised, as the CPU, RAM, and hard-drive requirements increase exponentially.
- Add delegators: This would allow for faster transactions, as in order for consensus to be achieved, less nodes would participate. This solution also addresses the latency issue, as less validating nodes require less communication. The problem with this solution is, of course, an exponential decrease in security (and decentralisation as well), given the fact there would be numerous central points of failure – collusion between pools and power-grab attempts are more likely to happen in more centralised systems.
Scalability vs decentralisation
Scalability can also be augmented by centralising decision makers (validators).
As explained above, by having less validators with more capacity, systems usually perform faster, although they clearly forego decentralisation and the ability for users to keep information private and confidential. This means you can promote scalability by reducing decentralisation by performing the following actions:
- Reducing the number of validators and increasing throughput: This creates faster connections between nodes that can then transport more information between them.
- Adding Layer-2 features: Payment channels, sidechains, child chains, and Sharding features can exponentially increase the number of transactions and block times. However, there is always a certain amount of centralisation required to achieve this.
How to scale a blockchain
To end this guide on cryptocurrency and blockchain scalability, I need to address the elephant in the room and handpick which crypto-project has the highest chance of solving the scalability issue.
However, the truth is, any project can scale depending on what you choose to concede.
You can either scale by conceding decentralisation, like Bitcoin Cash, Stellar, and Ripple did, or you could opt to diminish security, like POS-based projects such as EOS, NEO, and Tron did.
My point is, there are different ways to scale, and the right one depends greatly on what you want to achieve.
Is it a business application or protocol? Or is it a way to give everyone faster payments? Depending on your end goals, each type of blockchain leverages different advantages and weaknesses.
Don’t forget: there’s no magic way to scale a blockchain without conceding either decentralisation or security.
You simply have to pick one.