Software updates have become a regular part of our lives in the digital age. Sometimes you have to click through a small tutorial and spend a few minutes downloading upgrades. Sometime you have to hard fork a blockchain, twice.
Ethereum’s evolution into Metropolis is a case study into the multidisciplinary, dynamic inner workings of how the decentralized application platform functions. The Ethereum Foundation has been planning for this moment. Top level developers have been redoubling their efforts to develop the technologies and game theory schemes necessary to implement a highly tailored approach to reaching consensus that will shepherd the ecosystem into a new age. This is Ethereum’s next big step forward and the developers behind it have designed the transition to be as smooth as possible.
There has been a lot of speculation about the timing of this release and what it will entail. Here are the facts.
Ethereum’s Metropolis Update: What You Need To Know
First, per the latest information from the Ethereum Foundation, when the Ethereum network reaches block number 1,700,000, the Byzantium hard fork will go live on Ethereum’s Ropsten testnet. This means the first iteration of Metropolis could be live as early as this Monday, September 18. The actual network upgrade to Metropolis proper is slated for early October 9, depending on how Ropsten testing goes.
Metropolis is a significant upgrade for Ethereum and will be accomplished via two separate hard forks. Hard forks are necessary because Ethereum’s source code is being changed and the changes require the blockchain to alter its course and create a new, forked chain, where the updates are a part of how the chain progresses. Essentially, this is how Ethereum lets go of the old and grabs onto the new.
The first hard fork is called Byzantium and derives its name from a famous distributed computer science problem known as “The Byzantine Generals Problem.” This is in reference to the blockchain concept of consensus. The “Byzantine Generals Problem” is essentially a computational framework for understanding how to reach consensus within a group of nodes, some of which may be bad actors. Since the Ethereum Foundation cannot prevent people from being bad actors, it designed Metropolis to minimize what bad actors can do and made it expensive to do it. There are currently nine Ethereum Improvement Proposals (EIPs) slated to take effect with the Byzantium hard fork.
EIP 98 – Removal of intermediate state roots from receipts. Allows for parallel transaction processing.
EIP 658 – Embedding transaction return data in receipts. Allows light clients to verify if calls were executed correctly. Previously this could only be verified by a full-node.
EIP 100 – Change difficulty adjustment to target mean block time including uncles. Fixes block rewards for uncle blocks.
EIPs 198, 212 (197), 213 (196) – Precompiled contracts for modular exponentiation; elliptic curve addition, scalar multiplication and pairing. New cryptographic primitives enable ZK-Snarks. This will enhance privacy, security and scalability.
EIP 214 – Expanding the EVM with static contract calls. Fixes the problem that caused The DAO. Creates a safer, more defined way to call external EDCCs from within your EDCC.
EIP 211 – Expanding the EVM with dynamically sized data. Introduces two new opcodes: RETURNDATASIZE and RETURNDATACOPY. Enables forwarding EDCCs to return precisely what an underlying call returned. This step automates the hardcoding of how much memory is read from a call.
EIP 206 – Expanding the EVM with cheap state reverts. Gas expenditure update. By utilizing a revert instead of a throw, only the gas actually used is spent on a particular users transaction.
EIP 649 – Delaying the difficulty bomb and reducing the block reward. This delays Ice-Age by 18 months and reduces block rewards to three Ether. This is an effort to help ween the ecosystem off of proof-of-work.
EIP 684 – Preventing overwriting contracts. Byzantium is going to change the way EDCC addresses are created and this EIP makes sure no two EDCCs can occupy the same place on Ethereum.
ETHNews will be tracking the Ropsten testing and will provide updates for the Constantinople hard fork and additional details are they become available.