By Grant Hummer
Anyone who’s followed Ethereum for a while knows its development history is riddled with broken promises, missed deadlines, and spotty communication about its future plans. This has caused many to write Ethereum off as a failed experiment. Their pessimism is understandable. Ethereum today (ETH1) is slow; the entire network is throttled at 15 transactions per second (TPS), and doing anything complex at scale with those transactions is extremely costly. Visa, by contrast (a single, US-based payment processor), processes thousands of transactions per second.
Why is Ethereum so slow and expensive to use? The incredibly high value and (current) high cost of decentralization is the short answer. Decentralization is costly because like most blockchains today, every node (defined as a computer connected to the network, like a laptop running Ethereum software) on Ethereum has to run every piece of computation on the network to ensure all participants obey the rules. This costs real energy and resources. In terms of time costs, the nodes running Ethereum are spread around the world — after all, it’s a public network with myriad incentives for participants — and there are high communication latencies and differing computing capabilities among the different nodes. The network needs to maintain enough of a delay so that slower nodes are able to “keep up” and be able to contribute to the decentralized voting of the network. If the Ethereum network as it’s currently architected started to process too much data in too little time, then consumer hardware such as laptops or personal servers would be unable to keep pace, and the only functional nodes on the network would be large data centers. This would severely compromise Ethereum’s decentralization, since those data center nodes could easily form cartels and take over the network or exert censorious control over it. A number of crypto networks (such as EOS) are actually experiencing this problem at the time of this writing.
Maintaining a sufficient level of decentralization in a public blockchain is incredibly important. Without decentralization, there isn’t much of a point to using a blockchain, because a centralized blockchain can easily censor peoples’ transactions, and is much more inefficient to use than a regular distributed database. In case you’re new to blockchain, let’s recall that before the invention of this new form of decentralized governance by Satoshi Nakamoto in bitcoin, it was in practice impossible for any system to have trustless governance — where all participants exert some control over decisions, but none have all (or majority) control. Vitalik Buterin (the inventor of Ethereum) famously responded to an audience question on this tradeoff between decentralization and performance, stating that anyone can build a high TPS system by making it a “steaming pile of centralized garbage.”
What if it were possible to build a blockchain where every node didn’t have to process every other node’s transactions, where you could reduce communication costs by instead processing only a small subset of the entire network’s transactions?
ETH2 is the next generation of Ethereum, and even calling it Ethereum is a bit of a misnomer — it’s an entirely different project, with a new zero-to-one paradigm for how blockchains can operate at scale. The goal of ETH2 is to improve the scalability, security, and programmability of Ethereum. Instead of 15 TPS on a single chain, ETH2 will process thousands to tens of thousands of transactions per second (or possibly more) without compromising on decentralization. In fact, ETH2 will introduce a more economically secure consensus mechanism called Proof-of-Stake (PoS), in contrast to the Proof-of-Work (PoW) system that’s currently used in bitcoin and ETH1. In a traditional PoW blockchain (like bitcoin), new bitcoins are minted and transactions are processed by miners, individuals and institutions who use expensive hardware to solve very difficult math puzzles. Miners provide security to the network in exchange for inflation and transaction fees. In a PoS blockchain (like ETH2), by contrast, new ether is minted and transactions are processed by validators, who provide security to the network by locking up their ether. In effect, the security provided by validators is bootstrapped by and contingent on the value of the network itself. If a validator misbehaves (e.g., by approving a malicious transaction), their ether can be slashed. This slashing mechanism gives validators a large incentive to follow the rules of the protocol.
A big reason for PoS’s superior security is the so-called ‘spawn camping’ attack that PoW systems are vulnerable to. If an adversary was able to accumulate enough mining hardware to attack bitcoin or another PoW chain, then bitcoin would be powerless to stop further attacks, as the network would continually restart/hard fork, only to be attacked again ad infinitum by the same mining hardware. Ethereum, by contrast, is far more resilient to spawn camping attacks — Ethereum could hard fork and slash the attacker’s stake. This would be akin to burning down an attacker’s bitcoin mining farm.
In addition, ETH2 will enable developers to create their own transaction processing methods called execution environments, so that they can use the rules of different blockchains within Ethereum if they want to. To massively oversimplify what an execution environment is, ETH2 will enable people to use Bitcoin’s rules for transacting, ZCash’s rules, ETH1’s rules, and many other conceivable rulesets, at a scale multiple orders of magnitude higher than is possible today, all while being secured by the same large, well-capitalized set of validators. ETH2 will achieve this with what are called shards: each shard in ETH2 will be akin to a blockchain with its own unique block producers and validators, but it will be closely connected with and able to talk to the other shards, thereby forming a large network of shard chains. Thus, instead of having to process every transaction in the entire network, a given validator on ETH2 will only need to process and verify the transactions of a single shard. This is the innovative technique that will enable people using consumer hardware to meaningfully participate in the ETH2 network.
It’s important to note that each shard in ETH2 will share the same security as every other shard. In order to break a single shard, you would have to break the entire system. This security model provides much better guarantees of safety than platforms like Cosmos, where every chain is responsible for its own security, resulting in a fragmented and easily attackable network. Thus, in order to compromise ETH2, an attacker would have to buy and stake billions of dollars worth of ETH (an amount that will grow much larger if ETH prices increase).
Here’s an image of what a traditional blockchain network looks like — it’s a single ‘chain’ of data blocks. Don’t worry about understanding the block header or transactions list, since this graphic is just for illustrative purposes:
And here’s an image of what ETH2 will look like, except instead of two shard chains there will be 64, all using the beacon chain to coordinate with each other. Again, don’t worry about the technical details:
ETH2 is being built by 9 different engineering teams, who are being funded by grants from the Ethereum Foundation and receiving support from the broader Ethereum community. The teams are building applications called clients — you can think of a client as being similar to a web browser, like Chrome or Firefox, except instead of accessing websites, it’s accessing and participating in the Ethereum network. Client diversity is a core principle in Ethereum — the premise being, if one or two clients break or have a bug in them, the entire network won’t go down. Each client is targeting a different niche use case, but they will all be able to fully participate in the network. For example, one client is being optimized for smartphones, while another is being built for use by enterprises. The engineering teams are building ETH2 off of a specification created by highly talented researchers (mostly computer science PhDs or the equivalent) in the Ethereum Foundation, ConsenSys, and the broader academic community. Much of the research takes place in an open source manner on a site called ethresear.ch, where anybody in the world with a valid technical idea, suggestion or criticism can post. It’s taken years of intensive iteration for the specification to reach its current state — there were times when the researchers thought they had created a sound design, but would then discover flaws which required rearchitecting parts of or even the whole system. It’s not an exaggeration to say that the ETH2 research team is the most experienced and talented protocol design group in the entire blockchain space.
Here’s a list of the teams building ETH2 (in no particular order):
- 30+ person company based in Toronto, Ontario, with 5 developers working on their ETH2 client
- Grassroots developers who met each other at the Toronto Ethereum Developer Meetup
- 50-person team distributed around the world at ConsenSys, the largest company in the Ethereum ecosystem
- Built an enterprise-friendly ETH1 client called Pantheon
- Have a team of researchers that heavily work on the ETH2 specification
- Building a Java-based client called Artemis, optimized for enterprise use
- 4-person team based in Russia
- Building a Java Ethereum client
- Not much information publicly available about them yet
- Potentially merging with PegaSys/Artemis
- 60+ person company based in Berlin, with a large remote workforce (not all working on ETH2)
- Received $5 million from the Ethereum Foundation to build an ETH2 client named Substrate Shasper
- Parity is also the team behind the ambitious interoperability blockchain project Polkadot, which some consider a competitor to Ethereum
- Built and maintained the second most popular client in ETH1, also called Parity
- 6-person team distributed around the US
- Actively posting updates on their blog, which are a great way to learn about and follow ETH2 more broadly
- Building a client called Prysm intended for a wide variety of mainstream usage, similar to Geth in ETH1
- 4-person team based in Sydney, Australia
- Cybersecurity experts with very strong academic/software development backgrounds
- Building a client called Lighthouse, suited for mainstream use cases
- 8-person team based all over Europe
- Working on a light client called Nimbus, meant to be run using smartphones and other ‘light’ environments
- 4-person team contracted to work by the Ethereum Foundation
- Building a lightweight client which will serve as a prototype for more advanced implementations
- 7-person team based in London and Poland
- Building a Windows client for ETH2 in .NET
ETH2’s launch is divided into multiple phases, but the most important are the first three. These phases are rolling out the various components of ETH2 in a staggered manner, both because they take a long time to build properly and because introducing changes in a gradual manner greatly reduces technical risk. A ‘move fast and break things’ philosophy is unwise for a crypto network worth billions of dollars. Unlike a centralized technology company which can roll out fixes quickly, a crypto network with a severe client bug risks causing havoc for a prolonged period of time, as the network’s participants all have to manually update to new client versions, and in the worst-case scenario (e.g., an attacker manages to print new ether out of thin air), numerous transactions would have to be rolled back in order to preserve the soundness of the network. This would have a highly negative reputational impact, as illustrated by the DAO hack in 2016 that caused a contingent of Ethereum developers and users to split off into their own chain called Ethereum Classic.
Phase 0, probably shipping in late Q2/early Q3 of 2020, introduces the beacon chain, which will serve as a sort of ‘command and control’ center for the entire ETH2 network. The beacon chain will organize the validators and assign them to different shard chains, where they will process transactions for a period of time before being randomly reshuffled into another shard. This reshuffling is a key component of ETH2’s security, since without it a tiny subset of the validators could be bribed or compromised to interfere with ETH2’s operation. The beacon chain will also attest to the veracity of the blocks produced by the different shards so that ether, tokens and data can be exchanged between shards. To put it in 1970s California terms: the beacon chain is a blockchain that manages other blockchains, maaaaaan.
If the beacon chain is command and control, validators run field operations. Validators are participants on a PoS network that are responsible for processing and ordering the network’s transactions and relaying them amongst themselves and to the other participants. They are rewarded for doing this with transaction fees and newly created coins (inflation). Validators play arguably the most important role in a crypto network, and designing incentives for them to behave in prosocial ways is one of the core challenges that ETH2 is trying to solve. The beacon chain will also be responsible for slashing validators who misbehave.
Phase 1 of ETH2, due to ship in 2021, will launch the shard chains themselves, but without the ability to process or structure data on the shards. Data will live on the shard chains in a raw form (known as a ‘data blob’), and will primarily exist to ensure that the shard chains are able to properly communicate with each other and with the beacon chain. Shards won’t be able to do any computation on the data. At first, it might sound like phase 1 is a glorified testnet with limited usefulness, but that’s not entirely true. New or existing DApps could leverage this data storage to increase their scalability. A decentralized Twitter DApp, for instance, could store its data on the shard chains and perform the bulk of its computation off-chain, with ETH1 providing high level security guarantees. During phase 1, ETH1 will still operate as normal, and the 1.0 and 2.0 chains will run in parallel.
In late December 2019, Vitalik proposed moving ETH1 into the beacon chain on an accelerated schedule so that Ethereum can realize the benefits of PoS and merge more quickly with ETH2. ETH1 would initially exist as its own special shard (rather than as an execution environment), but would eventually be transformed into an execution environment in phase 2. There’s no current proposed timeline for when this would happen, but it seems likely that it would occur in phase 1.
Phase 2, projected to launch in 2021 or 2022, will fulfill the true vision of ETH2. Shards will be able to process transactions, and the ETH2 network will be usable for real business applications. Smart contracts on shards will be introduced in phase 2, along with the execution environments that run those smart contracts. As mentioned earlier, execution environments will enable developers to create arbitrary rulesets for how their transactions are processed. This means that protocol developers will be able to create execution environments that mimic the rules of bitcoin, Zcash, ETH1, or almost any other conceivable method for computing blockchain transactions. In the same way that ETH1 abstracted bitcoin to enable smart contracts on a blockchain, ETH2 will abstract ETH1 to redefine the very nature of blockchain computation itself.
There are still a number of unfinalized research questions around some of ETH2’s components, such as how data will be provided and stored in a way that maintains decentralization (so a small cartel of data providers can’t monopolize the network), how cross-shard transactions will work, execution environment governance, and more. However, research is proceeding at a rapid pace on these issues.
To reiterate the first three phases of ETH2:
- Shipping in late Q2/early Q3 of 2020
- Launches the beacon chain and PoS validation on the beacon chain
- ETH1 will continue to operate as normal
- Shipping in 2021
- Launches shard chains and allows data to be stored on those shard chains, but does not process transactions on the shards
- ETH1 either continues as normal or gets merged into ETH2 as a special shard
- Shipping in late 2021/early 2022
- Enables transaction processing on the shards
- After a period of time, ETH1 transitions into ETH2 as an execution environment
Ethereum will continue to evolve beyond phase 2, but the picture is less clear from that point on. Some possible directions include using ZK-SNARKs for scalability, further development of light clients, quadratic sharding (basically, shards within shards), and in the far future, abstracting the very notion of shards themselves with a consensus mechanism called CBC Casper.
From my vantage point, the future looks bright for Ethereum. There are no other smart contract blockchains with anywhere near the critical mass of researchers, developers, users and projects that Ethereum has, and there’s no better time to get involved. Ethereum is on the cusp of the biggest and most important upgrade it will probably ever undergo, an upgrade that, if successfully implemented, will create massive amounts of value for the world.
Special thanks to Robert Drost from ConsenSys R&D, Terence Tsao from Prysmatic Labs, James Fickel and Carrie Krabes for helping with this article.