The various contributors to Ethereum have been working on the 2.0 upgrade for quite some time now. Multiple teams from multiple organizations are collaborating to develop the theoretical and practical specifications for this extremely ambitious project. This undertaking is, in my view, orders of magnitude more difficult than the Ethereum 1.0 release.
Things are really starting to heat up and we have every reason to believe that Ethereum 2.0 should launch within the next few months.
As Vitalik’s dream comes to fruition, I think it’s worth revisiting what the Ethereum community is trying to achieve and why they’re motivated to do so.
The king is dead. Long live the king!
Strictly speaking, Ethereum 2.0 represents completely new software and an entirely different blockchain than Ethereum 1.0. Ultimately, the idea is for the Ethereum 1.0 blockchain to die off and for all holders of 1.0 ETH to one-for-one exchange for 2.0 ETH.
The features being introduced in Ethereum 2.0 have been long desired, as you will see below. Considerable research needed to be done to come up with sufficiently safe and secure algorithms, as well as a low risk plan for migration.
The primary purpose for the upgrade is twofold: to create a new Ethereum with better transaction throughput and a more eco-conscious and censorship resistant consensus algorithm.
Come with me as I explore the motivations for these features and the innovations needed to bring them into being.
Why do we need to increase transaction throughput?
Since nearly the beginning of time¹, the blockchain scalability debate has raged on. This is the idea that a public blockchain can’t process enough transactions to compete with the likes of VISA and other payment processing networks.
To quantify this, here are some numbers:
VISA claims² to be able to have 24,000 txns/sec and currently averages 150 million per day.
Bitcoin’s theoretical limit is 27 txns/sec, which amounts to 2,332,800 transactions per day.
Ethereum’s limit is currently 44 txns/sec or 3,801,600 per day.
If you’re doing the math, VISA can handle considerably greater volume.
So you’re thinking, “Ethereum can’t be VISA. Does that justify the risk of a massive migration³ from ETH 1.0 to ETH 2.0?”
Well… maybe. There is, however, another reason that I think is more compelling.
Ethereum: A Distributed Application Platform
In 2014, Gavin Wood coined the term World Computer (Vitalik mentions it in there, I promise. Try Ctrl+f). He was describing the idea of a globally distributed, decentralized computing platform. Deploy your application and - boom - you’re running an app on hardware you don’t own with cryptographic guarantees it will behave as written.⁴
Here in 2020, we are beginning to feel the pain of a World Computer running too many applications at once. Users submit transactions to the network to interact with decentralized applications (i.e. DApps). When there are too many transactions to fit on the next block, users can increase the fee they’re willing to pay to get their transaction included ASAP.
Sadly - painfully - transaction fees are high and there is no respite in sight.
Based on the above, I believe you’ll agree we need to scale the number of transactions. But how do we do it?
So much to do, so little time.
Two of the hallmark features for Ethereum 2.0 promise to improve the rate at which individual transactions can be processed: Sharding and Ewasm. These are both big topics (that I don’t fully understand yet), so I’ll do my best to summarize them here.
Sharding
The purpose of sharding is to split the the chain into multiple, smaller chains.
Right now, to run an Ethereum full node you need to dedicate > 300 GB of disk space. Ethereum nodes will be able to run with a smaller footprint because different accounts and DApps will be isolated to a shard.⁵
This is where sharding provides a throughput benefit.
Now that we know we can ignore a huge portion of blockchain data to process each transaction, we can start to process them in parallel, allowing transaction throughput to become the sum of transaction processed over many (mostly) separate chains.
Ewasm
Ewasm stands for Ethereum Web Assembly. It is an Ethereum flavored, “restricted subset” of Wasm, the hot new web execution platform.
Ewasm will replace the existing Ethereum Virtual Machine with a platform more focused on portability and efficiency, as well as other usability improvements that will go a long way towards making smart contract development less error prone and more debuggable.⁶
Ewasm will increase the speed of execution for each individual transaction, and sharding increases the number of transactions that can be processed at once. VISA, here we come!
Next up is the feature that the Vitalik Buterin has been striving to build since the earliest days of Ethereum.
Proof-of-Stake
Proof-of-Stake has been discussed as the consensus algorithm Ethereum would ultimately transition to since as early as the whitepaper. Vitalik has been writing about it since at least 2014.
The community was so serious about the transition to proof-of-stake that a difficulty bomb (a.k.a. The Bomb) was introduced when the network migrated to the second phase of the Ethereum project, Homestead, at block height 1,150,000 in March of 2016.
The Bomb would, after about a year of operation, force the time between blocks to get progressively larger. The intent was to create an economic incentive for miners to switch from the deprecated proof-of-work chain to prevent creating a permanent fork in the ecosystem (a la Ethereum Classic).
As it turns out, the devs may have been a bit overzealous and perhaps a bit naive.⁷
There have been many hurdles to overcome and much research to be done to obtain sufficient confidence in the algorithms’ design. The difficulty bomb had to be delayed three times since it’s initial deployment in August of 2015. To this day, the effects of the bomb are not impacting block times.
Despite these setbacks, the desire to transition to proof-of-stake still runs strong.
The proof is in the pudding
There are three major benefits to Ethereum as a proof-of-stake blockchain:
Massively lower electricity consumption/cost to secure the network
Significantly increased resistance to miner centralization
Improved ability to disincentivize various types of 51%
Currently, miners are the only network participants processing and validating transactions. To be able to do this, they spend millions on electricity, equipment and, in some cases, R&D.⁸
With proof-of-stake, the miner’s tasks shift to a different group, called Validators.
The hardware requirements to run a validator node are actually quite low and fairly accessible. You could run one on a Raspberry Pi in your home and not even make a meaningful dent in your electricity bill.
That decreased operational cost opens the door for more, non-institutional participants to help secure the network.
While I am happy to hear that my favorite blockchain is making moves to be more environmentally friendly, I think there is a more compelling reason for the switch.
Censorship resistant decentralization
In the current proof-of-work reality, miners receive compensation from two sources: a block reward simply for finding a new block to append to the chain and the fees from the transactions they include in that block.
Censorship in this reality is inherently profitable.
When a miner receives a new block, they are intended to forward it to their peers. If that miner, however, has recently discovered their own valid block (or is private mining to perform a 51% attack), they could choose not to propagate the rightful next block in favor of their own. This earns the dishonest miner transaction fees and a block reward that should really be going to someone else.
Proof-of-stake, on the other hand, does not put the onus of furthering the chain on a single entity. A coalition of validators are randomly selected from the total validator pool and all participants are rewarded.
This consensus mechanism also provides the ecosystem with more knobs to turn in an effort to disincentivize bad behavior.
For example, one strategy would be to diminish the rewards for everyone when bad actors attempt to manipulate the set of transactions that become part of the canonical chain. In other words, everyone gets punished when a violation takes place, not just the culprit alone.
There are also strategies that would allow censoring validators to be identified by the honest participants, resulting in a more direct punishment for malicious behavior.
Those knobs work in conjunction with the random selection of validators by making collusion considerably more difficult. A group of conspirators never know when they will be assigned to validate the same block. They’re also unlikely to be assigned to work on multiple consecutive block, making any successful attempts at censorship short lived and ineffective.
So to round all this up…
The end is nigh
Increased transaction throughput via sharding and Ewasm.
Increased security, censorship resistance and environmental good citizenship via Proof-of-Stake.
These improvements are why (at least) 10 teams have collectively spent hundreds (thousands?) of hours in research and implementation of Ethereum 2.0.
As of now, several projects are in their final betas and multi-client testnets are being run in the wild. At this point (with a small dose of optimism) it seems as if Phase 0 of Ethereum 2.0 will be live by November of 2020.
But the road is long
Ethereum 2.0 Phase 2 does not have a clear live date. Likely it will be 2022 or later before we see Ethereum 1.0 fade away.
Regardless, these are exciting times! We’re all watching as a huge, collaborative project migrates to the next major phase of it’s life and I’m loving it.
What is to come
I’m still exploring Ethereum 2.0 and want to understand more clearly what participating in the new and improved network will take.
You can come along with me as I do my research. Keep an eye out for more!
Notes:
There is a common misconception that time begins at midnight UTC on January 1, 1970. This theory has been debunked and it is now evident that the beginning of time is, in fact, 18:10 UTC on October 31, 2008.
Arrived at through testing with IBM in 2010.
This is a very big transition. We will be effectively destroying ETH 1.0 coins to create new coins on the new blockchain.
As written and as intended are two different things.
Data will need to move across shards from time to time. That will create some interesting dynamics in the cross-shard economy.
I just covered a lot in so few words. If Ewasm has you all rustled up, please check out the design doc on GitHub and this Ewasm primer (linked above, as well). You may also consider reading up on Wasm itself.
If you’re a developer, or work with them, you’ll be familiar with half day projects that take three weeks. Same idea.
That really only for solo mining farms. There are also pool miners, which are made up of smaller entities - even individual people. Even though the pool participants are individually much smaller, they participate as transaction validators in a similar fashion.