Ethereum does indeed have a problem with scaling similar to what we have seen with Bitcoin. Still in its infancy, the most popular smart contract platform needs to establish an infrastructure that can be used by billions around the world without security or scaling concerns.
One prime example of its scalability issue was brought forth with a simple game built on the Ethereum platform called CryptoKitties.
When it first launched, the sheer number of transactions from users buying and selling kitties on the network caused a substantial amount of congestion on the network.
At its current state, ethereum can only process around 15 transactions per second. Compared to Visa’s 45,000 transactions per second, this is definitely not a scalable amount, especially when a single DApp is able to congest the entire network.
This is because for blockchains like Ethereum, every transaction and smart contract needs to be processed by every single node in the network. As you can imagine, this puts a massive limit on Ethereum’s transaction throughput, as it can only be as high as the work required from an individual node.
Another reason is because every DApp built on the Ethereum platform uses the same blockchain. Since there was an incredibly high amount of network transactions happening with CryptoKitties, the other DApps on the Ethereum platform became congested and slow as well.
This in turn, required a higher amount of Ether gas to be used to run transactions or contracts on the network. Since there were so many transactions occurring at once, users were now competing for transaction speeds by sending larger amounts of gas. The miners on the network would automatically process the transactions which sent higher amounts of Ether gas as they would be more profitable than those with a lower amount.
The CryptoKitties incident highlights the fact that blockchain tech still has a lot of room for improvements, specifically in the scalability aspect.
One of the ways Ethereum is proposing to solve this scalability issue is with a solution called sharding.
Let’s refer back to the concept with how every transaction and contract needs to be processed by every node in the network. Instead of each transaction having to go through every single node, sharding allows the entire state of the network to be split into partitions called shards, which each contain their independent piece of state and transaction history.
This allows for transactions to be processed by the nodes in the shard, rather than having to be processed by every single node on the network.
You can read an in-depth guide on how exactly sharding works as well as some of its pitfalls in this Medium article here.
Another scaling solution Ethereum has proposed is Plasma, a channel to conduct off-chain transactions while relying on the Ethereum blockchain to ground its security.
Similar to Lightning Network, a scaling solution for Bitcoin, Plasma is a series of child blockchains which run on top of a root blockchain, in a Merkle tree.
Data commitments are broadcasted periodically from the child to the root blockchain. To combat attacks or bad actors on the network, child chains can do a mass-exit to the root chain.
So plasma is essentially a tree of blockchains, ensuring faster transactions due to not having to propagate all the network data to every party. Along with built-in fraud protection due to mass-exit capability and a single root chain acting as the “source of truth”.
Expanding on Plasma, Vitalik Buterin presented Plasma Cash at the Ethereum Community Conference on March 9. This further improved on scalability as well as security issues that Plasma has. The vision for this is that exchanges could insure losses and gains directly through Plasma contracts, making them potentially hack resistant.
Learn more about the Plasma framework by reading their whitepaper here.
The trade-off between scalability and security is one that is constantly brought up with different cryptocurrencies including Bitcoin (the block-size limit debate) and Ethereum (as discussed in this answer). How we plan to solve these issues as blockchain continues to be developed will be integral to the global adoption and use of these technologies.