What's to Do Before Ethereum Enters 'Metropolis'?

A look at what's still to do for ethereum developers working on the Metropolis upgrade – the platform's third of four planned stages.

AccessTimeIconApr 23, 2017 at 10:26 a.m. UTC
Updated Aug 18, 2021 at 6:02 p.m. UTC

Presented By Icon

Election 2024 coverage presented by

Stand with crypto

Ethereum is over the hump, moving towards the third of its four planned stages of development to further the groundwork for its so-called 'world computer'.

The next stage, called Metropolis, fuses a motley bunch of technical changes that might seem a bit random, but will pave the way for future updates that make ethereum easier to use.

  • Bitcoin Mining in the U.S. Will Become 'a Lot More Decentralized': Core Scientific CEO
    13:18
    Bitcoin Mining in the U.S. Will Become 'a Lot More Decentralized': Core Scientific CEO
  • Binance to Discontinue Its Nigerian Naira Services After Government Scrutiny
    05:10
    Binance to Discontinue Its Nigerian Naira Services After Government Scrutiny
  • The first video of the year 2024
    04:07
    The first video of the year 2024
  • The last regression video of the year 3.67.0
    40:07
    The last regression video of the year 3.67.0
  • The upgrade has taken longer than expected, largely because an unknown attacker launched denial of service attacks on the network last year, disrupting transactions and projects being built on the platform.

    However, recent developer meeting notes show that progress is continuing, with some teams almost done on implementing their changes and now preparing for testing.

    Dimitry Khokhlov, Ethereum Foundation testing engineer, told CoinDesk that development of the third phase is roughly halfway to completion.

    So, what’s still left to do?

    Improvement proposals

    Firstly, developers need to finish coding the upgrades. Although this long-awaited release won't include dramatic changes such as proof-of-stake or sharding, this stage does incorporate roughly 10 Ethereum Improvement Proposals (EIPs).

    All these EIPs look to pave the way for 'abstraction' by reducing the amount of features that are hard-coded into ethereum. The aim, much like the aim of ethereum itself, is to leave more room for app developers to make their own design decisions.

    , for example, allows users or app developers to secure accounts whatever way they wish.

    An Ethcore spokesperson told CoinDesk that Parity, a popular ethereum client written in Rust, has implemented seven of the 10 EIPs, but is awaiting clearer instructions as developers come to consensus on the changes that need to be implemented.

    This 'rough consensus' approach is common in open-source development.

    The wait shouldn't be long for Parity or Geth as these projects are nearing completion. Others, though, written in different programming languages, including python and C++ are further behind.

    Complex process

    One tricky part is making changes to all ethereum clients, no matter what programming language they're written in, in lockstep.

    Ethereum Foundation's Khokhlov has been writing tests using a tool called Hive to ensure not only that the clients implement the changes correctly, but that all clients agree on consensus-level changes. That's because if all clients don’t follow the same rules, there could be an accidental split into different networks (as happened briefly in November).

    Just like former phase changes Frontier and Homestead, the shift to Metropolis requires a 'hard fork' – meaning nodes or miners that fail to upgrade to the new blockchain will be left behind. Because of the possibility of an inadvertent split, hard forks are controversial and taken very seriously.

    But, since this change has long been on the ethereum's technical roadmap, the conventional wisdom is that it's unlikely to lead to a split.

    Even so, the changes require extra care, leading Khokhlov to say:

    “I have a headache from hard fork transition rules.”

    For Khokhlov, there are a lot of 'ifs' in ensuring every corner case is considered to make sure users' ether is safe in every situation.

    For example, he's had to make sure that transactions on the new fork only work if the 'gas limit' and transaction signatures are correct, and that opcode behavior, which has changed from fork to fork, does not disturb operations either.

    "The more changes we have, the more checks are added to the code and the more logic to check. That does not make it a clean code,” he said.

    Benefits await

    But when all's said and done, the Metropolis update will likely allow better ethereum applications to be created.

    Stefan George, CTO of ethereum prediction market Gnosis, told CoinDesk:

    ”Having more abstraction always allows for more flexibility.”

    For example, the added flexibility could allow a recipient or middleman to pay transaction fees rather than app users, he said.

    This could be beneficial for users utilizing ethereum-based based apps, such as a notebook. Normally, the user would need to buy ether to make any change, such as adding to or deleting a note, but with the Metropolis upgrades, the provider can pay the fee and users can make changes without the extra step of buying ether.

    Ultimately, this moves the ethereum protocol closer to the familiar experience of a traditional app store.

    “I imagine we will get a lot more users using ethereum services this way,” George said.

    George added that another Metropolis change will also help iron out some kinks for off-chain technologies that allow data to be lifted off the main ethereum blockchain, improving performance and scalability of the network without compromising users' security.

    This adaptability will, again, put developers in control of their application designs.

    As the Parity team put it:

    "Metropolis is a significant step that improves the protocol and makes a few use cases that were previously unfeasible."

    Correction: An earlier version of this article incorrectly stated a fact about ethereum's Geth implementation. This has been revised.

    Skyscrapers image via Shutterstock

    Disclosure

    Please note that our privacy policy, terms of use, cookies, and do not sell my personal information have been updated.

    CoinDesk is an award-winning media outlet that covers the cryptocurrency industry. Its journalists abide by a strict set of editorial policies. CoinDesk has adopted a set of principles aimed at ensuring the integrity, editorial independence and freedom from bias of its publications. CoinDesk is part of the Bullish group, which owns and invests in digital asset businesses and digital assets. CoinDesk employees, including journalists, may receive Bullish group equity-based compensation. Bullish was incubated by technology investor Block.one.


    Learn more about Consensus 2024, CoinDesk's longest-running and most influential event that brings together all sides of crypto, blockchain and Web3. Head to consensus.coindesk.com to register and buy your pass now.