In less than 24 hours, the world’s second largest blockchain by market capitalization is expected to activate its sixth and seventh system-wide upgrades, at which point its global user base will be asked to make two near-simultaneous changes to its code.
Known as Constantinople and St. Petersburg, both upgrades will be implemented as “hard forks,” or upgrades that add new rules to the ethereum software that are incompatible with past versions. Both will also take place at the exact same block number – 7,280,000.
Should users decide to upgrade, St. Petersburg will effectively disable part of the Constantinople code discovered back in January to host a critical vulnerability affecting smart contract security. Further, four out of five planned ethereum improvement proposals (EIPs) – the majority of which, according to independent ethereum developer Lane Rettig, will not be noticeable to the average user.
Calling Constantinople primarily a “maintenance and optimization upgrade” in an interview with CoinDesk, Rettig highlighted in September that the only user group to experience a noticeable change would be miners, the specialized hardware operators who today assemble ethereum transactions into blocks and compete for network rewards.
Indeed, once activated, Constantinople and St. Petersburg will reduce block reward issuance from 3 to 2 ETH, similar to how the previous hard fork – called Byzantium – reduced issuance from 5 to 3 ETH.
As explained by Eric Conner, founder of information site ETHHub, the change is intended to be a temporary measure until miners on the blockchain are eventually replaced with new kinds of validators in ethereum’s next upgrade, Serenity.
Ahead of tomorrow’s upgrade, here are some big takeaways from ethereum’s coming code change:
1. It’s a collection of updates
Outside of this reduction in block reward issuance, there’s a number of other technical upgrades also expected to improve operations on the ethereum blockchain before its larger Casper FFG upgrade is fully implemented.
These include EIP 145 “Bitwise shifting instructions in EVM,” EIP 1014 “Skinny CREATE2” and EIP 1052 “EXTCODEHASH opcode.”
2. You can watch it live
At present, blockchain explorer site Amberdata is estimating an expected activation time for Constantinople and St. Petersburg tomorrow at 19:15 (UTC).
But because block mining speeds can vary from hour to hour, ethereum users, miners and developers will want to keep a close eye on the website for variations to this estimation as the block count increases. Once activated, users can monitor the progress of both hard forks in real time using a developer tool known as the “fork monitor,” which visualizes ethereum blockchain data into a time series graph.
(Disclaimer: As of press time, there is no livestream developer call scheduled to begin for the upgrade. Shortly following Thursday’s upgrade, there will be a meeting on Friday at 14:00 (UTC) between the developers to discuss how the hard fork went, among other topics.)
3. It’s been delayed before
As much as the ethereum community is hopeful the upgrade will go over smoothly, one can never really be too sure when it comes to hard forks. As seen with past ethereum updates, some user groups could continue running older instances of the code, should they so choose.
This is notable as ever since testing for the upgrade began as early back as July 2018, ethereum developers have faced multiple roadblocks causing delays to the activation of Constantinople. Expected to be released on mainnet for as early as October 2018, complications as the code was released on the ethereum test network Ropsten pushed back this estimation to January of this year.
Developers then announced in December main network release for Constantinople would occur on block number 7,080,000 – only to have this activation block number pushed back to 7,280,000 as a result of a last-minute security bug found in the code.
For a play-by-play on how the most recent security bug in Constantinople was found and what sorts of decisions came out of it, the following is a curated list of all major hard fork developments since January:
1. January 11, 2019 – A week before expected activation of Constantinople on mainnet, developers are cautiously optimistic the release will go smoothly.
2. January 15, 2019 – Not 48 hours before expected activation on block number 7,080,000, developer are notified of a critical security bug.
3. January 18, 2019 – Developers agree to delay activation of Constantinople on mainnet until late February and propose a new block number.
4. February 12, 2019 – Final software releases of Constantinople and St. Petersburg from major ethereum clients such as Geth and Parity are released and later compiled into a comprehensive blog post on the official ethereum website.