Blockchain is revolutionary. But Blockchain scalability is a significant problem we are facing today. It can’t adjust itself to the massive workloads, which is daunting. And it is inherently slow.
Anyhow, If appropriately used, It can strengthen data security and privacy. And it can help in preventing identity theft – a plaguing problem worldwide. Also, blockchain facilitates faster cross-border payments, and drastically reduces transactional costs.
And we have been hearing blockchain is here to stay. If it has to stay, blockchain should speed up the transaction processing; at least, to the level of Visa payment processing network.
Here we discuss blockchain scalability problem keeping the focus on,
- Bitcoin – the first ever widely successful cryptocurrency
- Ethereum – a blockchain platform that facilitates distributed applications and smart contracts. Even you can create your own cryptocurrency on top of Ethereum; and, for the same reason many initial coin offerings, a cryptocurrency version of stock IPOs, are held on Ethereum.
Why is blockchain slow?
Anybody can do mining. And only one block can be published at a time. Once the block is published, other miners will check it, which takes time.
Additionally, the maximum size of each block is limited. This is a concern for blockchain scalability
Bitcoin is designed to publish one block every ten minutes. Moreover, the block size is limited to 1 MB. So, if there are more transactions, then these transactions must wait another ten minutes. Thus the more the transactions are, the higher the time takes to confirm them.
Despite this problem, miners will try to include transactions with higher fees – as there is no limit on how much one can pay in fees. Hence, delaying the ones with low fees; because, miners are the ones who get those transition fees. Due to that, when transactions are happening in high volume, one must pay larger fees for faster confirmation. And it doesn’t make sense for a cryptocurrency to charge hefty fees.
Ethereum, however, has faster block time. On average one block is published every 15 seconds. And it doesn’t have a block size limit. Anyhow, there is a limit on the cumulative transaction fees of each block. That is, the miner can include as many transactions as he can, in a block, as long as the total fees brought-in by these transactions don’t exceed a certain limit.
Remember, Ethereum is a blockchain platform that not only has its own cryptocurrency Ether (ETH) but a multitude of other cryptocurrencies, often called as tokens or coins, and distributed applications. And each operation performed by these applications costs money as miners provide computing power for them. In turn, these payments are also made in transactions, thus adding more volumes than one can see in Bitcoin.
One can say proof of work is an issue that is causing blockchain scalability problem.
What is proof of work?
When a block is constructed with transactions, the miner must expend a certain amount of computational power to publish the block. And it typically involves solving a complex mathematical problem.
When the miner published a block along with the solution, others would verify it. Though verifying the solution is very easy and fast. The solution of the problem is nothing but proof of work – as the miner is proving that he has done the work.
The amount of power need to be expended depends on the total available computational power of the network.
Proof of work is an excellent way to keep the blockchain healthy and decentralized. However, that is also an obstacle to process transactions faster.
Stop it. What is decentralization?
Federal Reserve controls the US dollar. Can you ask anything if they want to print more USD? Nope, you don’t stand a chance. Nonetheless, the same goes with the clear majority of the central banks all over the globe that control fiat currencies. And these entities involve public very less in their decision making; and, sometimes their interests won’t be the same as public interests.
Decentralization is distributing control to the people participating in a system rather than having few people control the operations and decision-making process. This is one of the reasons that more and more people are using cryptocurrencies. In the current blockchain ecosystem, if more people join the network, the more bigger the blockchain scalability problem becomes.
2 Solutions to improve blockchain scalability
It has been just ten years since the invention of the blockchain. And a lot of researchers are working to make blockchain faster.
Here we discuss some exciting developments that address blockchain scalability problem.
1. Payment Channels
Instead of entering every transaction into the blockchain, a payment channel will be opened between a set of entities. Any number of channels can be opened between the network entities – users, merchants, and miners. And a channel can be closed at any moment.
Only the opening and closing of a payment channel will be noted in the blockchain.
Let’s take an example to see how it works.
There are five people in the network: Alice, Bob, Charlie, David, and Ellen.
Alice and Bob opened a payment channel in between them. Alice has 5 dollars, and Bob has 30 dollars. These 35 dollars are now in a safe. The safe is created when the channel is opened.
When Bob wants to send 5 dollars to Alice, instead of directly transferring the money, the ownership of the money changes. The money just stays in the safe. When the payment channel is closed, the safe is opened. And Bob will get 25 as he had made a 5-dollar transfer. Alice will get 10 dollars.
But, how can Alice send money to David or Ellen?
There are two ways.
- Alice opens a new payment channel with David and Ellen.
- Otherwise, let’s say David and Ellen have already had a channel opened with Charlie. Moreover, Charlie and Bob have a payment channel opened between them. Here, payments channel talk to each other.Now, Alice’s transaction to David and Ellen, first, reaches to Bob, then Bob forwards it to Charlie. Finally, Charlie will send the money to David and Ellen.
The more payments channels available, the faster the payment network becomes. And noting transactions on blockchain becomes less frequent. Therefore, less number of transactions on the blockchain. Thus, making the transaction processing lightning fast.
2. Sharding for Blockchain Scalability
In sharding, the miners are divided into multiple groups (shards), and then each group will be given different transactions to process. Each group works separately to publish one block each simultaneously.
As more blocks are frequently published, the transaction validation process speeds up.
Moreover, these shards talk to each other often so that there is no double spend transaction being given a green signal.
Here is how a double-spend transaction might occur.
Alice has 10 dollars. And she sends 10 dollars to Bob. Shard1 receives a message to verify this transaction.
Immediately, Alice again sends a forged transaction of 10 dollars to Charlie even though she has no money. It is possible because Shard1 is yet to validate Alice’s transaction to Bob – that is, Bob has not got the money. And this is illegal as Alice is spending more than she has, out of thin air.
Now, Shard2 receives Alice’s transaction to Charlie.
If miners from Shard1 and Shard2 don’t talk to each other often, they might both approve the two transactions. And it violates the rules of the money system. So, the shards must keep frequently communicating to prevent bad transactions.
However, this problem is better addressed when smart contracts – self-executing programs – are in place.
A smart contract will know how much balance Alice has. When she is sending a transaction, the smart contract will automatically stop Alice from sending the second forged transaction. And it will never reach to Shard2.
Another solution to scale Ethereum based dApps is Plasma, you can read further details in our recent guide: What is Ethereum Plasma? How Can It Scale Up Ethereum?.
Payment Channels and Sharding are the promising solutions to address blockchain scalability. And these under active research and development. And these are only the tip of the iceberg. But most of the solutions out there aren’t yet mature. Once a solution is brought to the blockchain, then only we can assess how far they are helping to scale.
Keep your fingers crossed. Hopefully, blockchain will have faster days ahead.