Scalability is the most commonly discussed blockchain challenge. This article assesses the drawbacks of current scaling solutions and explores some of the alternatives.
What is scalability?
Scalability is the ability of a computing process to be increased in a range of capabilities. The most commonly discussed scaling challenge for blockchains is increasing transaction throughput, or the number of transactions that can be executed on a blockchain. In the case of public blockchains, this has most often been thought of as a base-layer or “layer 1” issue.
There are two ways to think of layer 1 scalability:
•horizontal scalability: refers to adding more nodes to a network to handle increasing tasks
• vertical scalability: refers to adding more power to the machines that are in the network to handle increasing tasks
Limits of Layer 1 Scalability Solutions
There are problems with both types of layer 1 solutions to scalability. The issue with horizontal scalability is that in a public blockchain every node in the network validates and updates the ledger. Because every transaction needs to be processed by every single node, traditional horizontal scalability brings no benefit. Adding more nodes to the network does not make it faster. This is why most blockchain projects aim at vertical scaling. This typically involves increasing block size, which demands every node do more work. Several blockchains today can scale to thousands of transactions per second using this approach.
However, improving scalability through bigger blocks has drawbacks. It requires more work from nodes in the network, which means less powerful computers (most personal devices) may not be able to operate in the network.Thus, vertical scalability results in fewer validating nodes, which means more centralized mining and more powerful node operators.
Layer 1 Scalability Trade-Offs
Vertical layer 1 scalability solutions sacrifice two of the three core tenants of blockchain technology: decentralization, security, and speed. In essence, it is not possible to scale on the base-layer and achieve all three together. Increasing the block size causes hardware requirements for full nodes to rise.This means fewer computers will be powerful enough to participate in the network. The problem with this is that a blockchain is more decentralized and secure when it has more validator nodes. The fewer validator nodes the greater the centralization and insecurity.
Take the following blockchains for example:
- Bitcoin is secure and decentralized, but not speedy.
- Ripple XRP is speedy but less secure and has limited decentralization.
- EOS is also not decentralized and is less secure, but it is speedy.
- Ethereum is secure and decentralized but not speedy.
Some projects have opted to sacrifice security and decentralization in favour of high transaction throughput. EOS has only 21 validator nodes and it can do hundreds of transactions per second. Is it decentralized and secure? Not when compared to Bitcoin or Ethereum.
What Other Alternatives Exist?
Layer 2 solutions are another option for scalability. These are built on top of a secure base-layer blockchain. They can achieve high throughput without compromising security. How? Remember, level 1 scaling solutions decrease security and increase centralization because they limit the number of nodes in a network. This is why base-layer scaling is a bad approach.
Instead, layer 2 solutions leave the base-layer alone (for example, the Bitcoin and Ethereum blockchains) and build protocols on top of it. These are only a little less secure and provide higher throughput. Important to keep in mind is maintaining a secure base-layer is critical for layer 2 solutions to work. You can build an insecure or a secure layer on top of a secure base-layer, but you cannot build a secure layer on top of an insecure base.
The second layer of mechanisms can extend the usefulness of public blockchains, letting interactions happen off chain that still refer back to the reliable base layer when necessary. Applications that need high throughput can use layer 2 environments while still benefiting from a secure base-layer. Examples of Layer 2 scaling solutions are the Lightning Network for Bitcoin, the Loom Network, Raiden, and Plasma Cash for Ethereum.
Layer 2 Solutions Have Potential
A common denominator among the layer 2 solutions mentioned above is that they use the certainty provided by a public blockchain as a foundation for systems that scale the usefulness of blockchain applications. These solutions make the underlying blockchain more useful for a greater variety of applications while still maintaining the core values of decentralization and security.
The whole scaling issue is contentious and there are lots of different views on the matter. What are your thoughts?
Note: “Sharding” is another layer 1 scaling solution implemented at the base-level. It involves splitting a blockchain into different sections called shards, each of which can independently process transactions. To learn more about sharding look here.
To support my writing: 1PUzB7FtURwikfUg4zgdULyyeQkcK6o9fh