We can differentiate between Ethereum 1.0 and Ethereum 2.0. The change to Ethereum 2.0 will be rolled out in phases, whereby the main link between both chains is the economic layer.
Ethereum 2.0 will be designed as follows: It will have a main chain, called the Beacon chain. Pegged to the Beacon chain are several sub-chains or shards. If shards want to talk to each other, they can communicate via the beacon chain. Although cross-shard communication is possible, it will not be encouraged since it will be slow. dApps will be able to choose which shard they want to run on. Shards are expected to send cross-links to the Beacon chain, to verify their current state. This is similar to Polkadot's state updates.
Nodes will have to stake 32 ETH on the Beacon chain to become a validator on the Ethereum 2.0 chain. Once the stake is locked-up, validators will be assigned to shards and divided into block proposer and committees. Each individual validator will submit their own attestation to the shard. The attestations of each validator will then become aggregated with BLS signatures. Each shard will have one committee, which is responsible for submitting attestations on the validity of the shard to the Beacon chain. Note that the Beacon chain is the “single point of truth”; attestations get stored into blocks but disregarded after a certain amount of time.
What's the problem with ETH 2.0?
ETH 2.0 is around the corner, with the merger happening already in 2021. The merger will essentially connect the Ethereum main chain with the Beacon Chain. However, once that's done, ETH 2.0 is far from complete. There is one crucial step to go: Sharding. Sharding will split Ethereum into 64 different chains. These chains will exchange information with each other - an interoperable ecosystem of many different chains.
The problem with Sharding is that these chains will not support smart contracts at first. This is because they are empty chains that we can only use for data storage. As a result, only the old Ethereum main chain will be able to run smart contracts. That means only 1 out of 64 chains will natively execute Turing-complete smart contracts.
That means that Sharding won't scale Ethereum smart contracts at first. This is because they bring additional data storage - not additional computation power. You might be asking yourself why we will implement Sharding in the first place? Why should we split Ethereum into 64 chains when we cannot natively transact on the majority of chains in the first place?
That's when Rollups come in! Rollups are the reason why Sharding will thrive in the first place! We can't wait for Sharding to scale Ethereum - we need scaling alternatives right now! So sidechains and layer two solutions are being built right now. They will develop their own network effect, and people will get used to them. At the time when Sharding ships, people will already transact on rollups by default. In Vitalik Buterin's piece "A rollup-centric Ethereum roadmap," he describes the problem:
"It seems very plausible to me that when phase 2 finally comes, essentially no one will care about it. Everyone will have already adapted to a rollup-centric world whether we like it or not, and by that point, it will be easier to continue down that path than to try to bring everyone back to the base chain for no clear benefit and a 20-100x reduction in scalability."
That's why we need to find a way to combine the network effect of Rollups and the additional data storage of Sharding. The best way to continue will be to keep Rollups as the default layer for transactions and Ethereum accounts. Thus, we will build them on top of the additional data storage Sharding provides.
By combining Sharding and Rollups, Ethereum can release its true magic! That's how we can achieve a theoretical of 100,000 transactions per second! Think about that for a second. Today, Ethereum has ~15 transactions per second. If everyone moves to rollups now, we will soon have 3,000 transactions per second. However, once ETH 2.0 comes along and rollups move to sharded chains for data storage, we can achieve approximately 100,000 transactions per second!
Combining Rollups and Sharding is the way to go. It's how we can maintain decentralization and build a genuinely scalable settlement layer in the long run. By combining Rollups and Sharding, we solve the blockchain trilemma. Rollups are essential for Ethereum's long term success. Rollups are the reason why we won't need smart contracts on sharded chains. Sharded chains will only support data storage at the beginning of implementation. It has long been discussed whether we should upgrade them to support smart contracts later. However, it turns out that we won't need that.
Ethereum users will already have switched to Rollups, and Rollups are EVM compatible by the time of implementation. That's why it wouldn't make sense to bring smart contracts to sharded chains.
There are two main reasons for that:
Network effect: People are already used to Rollups. Rollups have already developed a strong network effect: wallets, apps, and users have adopted Rollups technologies. People will use them daily, and liquidity will already sit on top of Rollups instead of the Ethereum main chain.
Scalability: Bringing smart contracts to sharded chains will lower the theoretical transactions per second. By combining Rollups with sharded chains, we can achieve a visionary of 100,000 transactions per second. In contrast, sharded chains (with smart contracts) will only support 1,000-5,000 transactions per second: 20-100 times less.
Both from a scalability and network effect perspective, it makes sense to use Rollups in the future. Rollups are an essential part of Ethereum's roadmap. They allow us to achieve the maximum number of transactions per second - even more than the Ethereum main chain could ever support. They keep Ethereum decentralized while also scaling it for the masses.
Conclusion: Ethereum scaling is an investment theme and deserves its own pool