Scalability is a term that we see increasingly being used in the community, especially in times of considerable demand.
Scalability, Decentralization, and Security
When the average transaction fee for Bitcoin steadily rose, questions were raised concerning Bitcoin’s ability to scale. Similarly, Ethereum’s scalability issues were made very clear when the viral success of CryptoKitties slowed down the entire Ethereum network.
Scalability, in the context of blockchain architecture, can be looked at alongside ideas of decentralization and security, to form what Vitalik Buterin described as the ‘scalability trilemma’.
The scalability trilemma indicates that blockchain systems can only possess two of the following properties:
Decentralization is a core tenant upon which the majority of this community is built. Decentralization enables censorship-resistance and permits anyone to partake in a decentralized ecosystem without prejudice.
Scalability concerns the ability to process transactions on any given network. If public blockchains are to be usable by the masses, then they must be able to handle a scenario in which there are millions of users on the network.
Security pertains to the immutability of the ledger and its general resistance to attacks such as 51% attacks, Sybil attacks, DDoS attacks etc.
Currently, blockchains such as Bitcoin and Ethereum were designed with a focus on decentralization and security. However, this has come at the expense of scalability, as both blockchains have incredibly slow transaction processing times. The reason for this is that all full nodes on these respective blockchains must reach consensus before transactions can be processed.
Ethereum can process around 15 transactions per second, whereas Bitcoin can process only about 7 transactions per second. But, both these numbers are dwarfed by payment service VISA, who can handle up to 24,000 transactions per second. Even proposals made to tackle blockchain scalability again fall prey to the issues raised by the scalability trilemma.
Block Size Increase
This solution posits that an increase in block size will increase scalability. The reasoning is that, by increasing the block size, more transactions can fit into a single block, and thus a larger batch of transactions can be processed, therefore increasing the number of transactions that could be processed per second. However, the limitation of this solution is that it ultimately results in the centralization of nodes on the network.
Increasing the block size would require nodes to possess better computing capabilities in order to process transactions. This may ultimately lead to a scenario in which a network is effectively maintained by a handful of supercomputers that have the processing power required to handle an increase in transactions per block.
Another solution is to completely abandon the idea that there can only exist one blockchain upon which all transactions must occur. Instead, this solution accepts the possibility that there will be numerous cryptocurrencies, all possessing their own blockchain that can just as easily allow for transactions to take place.
Reduced user activity on varying blockchains should allow for a more scalable ecosystem. However, with fewer nodes operating on any given blockchain due to a wider distribution, this may result in blockchains actually becoming more insecure, as they would be more susceptible to attacks from bad actors.
Scaling Solutions and The Future
Despite the roadblocks that achieving scalability brings, the flow of potential solutions shows no signs of abating. For example, the Ethereum project is looking toward second layer scaling solutions such as sharding and plasma as possible fixes for Ethereum’s scaling problem. Successfully implementing one of these scaling proposals would allow the Ethereum Virtual Machine, and other technologies comprising Ethereum to function much more efficiently.
And of course, Bitcoin’s lightning network is another highly anticipated scaling solution that promises to improve the transactional ability of the Bitcoin network. In sum, addressing scalability is a challenging task that will take a lot of time to get right, which is why it will be all the more exciting to see just how the community decides to resolve such a mammoth issue in the future.