The Ethereum team has been trying to solve the blockchain scalability problem since 2014. During that time, solutions such as Raiden, Plasma, zk-SNARKs, sharding and rollups appeared in the developers’ tool kit. However, the implementation of some of them was constantly delayed, while others proved to be of limited efficacy.
This was the issue until Ethereum’s Istanbul hard fork was implemented in December 2019, which gave hope that the network can finally become suitable for corporate use. CryptoNewspeople attempted to figure out whether the situation with the second-largest cryptocurrency’s scalability has changed and why not all the solutions have cut the mustard.
Why should Ethereum scale?
The Ethereum (ETH) blockchain has become a software for thousands of projects over the past couple of years. Its easy-to-use smart contract model allows for the creation of almost any application and a release of the project’s own cryptocurrency. As a result, the number of active decentralized applications, or DApps, has reached 1,895 on the network as of April 2020, with 77,000 daily transactions performed by its users. Not to mention hundreds of thousands of daily transactions made by users to buy or sell ETH.
At the same time, Ethereum network’s throughput didn’t exceed 15–20 transactions per second in 2019, and was considered insufficient for making the blockchain suitable for large-scale use. The crux of the matter is that the quick operation of DApps can only be possible if the scalability condition is met. Ethereum co-founder Vitalik Buterin previously stated that many large organizations are interested in joining the Ethereum ecosystem, but have refrained from switching to the network due to its insufficient bandwidth.
In recent years, some new projects have overtaken Ethereum in terms of bandwidth. For instance, the EOS blockchain can process up to 4,000 TPS, NEO can process 10,000 TPS, and the latest offering from Solana claims it can process up to 50,000 TPS. As a result, the reputation of the ETH platform began to decline, with a number of critics growing. It seems that some Ethereum developers themselves were losing faith that the network will someday be able to really solve its scalability issues. Buterin said regarding the notion:
“I have been getting more and more pessimistic about off-chain-data L2s over time. Vlad Zamfir is right; they’re just hard to build, require too much application-layer reasoning about incentives, and hard to generalize.”
That was before the launch of the Istanbul hard fork last December, which has finally brought hope for a solution to the Ethereum scalability problem. But could Istanbul dispel the general belief that Ethereum is too slow?
Istanbul hard fork: Faster, but still not the world computer
This is, perhaps, the only Ethereum scalability solution that has been successfully implemented as part of the network’s transition from a proof-of-work protocol to proof-of-stake. According to Vitalik Buterin, post-Istanbul blockchain capacity now has the potential to reach 3,000 TPS, while scalability solutions developer StarkWare claimed that Ethereum is now able to handle 9,000 TPS when executing smart contracts on decentralized exchanges and 18,000 TPS when processing online payments.
In fact, it’s still difficult to assess the actual bandwidth of Ethereum. Judging by Blockchair charts, the second-largest cryptocurrency network currently processes no more than 9.5 TPS.
Sharding: Increasing Ethereum’s scalability by 100 times?
By the start of 2019, the Ethereum community started focusing mainly on sharding, considering it their preferred option for solving the blockchain scalability issue. The growing popularity of sharding is based on the fact that splitting a single network into segments and processing transactions only within these segments increases the transaction processing speed.
Besides, processing transactions by parallel segments may lead to a linear increase in network bandwidth — the more segments there are, the more transactions can be distributed among them. Thus, according to the developers, the network will be supposedly scaled by adding new segments to it.
So, the question is: How will transactions between segments be carried out? Indeed, without solving the problem of inter-shard interactions, parallel processing of transactions by segment becomes impossible, which turns the panacea of sharding into a meaningless undertaking.
Judging by the recent statement by Buterin, the timing for the implementation of sharding remains abstract. What is known though is that sharding will be implemented in the Ethereum blockchain in Phase 1, while Phase 0 will be implemented within two years.
Raiden: Reaching scalability by sacrificing security?
This standalone Ethereum network scaling solution is similar to Bitcoin’s Lightning Network. Simply put, Raiden’s main task is to store part of the data outside the main blockchain, which significantly increases throughput. Processing data off-chain allows the Ethereum network to be used only for larger or more important transactions, while daily payments can be handled inside the Raiden network.
However, processing transactions outside the blockchain has its own risks, the main one being security. The fact is that in this model, tokens are stored in smart contracts that can be hacked, while off-chain solutions are more centralized, according to some critics.
While Raiden features are well-suited to deal with micropayments, this scalability solution may not always be reliable for large transactions and, therefore, puts the potential large-scale use of Ethereum into question. This may be the reason why many important iterations set in the Raiden roadmap are still in the works, while its ready-to-use version is used only by individual projects.
At the end of 2017, the so-called “micro-Raiden” appeared on the Ethereum network, which was positioned as a stripped-down version of the original Raiden. However, the success of micro-Raiden in the field of micropayments is still unknown, as is the level of adoption of another alpha version of Raiden called Red Eyes.
Plasma: Abandoned technology
The Plasma project was first announced by Vitalik Buterin in August 2017 as a protocol designed to save the Ethereum blockchain from processing unnecessary data by creating a second layer on top of the main blockchain.
According to the developers, in using Plasma, the Ethereum blockchain will still be able to process smart contracts, but it will only publish them on the blockchain after the completion of the contract. This will significantly reduce the amount of computing power used by the blockchain to confirm transactions, saving a lot of memory. The Plasma protocol also attempted to speed up the transaction processing time, which would allow the network to host DApps without slowing down the system.
However, positive announcements in 2019 were replaced by news that the Ethereum community began exploring a new class of layer-two solutions named “rollups,” followed by the termination of Plasma Group’s work. On Jan. 27, Dragonfly Research revealed the death of Plasma, explaining that the Ethereum team is converging on Optimistic Rollup.
Zero-knowledge technology: Zero proofs of technology success
Zk-SNARKs implementation is supposed to solve the problem of Ethereum scalability through the use of smart contracts. This model has already been implemented in the Zcash (ZEC) blockchain project. However, the latter reported on the critical vulnerability of zk-SNARKs soon after implementation. The bug was said to allow an attacker to counterfeit an infinite amount of coins.
In the meantime, all publications regarding the zero-knowledge proof protocol and zk-SNARK based on it (which encrypts transactions by making them anonymous), are still just a part of the Ethereum team’s theoretical research.
Before the final transition of Ethereum to the proof-of-stake consensus model, the resources of other platforms that successfully operate in the market and offer low transaction fees can be used to scale the network, according to Buterin.
The Bitcoin Cash (BCH) network, for instance, may become a potential partner of the ETH blockchain, as suggested by Buterin. According to him, this project is well-suited for scaling the network due to its low transaction fees and high throughput capabilities. As of 2019, the BCH network was able to process more than 53 kilobytes of data per second, compared to Ethereum’s 8 kilobytes.
In addition to Bitcoin Cash, Vitalik Buterin suggested the use of the Ethereum Classic (ETC) network, pointing to its great potential and interoperability with other platforms. Other proposals for scaling the network include using the Litecoin (LTC) and STEEM platforms, but the team has not sent any offers of cooperation to its competitors as of yet.
An optimistic forecast for rollups
The latest innovation among the scalability solutions that have emerged from the zk-SNARKs described above is so-called rollups, which, according to Buterin, are being developed now. A rollup involves storing transaction data in blockchain in a compressed form, with the computation process taking place outside the chain. Instead of validating computations, such as sign-up verification and execution of a contract directly in the chain, it suggests using zk-SNARK as part of zk-Rollup and a fraud-proof scheme as part of Ethereum’s Optimistic Rollup.
The first solution, named zk-Rollups, uses zero-knowledge proofs to validate the correctness of all the transactions on the sidechain. Still, the solutions saw some drawbacks caused by the computationally intensive cryptographic process and the impossibility of using smart contracts.
The second variant, Optimistic Rollup, attempts to remove the need for zero-knowledge proofs by changing the consensus principle. In essence, instead of verifying each transaction, the network assumes that all of them are correct, making users intervene only if they see an incorrect transaction by submitting a “fraud proof.”
Buterin called both of these solutions amazing, noting that this is not just scaling payments, but scaling something equivalent to the Ethereum virtual machine. Optimism and Arbitrum are the two autonomous teams that make sufficient progress in making the Optimistic Rollups happen, according to Buterin.
Meanwhile, other projects have already integrated the concept into working solutions. For example, Loopring recently launched the ZK-Rollup exchange, which can theoretically reach a throughput of 2,500 TPS. In addition, the Ethereum team is optimistic with regard to the future efficiency of its rollup projects, as they are expected to increase blockchain throughput to 2,500—3,000 TPS, and to 2,000—10,000 TPS if combined with sharding.
What will all this lead to?
So far, the Ethereum team’s discussions on sharding, rollups and zk-SNARKs sound like a string of words from a magic spell. This may be partly because these terms are unclear to an everyday user, or that no one has ever seen the solutions at work.
Much will depend on this year’s releases that may show how realistic the proposals for scaling Ethereum are. In particular, it is expected that Ethereum 2.0 — tentatively scheduled for July this year — will be much faster and more scalable.
For reaching the full bandwidth, Ethereum can also require the simultaneous implementation of all of the above solutions. Statements from developers like Kevin Ho from Optimism, a company working on Optimistic Rollup, seem to confirm this hypothesis.