Ethereum aims to support as many users as possible, like most public blockchain systems.
But today, we aren’t aware of the platform’s true limits.
The Ethereum blockchain at this moment supports about 15 transactions/second. This is due to the difficulty of coded limit on computation per block. For comparison, a credit card system supports approximately 45,000 transactions per second.
Academics and developers concern about the limits of Ethereum and other blockchain systems for a long time.
Ethereum developers want to highlight how the flexible smart contract platform is different from Bitcoin’s. But the truth is that it isn’t unique in regarding the scalability.
However, it’s possible for proposed solutions to ‘enter’ the official software.
What makes scaling so difficult?
Bitcoin and Ethereum use several incentives and technical tricks to make sure that they precisely record what every user owns, without the need for a central authority.
But is difficult to grow the number of users while preserving this balance at the same time (regarding the fact that average users can use the system to run applications or make microtransactions).
That occurs because Ethereum depends on a network of ‘nodes’. Each node’s work is to store the current ‘state’ of account balances, contracts, and entire Ethereum transaction history. This is a complicated task, taking into account that the total number of transactions is increasing about every 10 to 12 seconds with each new block.
The problem could appear in the case the developers raise the size of each block in order to fit more transactions. Then, the data a node will have to store would become larger. This would result in effectively kicking users off the network. When each node grows large enough, only some large companies could afford to run them.
Although, running a full node is still the best option for people to ensure security and privacy. Making full nodes harder to run would limit the number of users that can verify the transactions themselves.
To sum up, scalability and decentralization are at odds at the moment, but developers are searching for ways to fix this.
What is Sharding?
Some Ethereum scaling projects are in the works right now and each of them tackles a different scalability problem.
‘Sharding’ uses a common scaling technique called ‘database sharding’. This kind of technique effectively divides a database into pieces and places each part on a different server.
The aim of sharding is to no longer need ‘full’ nodes.
This way, each node stores a part of this data and only verifies those transactions. When a node wants to learn about blocks or transactions that it doesn’t store, then it should find another node with the information it needs.
But even in this model, the process isn’t 100 percent trustless since nodes have to rely on other nodes.
Ethereum considers the use of ‘cryptoeconomic incentives’ that make actors in a system to act a specific way. This way the system ensures that nodes pass on valid information to other nodes.
How much time is needed to scale?
This is question fits a lot of discussions and there’s a no straight answer. A lot of experimentation is currently taking place on the scaling front.
The creator Vitalik Buterin’s claimed that the platform’s long-term goal is processing transactions at Visa-scale levels and beyond.
Despite the fact that Ethereum is able to only handle a small number of transactions per second; its developers have high hopes for the system’s future.