According to a Twitter confirmation by Ethereum team lead Peter Szilagyi, core developers at Ethereum (ETH) have proposed that Constantinople, a system-wide upgrade that was planned to be released on January 17, has been postponed to the end of February. The tweet stated that the hard fork, which is set to be released on block 7, 280,000, will go live on February 27, 2019.
Constantinople and Reduced Transaction Fees
Constantinople contains various Ethereum Improvement Proposals (EIPs) created to ease the transition from the current proof-of-work (PoW) to the proof-of-stake (PoS) consensus algorithm, which has been found to be more energy-efficient. Before the introduction of Constantinople, the ETH network would ideally charge 5,000 gas for storage operations, which is much more than the 2,300 gas sent out when contract calls are made using the send or transfer functions.
With the upgrade, storage operations for specific clients are expected to go as low as 200 gas. While the initial upgrade was expected to have been activated in November 2018, it was pushed back after an upgrade protocol on its Ropsten testnet was discovered to be defective.
The Potential Reentrancy Attack
The latest delay was necessitated by a report from ChainSecurity, a smart contract firm, that investigated some of the properties of the planned upgrade. According to the report, the Ethereum Improvement Proposal (EIP) 1283, if implemented, could create a loophole in the Ethereum network through which attackers can enter the network and steal users’ funds.
The attack was dubbed the “reentrancy attack,” as it presented hackers with the opportunity of entering into specific functions on the networks on more than one occasion without notifying users. Essentially, an attacker could use this attack to steal funds from the network forever without ever being found out.
Upon receiving notification of the attack, Ethereum network developers, as well as the developers of some of the network’s clients, decided to abort the upgrade for the time being, as they looked into solutions. A developer’s call was scheduled for January 18, with participants including Ethereum co-creator Vitalik Buterin, Nick Johnson, Hudson Jameson and other core developers of the network.
The New Upgrade Strategy
In addition to the announcement of the new rollout date, it has also been confirmed that the EIP 1283, which was found by ChainSecurity to be faulty, will not be featured in the Constantinople release. Rather, the developers have confirmed that they will continue to run tests and refashion the EIP, to include it in another hard fork.
EIP 1283 was one of the five EIPs set to be part of Constantinople. Now, the hard fork will be released in two parts at the same time. The first upgrade will include all five EIPS, with the inclusion of the buggy EIP 1283. On the second upgrade, EIP 1283 will be specifically removed.
Peter Szilagyi, who initiated this upgrade strategy, claimed that it will help ensure that any networks that have already implemented the complete Constantinople suite will still be able to fix the buggy EIP without having to roll back any blocks.
Szilágyi said, “My suggestion is to define two hard forks, Constantinople as it is currently and the Constantinople fix up which just disables this feature.”
Several proposals were submitted concerning a new way forward for the Constantinople release.
A developer suggested a “two fork strategy to ensure compliance with the next planned hard fork by the entire network. This is because some miners have been using a false Constantinople chain, and will need to be cleanly upgraded.
There was also a suggestion of coming up with a different name for the fork. It didn’t get far, as the developers concluded that the work required was more important than the name given to things.