The Byzantium Countdown: What’s Left Before Ethereum’s Next Fork?

prague
11 October 2017

The next major update to ethereum, the world’s second largest blockchain by total value, is set to go live in less than a week.

Part of a larger, multi-component upgrade called Metropolis, the so-called “Byzantium” code will be enforced at block 4,370,000 – or in about four days according to current metrics – as a hard fork. A common (yet controversial) strategy for upgrading blockchains, this means the changes are required to be accepted broadly by all stakeholders on the ethereum blockchain.

In this light, however, it’s notable that the use of this mechanism in the past has had mixed results for ethereum. To date, the platform has conducted four hard forks, with only one resulting in the creation of an alternative blockchain, ethereum classic.

Given the changes in Byzantium have been outlined in the ethereum roadmap as far back as 2015, it’s unlikely it will prove problematic. With two major upgrades from Metropolis postponed, Byzantium is perhaps best seen as a conservative upgrade that will introduce nine key ethereum improvement protocols (EIPs) to the platform.

In total, the changes are designed to make the platform lighter and faster to run, improving transaction speed, smart contract security and eventually perhaps, privacy.

However, that said, there’s still work to be done on the upgrade, with various stakeholders now entering the final stages of their preparations. 

Clients 

As the shift toward Byzantium is dependant on the network nodes updating, the main focus in the days ahead will be ensuring the clients that offer software to nodes are ready for the upgrade.

This means that startups responsible for overseeing clients need to ensure their software actually contains the EIPs that enforce the Byzantium hard fork. While each client enforces the same rules, they’re written in different programming languages and backed by different developer teams.

This is what ethereum has called “client diversity,” which is intended to allow for innovation while retaining a stable, unambiguous base protocol.

In order for the upgrade to occur consistently across the platform, all ethereum clients must update with software that enforces the block number 4,370,000 (this doesn’t impact third-party services such as online wallets, though, and is only relevant for people running nodes directly). The EIPs are coded into the clients alongside a block number, at which point the Byzantium hard fork will be triggered.

Within the next week, all major ethereum clients will need to release a Byzantium upgrade, with ample time for nodes to update. If certain nodes get left behind, the blockchain will split, creating different versions of the same platform.

However, at press time, most appear ready.

Go ethereum (also called Geth) is the most popular ethereum client, possessing roughly 69 percent of all ethereum nodes. Last week, it released a Byzantium-ready upgrade containing the block number, though, at the time of writing, only about half of the nodes that run Geth have been updated.

The second largest client, Parity, released a Byzantium-ready upgrade yesterday, but it was retracted after a consensus bug was found in a fuzz test (a kind of detailed fault analysis which involves filling a computer program with eclectic data until a weakness shows up).

A new upgrade is expected to be released later today. Of the approximately 35 percent of nodes that run on Parity, none of these have been updated to enforce the hard fork correctly.

The remaining node clients are comparatively small, and some have also released a Byzantium-ready release. Ethereum founder Vitalik Buterin’s python-based ethereum client made available an update this morning. Similarly, java-based EthereumJ and java script EthereumJS released an upgrade earlier today.

The developers behind Cpp-ethereum say they are still working on the shift.

Miners

Those familiar with ethereum’s roadmap likely know the protocol has long planned to phase out its proof-of-work consensus mechanism for a more experimental, and they argue, more egalitarian alternative called proof-of-stake.

That transition, however, will not be ready for Byzantium, though there are some upgrades designed to ease the eventual shift.

Most notably perhaps is that with Byzantium the mining difficulty will be significantly lowered. This means that ethereum transaction time will be faster, and miners will be paid less for their efforts. On ethereum, miners also run an ethereum client, and so will need to update for Byzantium accordingly, which will also introduce significant changes.

The update makes block mining faster, and in order to compensate for this, block rewards for miners after Byzantium will reduce by 2 ETH, or about $604 according to current metrics.

This upgrade has been largely supported, but it has been the cause of some dispute, leading some parties to threaten to continue to mine the pre-Byzantium ethereum. Unless these efforts turn out to be significant, though, this is unlikely to pose any impact on the exchanges.

Exchanges

If everything goes according to plan, these startups will be unaffected by the Byzantium fork.

Here, however, it’s wise to note past complications. Ethereum’s last major hard fork, an emergency measure in response to the failure of a major decentralized application called The DAO caused the sudden creation of two competing ether cryptocurrencies.

As a small group of users rejected the change, they were able to restart the old blockchain, forming a project now known as ethereum classic, valued at $11.48 according to current metrics.

As mentioned, there are a handful of signs that the Byzantium fork will be contentious, although none seem to be of particular significance.

A couple projects worth noting are those that intend to introduce new variations of ethereum, for example Etherite, which wants to create a version of Byzantium that does not lower the mining reward. If the movement gains support, this could put pressure on exchanges, which have shown a recent willingness to support assets running on so-called “minority” blockchains as a way to offer new alternatives for speculators.

Application developers

Applications running on ethereum are also unlikely to run into difficulties.

Mist, the ethereum browser for decentralized applications (dapps), automatically upgrades to Byzantium once it has been restarted. The same applies for all the dapps on ethereum.

Providing the hard fork occurs consistently across the nodes, the upgrades should activate instantly after block number 4,370,000.

However, there is one major change that will make a marked difference to how developers will interact with transactions on the ethereum blockchain.

After Byzantium, the way to detect failed transactions will change, even for contracts that are already deployed. The method for detecting a failed transaction after Byzantium is explained in more detail here.

Astronomical clock via Shutterstock