Image Courtesy of CC Search. By Stan Levandovsky

Introduction

The Ethereum network is one of the largest and most widely used blockchain networks in the world. It is also one of the world’s largest open source projects with go-ethereum being one of the largest projects on Github. Since its first release in 2015, Ethereum has been making strides towards its ultimate goal of becoming a decentralized global computer that could one day replace many of the centralized applications that we use in everyday life. However, the Ethereum community and network still has much work to do before this goal is realized. This article will briefly explain Ethereum’s progress up until the present and then discuss the network’s upcoming and much anticipated release. This release is known as Ethereum 2.0 or Serenity (used interchangeably from now on). It will be the largest and most comprehensive update ever implemented by the Ethereum community.

The Four Stages of Ethereum’s Development

When the Ethereum network was first launched in 2015, the long-term roadmap for the project was envisioned in four phases. Each phase is defined by a set of Ethereum Improvement Proposals (EIPs). These are proposals put forward to and approved by the Ethereum community. The proposals create guidelines for the various Ethereum clients and developers to follow. For example, the current release of Ethereum is called Constantinople and was created through a total of four EIPs designed to improve the network’s security, privacy and scalability.¹

The first stage of Ethereum was called Frontier. Released in 2015, this was the first live version of the network. Frontier allowed users and developers to mine Ether, build Dapps and tools, and experiment with the new platform. The second stage of Ethereum’s development was Homestead. Released in March of 2016, Homestead was the first production release of the Ethereum network. It provided many improvements to protocols that would become the foundations of future upgrades and increased transaction speed.¹

The third and current stage of Ethereum’s development is called Metropolis. Metropolis has been divided into two releases, Byzantium and Constantinople. Byzantium was released in October of 2017 and is lighter, faster and more secure than the previous versions. Some specific upgrades include more predictable gas prices and easier programming for developers. Byzantium also improves privacy by allowing Ethereum developers to perform efficient on-chain verification of zk-SNARKs (zero-knowledge succinct non-interactive arguments of knowledge). Although at first glance, the zk-SNARKs acronym may seem complicated, the system uses a relatively simple concept, that of a zero knowledge proof. This is a method that can prove the truth of a statement without revealing anything else beyond what that statement is trying to prove.¹ For example, I can prove to a friend that I know the password to my cell phone, without actually revealing that password to them. The Byzantium update also updated a mining adjustment called a “difficulty bomb” that will make mining more difficult over time in anticipation of the transition to a proof of stake system (more on this later).¹ Constantinople is meant to further build on these improvements. Although the original release date for Constantinople was set for November of 2018, Ethereum leaders and developers decided to postpone its release until 2019.¹ The fork was finally released on February 28, 2019 at block 7,280,000.² The fourth and tentatively final stage of Ethereum has become known as Ethereum 2.0 or Serenity. This is the most ambitious upgrade yet and is supposed to improve nearly every aspect of the network. Eth 2.0 is meant to be released in four phases between 2019 and 2021, although this timeline is subject to change. In order to fully understand the magnitude and importance of Eth 2.0, we first need to examine the major issues facing the current Ethereum network, the issues that Eth 2.0 is trying to solve.

Current Issues Facing Ethereum

The single most important issue currently facing the Ethereum network is scalability. The Ethereum network supports hundreds of decentralized applications and needs to process a high number of transactions per second. Adding more nodes does not increase the scalability of the network because each node needs to verify each transaction. Increased use of the Ethereum network, including the creation of more Dapps and the execution of more transactions, has led to an on-going increase in the time and cost of transactions. This makes the Ethereum network slower and less convenient to use. In a recent speed test, the network only managed 20 transactions per second (various sources have stated anywhere between 12 and 45 transactions per second over the last year). In comparison, centralized networks such as PayPal and Visa regularly perform 193 and 1667 transactions respectively, and Visa’s maximum capacity is close to 24,000.⁴ For the network to achieve mass adoption, efforts to massively increase scalability are central to the development of Ethereum 2.0. After investigating several other options, the Ethereum team settled on a process called sharding as the best solution for network scalability. Off-chain solutions like plasma chains and state channels will also likely be used to take load off of the main network and further increase scalability. I will be releasing new articles on sharding and scalability in the coming weeks. Check them out for more details.

Another major issue that will be addressed by Eth 2.0 is efficiency and environmental sustainability. Like Bitcoin and many other blockchain networks, Ethereum currently relies on a proof of work (PoW) consensus protocol to ensure the security of its network. PoW systems involve a number of miners who own computer hardware connected to a blockchain network. Miners are rewarded for putting their hardware to use by the network. An algorithm sets a target value for each new block, and miners compete to be the first to find this target and append the new block. To do this, they run the proposed block’s header data along with a random “nonce value” through a hash function that will return a fixed-length string of scrambled numbers. If the target value is not met, the nonce is changed and the hash function is rerun. Miners rerun the hash function until one of them generates a hash value that matches the specified target. At this point, the new block is broadcast to each node on the network to validate and add to their ledger, and the successful miner is awarded with a small balance for their work. A major benefit of PoW systems is that verifying whether or not a new block belongs to the chain is a very fast and relatively simple process. However, in order to ensure the security of the network and prevent fraud, it is computationally expensive for miners to find the correct hash input. This is exacerbated by the fact that only one miner will find the correct hash, so the work done by all the others is not actually used. As a result, PoW consensus requires a huge amount of computational power and electricity and is very inefficient.

At the time of writing, each transaction on the Ethereum network uses about 29 kwh (Kilowatt hours), enough electricity to power an average American household for 24 hours! The electricity used by Ethereum mines could power 652,669 American households every year.⁵ Ethereum mining annually uses about the same amount of energy as the country of Bolivia. This is obviously a major issue. The exorbitantly high amount of energy necessitated by Ethereum’s PoW protocol reduces the profitability of mining and has serious negative consequences for the environment and the system’s long term sustainability.⁵

PoW protocols are important because they enabled the creation of early blockchain networks, but they are very inefficient. They are also susceptible to market monopolization because they bestow unfair advantages on actors with more resources. Wealthy and powerful individuals and organizations can afford a larger number of much faster and more powerful computers, which gives them a much higher chance of successfully solving each cryptographic puzzle and earning the reward. For example, about 65% of bitcoin mining is done by 5 mining groups who could theoretically join together to control more than 50% of the market. Bitcoin miners use expensive and specialized application-specific integrated circuits (ASICs) which have led to the industrialization and partial centralization of Bitcoin mining. Because Ethereum mining is usually conducted using graphics processing units (GPUs) found in many home computers, the risk of centralized mining is not as great here as in Bitcoin. However, ASICs have recently been released for Ethereum, and Ether mining is still in danger of centralization and monopolization because of the PoW protocol it currently relies on. This has created a situation where Bitcoin, Ethereum and other blockchain networks are not nearly as decentralized as they were originally intended, which endangers their independence and utility. Eth 2.0 is in design to transition the network from a proof of work protocol to a proof of stake (PoS) protocol called Casper, which seeks to solve this issue of efficiency and sustainability. This transition will become increasingly important because of the difficulty bomb mining adjustment that was introduced in 2017 through the Byzantium update. The bomb will make mining Ether more and more difficult until it will eventually become infeasible.⁶ This device was introduced in anticipation of Serenity’s transition from PoW to PoS and is yet another reason why the update is so important for the Ethereum community. For a more detailed explanation of Casper and proof of stake, check out this article.

The final major issue that will be addressed by Eth 2.0 is speed and usability. This is related to but not the same as, the issue of scalability that will be addressed by sharding. The introduction of sharding should remove the most significant bottleneck for transaction speed and throughput, but another bottleneck is caused by the Ethereum Virtual Machine (EVM) itself. The EVM is essentially the underlying structure of Ethereum that executes code and allows the network to function correctly. The EVM is responsible for the internal state of the Ethereum network and for all of its computations. The EVM also ensures that the following are accurate: account information such as balances, current gas price, addresses and block information. Furthermore, the machine must keep track of the following components: Block Information, Storage State, Account State and Runtime Environment Information.⁷ The Virtual Machine also deals with all Ethereum smart contracts which are written in Solidity/Vyper and compiled into unique EVM bytecode. The contracts are then executed by each node on the network.⁴

Because it is responsible for so many important aspects of the Ethereum network, the speed with which the Virtual Machine is able to perform tasks has a major affect on the overall speed and usability of the network itself.⁴ The solution to this bottleneck advanced by Eth 2.0 is called Ewasm (Ethereum wasm). Wasm is a W3C Community Group open standard instruction-set that is currently being developed by engineers from Google, Mozilla, Microsoft and Apple. In addition to increasing speed and throughput, Ewasm will increase the security and usability of the Ethereum network, and bestow several other benefits. I will release an article that explores the details of Ewasm in the next few weeks, stay tuned!

Additional Goals of Eth 2.0

As we now know, Ethereum 2.0 is in design to solve the major issues with today’s Ethereum. However, the innovation does not stop here. Serenity is also under construction to satisfy several more general design goals. Because of the many new and complex systems that will arise from the introduction of Casper and Sharding, one of the main design goals of Eth 2.0 is to reduce network complexity as much as possible, even if this leads to some loss of efficiency. This is possible because the massive increase in throughput and efficiency allowed for by Sharding, Casper and Ewasm will outbalance a small reduction in efficiency in order to mitigate the additional complexity necessitated by these same systems.⁸ Another major design goal is to use cryptography and design techniques that allow for the participation of a large set of validators, both in total and per transaction. A third goal in the same vein, is to create a system that allows a standard consumer laptop to process and validate an individual shard. Both of these goals are meant to ensure that the network remains secure and decentralized.

In addition to solving specific issues and addressing more general concerns, Serenity has two long-term design goals created in anticipation of potential issues that may arise in the future. The first is to design the release in such a way that the network will be able to remain live in the event of a major partition or if a very large percentage of nodes goes offline simultaneously. In his talk at Devcon 2018, Ethereum developer Justin Drake explained how the team wants Eth 2.0 to be able to “survive world war three” or a similar situation in which up to 80 percent of nodes go offline at once.⁹ This would also be important in other, less extreme situations. For example, one or more major climate change related disasters could knock out a large portion of nodes within hours, or a major power such as China or the United States could decide to ban Ethereum and other blockchain networks, and try to eliminate the nodes in their country.

The other contingency that Eth 2.0 anticipates is the advent of quantum computing.There is currently an ongoing tech race between the United States, China, and other major powers and corporations to be the first to invent a production quantum computer. At this point the question is not if, but when. Whenever they do come along, quantum computers will be exponentially more powerful than even the most advanced traditional computers. This will render most existing cyber security, including encryption and blockchain tech, relatively defenseless and easily hack-able. It is therefore important for new and future blockchain networks to do everything possible (within the limits of traditional binary computing) to protect against the eventuality of quantum computers. The final design goal for Eth 2.0, as laid out in the Ethereum github repo is: “to select all components such that they are either quantum secure or can be easily swapped out for quantum secure counterparts when available.”⁸

What to Expect From Serenity

This is all very exciting, but when will Eth 2.0 actually go live? Unfortunately, the answer remains…. we don’t know! However, in a talk at Devcon 2018, Vitalik said that Serenity is “really not so far away.” He also explained how “Ethereum 2.0 is … a combination of a bunch of different features that we’ve been talking about for several years, researching for several years, actively building for several years that are finally about to come together in one cohesive whole.”¹⁰ William Suberg seems to agree that Serenity is in its final stages of development and testing when he writes of “final tweaks” before the “big launch.”

It seems that Phase 0 of Eth 2.0 is in its final stages of development and testing but it is still uncertain exactly how much longer we will have to wait before its release. We do know that Serenity is being developed separately from the current Ethereum mainchain and at first, will run parallel to it. Later on, the current Ethereum blockchain will be incorporated into the new one, possibly as a single massive smart contract.⁴ We also know, that when Eth 2.0 is released, it will be rolled out in four successive stages. Phase 0 will feature a beacon chain PoS system. It will not yet support Dapps but will lay the foundation for the following phases. Phase 1 will supports Dapps and introduce shards as data chains. Network data will be split into shards but the network state will continue to be stored on the older Ethereum blockchain, and will not yet be sharded. Phase 2 will be fully sharded, will enable state execution and will allow for smart contracts. At this point, Eth 2.0 will have all of the major features discussed above. Phase 3 and beyond will consist of iteration, improvement and additional tech.¹⁰ Once each phase is implemented, Eth 2.0 is expected to have the following features: fully sharded blockchain, pure PoS consensus protocol, faster time to synchronous confirmation of about 8–16 seconds and “economic finality” that can be achieved in 10–20 minutes.⁴ Vitalik considers Serenity to be “The world computer as it’s really meant to be.” I hope you are as excited as I am for the release of Eth 2.0.

Thanks for reading! I will be publishing several more specific articles that delve into the details of sharding, Casper and Ewasm in the coming weeks. Feel free to follow me for more articles on Ethereum and other blockchain technology.