In this second part of my blog on scalability the main Layer 1 and Layer 2 solutions will be described and judged on their ability to meet the three Scalability Trilemma requirements: scalability, security and decentralisation.
Main Layer 1 Solutions
Bitcoin developers launched a scalability solution in 2017, called SegWit or segregated witness, to process more transactions without increasing the block size. SegWit removes the transaction signatures (Witness) from the transaction data on the main
block and placed into a separate extended block (Segregated) in the parallel or side chain.
By doing this SegWit will help improve the scalability of the Bitcoin blockchain as it will free up a lot of space in the main block itself, fitting more transactions in a single block by re-weighing the signatures of transaction data. This may help improve
the throughput, by reducing the size of each individual transaction, so that transactions can be confirmed faster.
This solution however has a number of cons. Next to the complexity of the upgrade, the throughput will still be in single digits, which will significantly increase the usage of resources since the capacity, transactions, and bandwidth all will increase.
While it would lead to a modest short term block capacity increase, it cannot be seen as long term solution for mass adoption of bitcoin. The sidechain containing the signature data will need to be maintained by miners as well. This may result in the need
for specialized nodes to store the signature data. Ultimately, this may lead to the opposite of the present decentralized blockchain set-up, thus failing to meet the Scalability Trilemma requirements altogether.
An interesting scalability solution introduced by Ethereum to tackle the problem that blockchain cannot process more transactions than a single node, is Sharding. Sharding promises to increase the throughput by changing the way blocks get validated by the
Sharding is a scaling technique, whereby the transaction processing load on the network would be divided into different parts of the chain, so-called shards and stored in different nodes to reduce the load on network nodes. Transactions are directed to
different nodes depending on which shard or shards they affect. As a consequence, each node would process only a fraction of incoming transactions, and it would do so in parallel with other nodes on the network. By breaking the network into shards and reducing
the information every node has to store and process, this would result in in more transactions being processed and verified simultaneously.
The key feature of sharding that makes it unique among all (on-chain) scaling solutions is horizontal scaling, i.e., the throughput increases as the mining network expands. This may contribute to spur rapid adoption of blockchain technology. Sharding is
a promising direction for blockchains to pursue in order to solve scalability problems without compromising decentralization. What is however missing is a method for the shards to communicate and also uphold a high standard of security. The implementation
of Proof of Stake
Proof of Stake (Ethereum)
On a longer time scale, the Ethereum team has plans to tackle scalability by transitioning from the time consuming Proof of Work, which most blockchain networks have been following so far, and whereby miners “mine” cryptocurrencies by solving crypto-puzzles
using dedicated hardware, to verification of blocks by Proof of Stake.
Proof of Stake will make the entire mining process virtual. In this system there are validators instead of miners. Validators will first have to lock up some of their Ether as stake. After that they will start validating blocks. They can validate it by placing
a bet on it. Proof of Stake validators won’t be getting a block fee, they can only earn via transaction fees. When and if, the block gets appended, they will get a reward proportional to the stake they have invested. This incentivizes them to increase the
block size to get in more transactions.
Proof of Stake leads to trusting delegates or a chosen few, to take up the job of mining a block. Introducing Proof of Stake could make the blockchain a lot faster because it is much more simple to check who has the most stake then to see who has the most
hashing power. This allows less overhead and leads to a much higher transaction throughput. Proof of Stake can be applied to enable sharding of the blockchain over several network segments, thereby solving the communication problem.
Having delegates with this much power however makes Proof of Stake more centralized. Proof of Stake holds more promise as a base, but the approach is still experimental and it remains to be seen how well it will operate in practice. And there are other “Proof
of” systems being developed, including subtle variations of the existing ones.
To implement Proof of Stake Ethereum is going to use the Casper consensus algorithm. Casper seeks to implement sharding to increase on-chain scalability at the consensus layer. As of right now, Casper stage one is going to be implemented on the blockchain,
wherein every 100th block will be checked via Proof of Stake. Eventually, the plan is to move the majority of the block creation through Proof of Stake and the way they are planning to do that is by entering the so-called “ice age”. This will force everyone
involved in Ethereum to move on to proof-of-stake.
This entire transition however may cause a number of problems in the Ethereum society. One of the biggest fears is that miners may force a hardfork in the chain at a point before the ice age begins and then continue mining in that chain. This could result
in 3 different chains of Ethereum running at the same time: Ethereum Classic, Ethereum Proof of Work and Ethereum Proof of Stake.
Main Layer2 Solutions
The most widely known Layer2 scalability projects that are seeking to increase capacity and throughput scalability of the Bitcoin and Ethereum networks are: the Lightning Network (Bitcoin), Plasma (Ethereum) and the Raiden Network (Ethereum).
There are other projects that are less well-known building at the second layer of Ethereum (Truebit, and Counterfactual). There is also a recently announced solution that is building at the peer-to-peer networking layer for all blockchains (bloXroute).
The Lightning Network (Bitcoin)
The Bitcoin community has introduced an off chain solution to its scalability problem, named the Lightning Network. In essence the Lightning Network is an off-chain micropayment channel system which is designed to make transactions work faster in the blockchain.
This by handling the majority of transactions off the main blockchain. It uses an off-chain protocol and relies on SegWit.
The Lightning Network doesn’t require every individual transaction to be recorded on the blockchain. On the blockchain, only the net effect of the transaction will be broadcasted. This is done when the payment channel is closed, at which point the final
status of all the transactions that occurred through this payment channel is written.
Once finished, the final, net change from the transactions is broadcast to the main blockchain. In the meantime one can transact as many times as you need until you are finished. This would reduce the total number of transactions broadcasted on the blockchain,
increase throughput and consequently reduce transaction cost without affecting the number of miners.
The network will enable to transact with each other without being held captive by a third part (the miner). In order to activate this, the transaction needs to be signed off by both before it is broadcasted into the network. This double signing is critical
in order for the transaction to go through. Since the double check relies heavily upon the transaction identifier, that could create security problems. However, this will not be a problem anymore, because SegWit activation solves this problem.
It is however questionable if this solution would maintain the same high security level of the current Bitcoin blockchain. Next to reduced transaction fees which may pose a threat to the incentive for mining, it may also bring less transparency because only
the net effect will be broadcasted. It also introduces so-called hub-and-spoke models that could move away from decentralisation.
Most recently, Ethereum released Plasma, another solution which should scale the Ethereum network and is aimed to help the Ethereum blockchain handle much larger datasets than is currently possible. This by eliminating unnecessary data from transactions
and optimizing smart contracts.
Plasma is a series of contracts that run as child blockchains or branches on top of the root blockchain (the main Ethereum blockchain). It is similar to side chains in the sense that more work is done in the child blockchains which decreases the amount of
data passed to the blockchain, allowing for larger amount of computations. Plasma creates a hierarchy of blockchains which can share the workload of the network and only require the “root’ blockchain to be updated occasionally. It will continue to handle smart
contracts in a similar way to how they are handled currently. Except it will only broadcast completed transactions to the public Ethereum chain.
This greatly reduces the load on the main chain. Not only does Plasma save up a lot of space in the main chain, it also increases the transaction process speed exponentially. This will save large amounts of memory and processing power, making it less expensive
to interact with the system’s other participants.
“As only merkleized commitments are broadcast periodically to the root blockchain (i.e. Ethereum) during non-faulty states, this can allow for incredibly scalable, low cost transactions and computation. Plasma enables persistently operating decentralized
applications at high scale.” Vitalik Buterin
The problem with this method is that the transactions in the child chains are not validated by miners. Because there is no reward, this will ultimately mean that no one validates the transactions. To solve this issue, penalties for breaking consensus are
being written into the smart contract. If the chain is found to be fraudulent then it will collapse, and the smart contracts will not be executed.
The Raiden Network (Ethereum)
Ethereum is also planning to activate something like the Lightning Network which is called Raiden. The major difference between these two networks is that the Raiden Network supports all ERC20 tokens, whereas the Lightning Network is limited only to the
transfer of Bitcoins.
The Raiden Network proposes to scale the Ethereum network off-chain by leveraging a network of payment channels so that the blockchain is not involved in every transfer. These off-chain transactions are recorded immediately, and fees are only paid for forwarding
transactions between nodes.
Plasma and the Raiden Network are complementary to one another. Whereas Plasma can handle smart contracts, this will trigger the Raiden Network to execute those payments. Combined, they may ultimately result in faster, cheaper transactions than on-chain
“We haven’t gotten there yet”
There is – as it looks today – “no silver bullet” yet to solving this scalability issue. It still remains to be seen how effective these approaches will be. Though the industry has come with some fascinating solutions which could give them some very interesting
results, most of these solutions still fail to meet the Scalability Trilemma, necessary to create a fully functioning cryptocurrency network at scale.
The first layer of blockchain technology has been explored extensively, without conclusively solving the scalability issue. Also the second layer solutions like the Lightning Network, Plasma and Raiden, developed in hopes creating larger scale blockchain
networks without compromising security and decentralisation all fall short of satisfying all the three needed properties.
Scalability remain key focus
Scalability will remain the key focus of the blockchain world to determine which present blockchain networks or new blockchain solutions will be viable in the real world on a larger scale for some time. This will ask for fundamentally rethinking the approach
by moving complexity beyond the basic technology up to second and even third or fourth layer solutions that are clever and simple in their design.
We are still not quite close to having a blockchain system that has all three properties implemented. But the work being done now on newer and much more advanced solutions that enable widespread transaction usage of the Bitcoin and Ethereum networks to
reach that goal look promising. It is very likely that in the coming years a combination of approaches will be used. That should ultimately lead to one integrated solution that could solve all existing scalability challenges.
The only certainty we have now: solving the blockchain scalability issue will remain a balancing act.