Watch our resident expert, Taylor Gerring, break down Ethereum’s latest hard-fork, Metropolis. Taylor goes over the new update to the Ethereum platform and the changes it’s set to bring, including: added information on receipts, updates to the EVM protocols, and increasing the overall mining difficulty in the shift to Proof-of-Stake. Check back for the latest episodes of Ask an Expert to stay on top of all things Blockchain!
In a galaxy? far far away, a growing blockchain looks for a way to introduce new features into their platform to keep up with user demands. The Ethereum Foundation’s answer: The Metropolis hard-fork.
Soooo…. Tell me about this ‘hard-fork’ that Ethereum’s supposed to do.
One of the biggest problem facing blockchains is growth— known as scaling, or how they can expand their network to run efficiently when there is more strain on the platform. Bitcoin’s split in August of 2017 was largely an argument over scaling, as the network was facing significant transaction backlogs which led to increased fees.
The Ethereum Metropolis hard fork proposal will be release in at least two separate phases, the first of which is happening soon. This first step, known as the Byzantium hard fork was executed in mid-October of 2017. The second step, named Constantinople, will follow shortly after the implementation of Byzantium.
So what is the Metropolis hardfork going to do?
For longtime users of the platform, this fork is no surprise. This has been planned since Ethereum’s crowdsale, appearing on roadmap for several years. This fork is touted as a way to significantly upgrade the platform, including the incorporation of zero knowledge proofs/zkSNARKS. (Check out our information about zkSNARKS here.)
zkSNARKS allow nodes to conduct transactions without exchanging identifying information, effectively ensuring privacy on the blockchain. But this isn’t the only upgrade that comes with the Metropolis hard fork.
Byzantium will institute several suggested Ethereum Improvement Proposals (EIPs) which are user submitted suggestions that are considered by the community. These EIPs can largely be broken down into three separate categories: changes in receipt data, improvements to the Ethereum Virtual Machine, and changes to mining difficulty. See the bottom of this post for some of the EIPs.
Can you tell me more about what some of these EIPs are?
Improvement of receipt data is set to change. These change how data is stored and represented on receipts and the blockchain, which can also help make sure transactions occur more efficiently. These protocols remove root data from receipts, which removes the requirement that all transactions require confirmations of a previous transaction before the next can occur.
The institutions of Byzantium will also include several changes to how the EVM processes transactions. Most of these changes are developer-related, and won’t effect the end user. If you do want us to go through these changes in more detail, just let us know in the comments!
One of the last tweaks contained in the fork will institute a protocol to make sure that contracts addresses are created, preventing so called “contract collision.” This makes it easier for contract developers to successfully deploy their contracts without accidental interference, providing greater contract stability.
The last set of proposals contained in the Byzantium portion of the fork have to do with changes in mining difficulty. Ethereum was set to enter an “Ice age,” a period of time where mining difficulty is set to become significantly more difficult. Byzantium delays this event by 18 months, while also reducing the mining reward to 3 ETH, a move that will control inflation with the move towards a Proof-of-Stake mining system.
Okay, wow! That’s a lot of changes! Are there more planned forks ahead?
Metropolis certainly isn’t the last upgrade that we will see. Ethereum has longtime planned to release Serenity, their next project which is designed to provide further stability to the network as it scales.
Metropolis is primed to add many features to the platform as it is one of the biggest platform updates to date.
List of Ethereum Improvement Proposals (EIPs)
- EIP 98: Removal of intermediate state roots from receipts (#14750).
- Expanded by EIP 658: Embedding transaction return data in receipts (#15014).
- EIP 198, EIP 212 (197) and EIP 213 (196): Precompiled contracts for modular exponentiation; elliptic curve addition, scalar multiplication and pairing (#14959, #14993).
- EIP 214 (116): Expanding the EVM with static contract calls (#14978).
- EIP 211: Expanding the EVM with dynamically sized return data (#14981).
- EIP 206 (140): Expanding the EVM with cheap state revertals (#14983).
- EIP 684: Preventing overwriting contracts (Byzantium prep) (#15039).
- EIP 100: Change difficulty adjustment to target mean block time including uncles (#14733).
- EIP 649: Delaying the difficulty bomb and reducing the block reward (#15028).