What is Constantinople?
You may have heard the word Constantinople being thrown around and if you’re wondering what the hell this is or more importantly what it means for the Ethereum network… this article is for you.
Constantinople is one of the latest forks for the Ethereum network, it contains 5 EIPs (Ethereum Improvement Proposals).
Definition — Ethereum Improvement Proposals — Ethereum is an open source network owned by its community. There is no one single entity that decides how to upgrade the network. This means anyone within the community can make suggestions to improve the network and these suggestions take the form of EIPs (Ethereum Improvement Proposals).
Example if an EIP (Ethereum Improvement Proposal)
To learn more about the update check out this post.
Why is Ethereum having a network upgrade?
All of the EIPs above are part of a wider vision of ETH 2.0 in which the Ethereum protocol will undergo many fundamental changes to improve its functionality in the long term. Some of those changes include:
We have some bumps on the road to ETH 2.0…
On the 15th of Jan (a day before Constantinople was due to come into effect), ChainSecurity, a smart contract auditing firm, highlighted a very important vulnerability in EIP-1283 that would make existing contracts susceptible to a reentrancy attack.
In the ChainSecurity medium article, they mention that the Ethereum Improvement Proposal (EIP) 1283, if implemented, could create a loophole in the Ethereum network through which attackers could enter the network and steal users’ funds. This attack was named a “reentrancy attack,” as it would give hackers a chance to enter into specific functions on the network 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 discovered.
ChainSecurity also outlined that exploitation of this vulnerability would be highly unlikely as they were unable to find any pre-existing contracts that would be at risk. Nevertheless, the core developers, client developers and the community at large decided to postpone the network upgrade upon further testing.
The Core Ethereum Devs held a meeting two days after the intended network upgrade to discuss how to move forward and when to reintroduce the Constantinople upgrade. On the call, the developers came to consensus on pushing the update for another 6 weeks in order to give a reasonable amount of time to test clients. The Constantinople Ethereum network upgrade will now occur at block number 7,280,000, approximately Feb 27th.
During the developer call, the group also decided that EIP 1283 would be omitted from the Constantinople release. Instead, EIP 1283 will be postponed and released once additional tests are conducted to ensure the proposal is no longer faulty.
The Constantinople network upgrade will now be released as two simultaneous updates.
This first network upgrade will include all five EIPs (including the buggy EIP 1283) and the second upgrade will subsequently remove EIP 1283.
Péter Szilágyi (Core Developer at Ethereum), who suggested this upgrade strategy during the dev call, recommended that this process will further ensure that any networks which have already implemented the complete Constantinople hard fork upgrade(with EIP 1283) will still be able to fix the buggy EIP without having to roll back any blocks.
What does this mean going forward?
Your next steps will depend on how you interact with the Ethereum network.
If you own Ether (ETH), own a smart contract or simply interact with the network at a high level (you don’t run a node in the network), sit back and relax as you don’t have to do anything.
If you’re a Miner, Node Operator or run an Exchange, you’ll have to update your Geth and/or Parity clients when they are released.
Check out this link from the Ethereum Foundation to download the updates when they’re available — https://blog.ethereum.org/2019/01/15/security-alert-ethereum-constantinople-postponement/