What to Expect When Ethereum’s Constantinople Hard Fork Happens
That’s how Hudson Jameson, developer relations for the Ethereum Foundation, described the mood in the run-up to ethereum’s fifth planned system-wide upgrade, Constantinople.
Expected to activate next Wednesday, Jan. 16, Constantinople is a type of upgrade known as a hard fork – which means it needs to be unilaterally installed across all nodes in the network to function as intended.
This approach is a process that comes with inherent risks. For example, if a sufficient number of users don’t agree with an upgrade, it could cause the network to split. Such an event took place in 2016 when a controversial hard fork following the collapse of the DAO led to the emergence of two distinct blockchains, ethereum and ethereum classic.
Still, Afri Schoedon, release manager for the Parity ethereum client, said that risk of a chain split is low because adoption of the upgrade by ethereum’s top mining pools – the parties most critical in avoiding a chain split – has been strong.
“Miners are prepared,” Schoedon said. “Only miners can split the chain.”
Currently, a tracking website ran by Peter Pratscher, the CEO of top ether mining pool Ethermine, tracks Constantinople adoption to be a mere 15.6 percent. Speaking to CoinDesk, Pratscher said that the statistics are flawed, and claimed the adoption to be closer to a majority.
“We expect most of the not-updated nodes to be updated by the time the fork block arrives,” Pratscher said.
Named after the capital of the Byzantine Empire, Constantinople forms part of a three-part upgrade called Metropolis. It combines a total of five ethereum improvement proposals (EIPs). And while the majority are non-controversial tweaks, one aspect of the upgrade has been the cause of some controversy.
In particular, Constantinople delays the “difficulty-bomb,” an algorithm in ethereum’s that increases mining difficulty over time. Because the upgrade will decrease the mining difficulty, it also takes steps to reduce the reward miners are given for securing the network – down from 3 ETH to 2 ETH per block.
This has led miners to express discontent with the upgrade. But at the same time, major mining pools have stepped up in support of the change.
“We expect a smooth upgrade without any issues,” Pratscher remarked.
Splits aside, there are also other risks to a system-wide network upgrade as well. Code bugs can cause networks to splinter, and algorithms can go awry, leading to unanticipated difficulties. But developers are confident that such risks are minimal in Constantinople, and in the months leading up to next week’s event, testing has sought to sniff out vulnerabilities in the software.
“We have testing and monitoring software such as our fork monitor and protocol fuzz tester that constantly monitor for issues before, during, and after hard forks,” Hudson Jameson said,
“We are very excited to be implementing these changes to the ethereum protocol. However, we put the safety and stability of the network first and foremost.”
Array of upgrades
Constantinople introduces five new upgrades to the network.
As previously detailed by CoinDesk, these include optimizations for developers that seek to make smart contract and decentralized application design more approachable.
Taylor Monahan, the CEO of ethereum wallet MyCrypto, described the overall thrust of the Constantinople upgrade as “simple quality-of-life improvements for contract development.”
According to core developer Nick Johnson, one such upgrade, EIP 1283, involves what is called “net gas metering.” Originally authored by Johnson, this element will improve one of ethereum’s ongoing usability issues – its rising gas costs.
“With it, we can reduce unnecessary gas overhead for contracts, as well as making new coding patterns cost-effective,” he said.
Another upgrade – cited by several developers as the most exciting of the Constantinople change – is EIP 1014. Also called Skinny CREATE2, the upgrade is expected to pave way for new kinds of layer two scaling solutions, such as state channels.
“It makes it possible to create new types of state channels that reduce or even eliminate onchain deployment costs, which improves scalability and reduces costs and hassle for users,” Johnson said.
According to Turbo Geth’s Alexey Akhunov, EIP 1014 could impact future ethereum changes, such as the potential implementation of rent or rolling costs for storing data on the ethereum platform. And it could lead to other, unanticipated new smart contract features as well.
“Another exciting (and potentially dangerous) thing that CREATE2 enables [is] recreating the contracts at the same address after they have been destroyed,” Akhunov said, explaining:
“This recreation can be done either with the same code, or (with a bit more trickery) with a different code – which basically leads to fully-upgradable contracts.”
Constantinople also includes 2 further upgrades – EIP 145 and EIP 1052 – which will improve ease-of-use for smart contract development and streamline certain operations within ethereum’s code.
“With these improvements we can expand what we can do easily with the ethereum chain to encompass more use-cases,” Johnson said.
Still, while the majority of Constantinople includes well-tested and technically straightforward changes, there’s another code change that has been hotly debated. Authored by Parity’s Afri Schoedon, the code change in question is EIP 1234.
And that’s because one of the main aspects of Constantinople is a delay for what is known as the “difficulty bomb” alongside the aforementioned technical features.
Originally intended to smooth the transition to ethereum’s upcoming consensus switch, proof-of-stake, the difficulty bomb is an algorithm that incrementally increases the time it takes to produce new blocks.
Eventually, the bomb forces the blockchain into a state known as the “ice age,” during which time the difficulty becomes so high that transactions can no longer be confirmed. As such, the algorithm also has the benefit of encouraging frequent code changes in order to modify it.
According to Akhunov, delaying the difficulty bomb is the most critical aspect of Constantinople.
“The main importance of Constantinople is to delay the difficulty bomb, otherwise mining difficulty would start climbing up sharply. Other than that, there are no changes that are really crucial,” he said.
However, delaying the difficulty bomb comes with its own subtleties. And that’s because the speed at which blocks are produced on ethereum also determines the regularity by which the platform’s internal cryptocurrency, ether, is issued.
To that end, Constantinople decreases block mining rewards from 3 ETH to 2 ETH per block – a move that sparked controversy with the blockchain’s miners that depend on the rewards to keep their mining businesses profitable.
Heightening the controversy is the emergence of increasingly specialized mining hardware for ethereum, which according to some, risks making mining operations for hobbyist miners – often running GPU hardware, rather than specialized ASICs – less feasible.
“In general we are not looking forward to the ethereum Constantinople upgrade,” Ethermine’s Pratscher said. “[Constantinople] will make mining unprofitable for a lot of miners which will have a negative impact on the security of the ethereum network.”
Pratscher cited the recent attack on ethereum classic, in which the blockchain was overwhelmed by hostile hashpower, as an example of the problems that can occur if there are fewer miners present.
“That 51 percent attacks are a real threat is currently shown by the recent attack executed against the [ethereum classic] network,” he said.
Brian Venturo, who operates a small mining pool called Atlantic Crypto, echoed these concerns, telling CoinDesk:
“EIP-1234 in Constantinople will immediately add pressure to mining economics.”
The next phase
Due to this upcoming reduction in miner payouts, miners such as Pratscher and Venturo are banking on a potential future upgrade, named ProgPoW, that promises to block specialized ASIC hardware from the network and ensure that GPU mining remains competitive.
At press time, it is unclear whether such a change will be deployed. While it was given a “tentative” go ahead at a developer meeting in early January, discussions regarding the proposal have failed to reach a consensus since then.
Still, developers are confident that technical work will continue in the coming months, as layer two scaling enhancements continue to mature, and the formative aspects of ethereum’s long-awaited upgrade – Serenity – begin to crystallize.
All things considered, the upcoming upgrade has fostered a mood of careful apprehension.
“I am slightly nervous about Constantinople, because it is always hard to guess how likely it is that something goes wrong,” Akhunov said.
According to Akhunov, under the worst-case scenario, something goes wrong with the new difficulty algorithm and causes disruption to the security of the network. Other developers cited consensus issues as the biggest concern. Taylor Monahan of MyCrypto said she was most worried by the potential of scammers to use the upgrade as an opportunity to trick people out of their funds.
But irrespective of the risks involved in the upgrade, developers are confident that they’ve taken every possible step to secure the upgrade. Additionally, there are certain advantages to the difficulty bomb as well.
For example, even if certain nodes get left behind on the Byzantium software, the upcoming difficulty bomb means that it will become unusable in the coming months, and will be forced to upgrade in order to continue transacting on ethereum.
For that reason, Monahan said that Constantinople “feels nice.”
“Everyone’s hard work is paying off,” she said, adding:
“A lot of people will benefit from the improvements (even if they don’t realize it) via cheaper contracts, more efficient opcodes, and opening more possibilities for contract interaction.”
Astronomical clock image via Shutterstock