Constantinople, ethereum’s next system-wide upgrade, is coming soon to a node near you.
Finalized August 31, Constantinople includes five different ethereum improvement proposals (EIPs). Once released on ethereum, the proposals will permanently alter the blockchain with a host of new backwards-incompatible upgrades.
This means that nodes — the network of computers that run ethereum software — must either update together with the whole system or continue running as a separate blockchain entity.
More formally known as a “hard fork,” system-wide upgrades have instigated a fair amount of drama in the past. Most notably, in the case that a portion of users don’t agree with the change, this may result in two different versions of the same blockchain running concurrently.
As dramatic as these things can get (having formerly resulted in a competing cryptocurrency named ethereum classic), most of the upgrades in Constantinople won’t be noticeable to average users. Indeed, described by independent developer Lane Rettig, the upcoming ethereum hard fork won’t feature any “big changes” for end users at all.
Characterized as primarily a “maintenance and optimization upgrade” by Rettig, Constantinople features small, yet highly technical, ethereum improvements to network efficiency and fee structure, as well as, upgrades that pave the way to ethereum’s hotly anticipated scaling roadmap.
Additionally, the hard fork includes changes to ethereum’s underlying economic policy, and the delay of the difficulty bomb, a piece of code programmed to activate what is known as the ethereum “ice age” in which new block creation on the network eventually slows to a complete halt.
As detailed by CoinDesk, the economic change has been the cause of contention, with conflicting views expressed by ethereum stakeholders in the months prior to the upgrade.
At press time, anxiety is continuing to brew among the networks miners that are faced with an impending pay cut following Constantinople. But still, achieving a balance between all stakeholder concerns, developers are confident that the upgrade will be broadly well received.
While a formal block number has yet to be finalized, core developers and clients are currently implementing, reviewing and testing the Constantinople code.
As ethereum trader Eric Conner told CoinDesk:
“Complex coding and testing takes time. And ethereum is live so it’s essential to be sure no changes are breaking.”
The five EIPs set to be released in Constantinople are:
All in all, the changes include: code optimizations to improve processing times for developers; fairer pricing structures for changes made to smart contract data storage; a code edit making scaling solutions through state channels easier to occur on ethereum; and changes to ethereum’s economic policy.
Given these code changes are likely to shape the progress of the second most popular blockchain for years to come, Constantinople is worth taking a deeper look at.
To begin, both EIP 145 and 1052 are targeted at improving network efficiency, by making changes to ethereum’s underlying virtual machine — the EVM.
Powered by software at the heart of ethereum, the EVM processes smart contracts into a series of ones and zeros also called bytecode.
Seeking to maintain the longevity of ethereum and optimize performance to better serve user needs, both EIP 145 and EIP 1052 seek to optimize the developer experience for smart contract developers specifically.
EIP 145 introduces native “bitwise shifting” functionality which is able to run through bytecode without relying on arithmetic operations such as multiplication and division. In effect, this means that the smart contracts underlying decentralized applications like CryptoKitties will be processed faster by the EVM.
Additionally, when smart contracts on ethereum are executed and called upon, EIP 1052 introduces an upgrade by which only the essential data of the contract code is checked rather than the entirety of the code itself.
Namely, rather than verifying the full contract, EIP 1052 makes it so a compressed line of code, or a “hash” can be verified instead, saving computing time and cost — especially for lengthy smart contracts that run on thousands of lines of code.
Further EIPs deal with how smart contracts are stored on ethereum — such as EIP 1283, which reduces the amount developers need to pay when building smart contracts.
As it stands, without EIP 1283, certain updates to smart contract code cost a hefty amount of gas, the computational unit of energy required to execute operations on the ethereum platform.
EIP 1283 implements a better cost analysis for contracts, by breaking down what contract changes have been written in ethereum’s short term storage, called memory, rather than the blockchain itself.
If none or a few of those updates end up on the blockchain, it reduces the overall cost for developers. As Johnson, the author of the original proposal concept behind EIP 1283 recounted to CoinDesk:
“In some cases in the past, we were charging gas for things that didn’t actually happen or didn’t actually cost any real resources and now we’re trying to adjust things so we only charge gas that aligns with the work we actually have to do.”
In the future, Johnson added that developers are looking to implement what is known as rent fees.
As detailed by CoinDesk, the idea is to charge a fee for users holding data permanently stored on the blockchain. Johnson said this would be an effective way to disincentivize “using up storage for things you don’t need them for.”
Aside from a revamped gas fee structure for smart contract developers, EIP 1014 helps progress an experimental scaling solution called state channels.
Actively under development as a part of efforts to scale ethereum for larger transaction volume, these channels minimize the amount of operations that need to happen on the ethereum blockchain itself, freeing up network resources and space.
Created by founder of ethereum Vitalik Buterin, EIP 1014 is described on GitHub by state channel developer Liam Horne to be “a significant performance increase in state channels.”
Others on the same forum have echoed the sentiment, urging for its inclusion into Constantinople and affirming that EIP 1014 would better facilitate transactions happening “off-chain.”
Finally, there is EIP 1234, the latest addition to the four other proposals set to be released in Constantinople dealing with the incremental increase in block mining difficulty known as the difficulty bomb.
Originally intended to encourage the transition into an more ecological, proof-of-stake based consensus system named Casper, the switch is still a long way off. As such, steps must be taken to delay the bomb — and decrease ether issuance alongside it.
Simply put, given the removal of the difficulty bomb, blocks will be faster to mine following Constantinople. This means that steps must be taken to reduce the reward per block as well — and EIP 1234 reduces them from 3 ETH to 2 ETH per block.
Because ethereum doesn’t have a formal monetary policy — currently maintaining an uncapped inflation model — according to a trader named Eric Conner, the reward reduction in EIP 1234 can be thought of as akin to a “stop gap” that is aimed at effectively curbing a “supply bleed”.
Schoedon, author of EIP 1234, described it as “the best proposal to stabilize issuance while simultaneously delaying the bomb” in an email to CoinDesk.
Still, certain members of the ethereum mining community opposed the decision to decrease mining rewards, arguing thinner profit margins and the potential of mining operations to become increasingly centralized in the hands of few.
The concerns come at a time when ASICs — a highly competitive type of mining hardware that removes hobbyists from the mining industry — are becoming increasingly widespread on ethereum.
In summary, all five EIPs have impacts to ethereum that touch on a number of broader goals and initiatives still to be worked out on the decentralized platform even after Constantinople is fully released.
At present, each EIP will continue undergoing testing, implementation and peer-review in the weeks to come, though the process is by no means a linear progression.
As ethereum core developer Nick Johnson notes, technically “anyone can contribute tests” to a global test suite that is later run against all client implementations. However, it’s not as if ethereum clients must wait for these tests to be finalized before moving forward with code implementations of their own.
Schoedon, who boasts Parity as “probably one of the fastest teams implementing the changes for Constantinople” emphasized last Saturday in an email to CoinDesk that they were the first client, having implemented all five EIPs, to be “feature-complete” for Constantinople, awaiting now peer-review before full acceptance into their official codebase.
This aspect of preparation to do with testing and review that goes into a hard fork can be as time-consuming of a process, if not more time-consuming, than reaching consensus on a decentralized platform.
So, despite an original release date for October 8th, the grand premiere of ethereum’s next hard fork may not be due until later in the month or even sometime in November.
Luckily, the sneak peak of all five EIPs to be included in Constantinople has given ethereum fans and critics alike a good sense on what to expect.
The only thing left to stay tuned for now is a prime execution.
Zodiac clock image via Shutterstock