On February 28, the Ethereum community received the hard fork it had awaited since a security bug delayed its implementation in mid January: Constantinople. But what is Constantinople exactly, and what does St. Petersburg have to do with it?
Below we discuss upgrades, Constantinople’s security issues, EIPs, St. Petersburg’s arrival, the “Difficulty Bomb,” and the reason behind it all; Ethererum’s quest to transition from proof-of-work to proof-of-stake.
What are Constantinople and St. Petersburg?
Constantinople and St. Petersburg are network upgrades – though it has been contested by some that “upgrade” is an unlikable euphemism for a hard fork (see the comments Vitalik Buterin has received about this) – that were successfully implemented on February 28, at 19:57 (UTC), at block number 7,280,000. St. Petersburg was implemented to undo one of Constantinople’s Ethereum Improvement Proposals (EIPs), which contained a security vulnerability.
About the Constantinople fork: EIPs, the bug, and the delay
Constantinople, like the hard forks that came before it (Homestead in 2016 and Byzantium in 2017) was meant to introduce a new, upgraded branch to the blockchain, with an improved protocol. It would usher in five specific implementations, called the Ethereum Improvement Proposals (EIPs).
Why was St. Petersburg necessary?
Test networks are always upgraded before the mainnet, as a precaution. Ropsten is one such test network. The original Constantinople changes were applied to test networks before the delay, and “require a 2nd network upgrade to reverse the original changes,” explains the Ethereum blog. This second upgrade would be St. Petersburg. It occurred at the same time as Constantinople on February 28th, and all it did was simply to remove the buggy EIP 1283. You can check details for this here.
source:
https://coin360.com/blog/constantinople-and-st-petersburg-ethereum-forks-a-crash-course