A step toward Ethereum Scalability: optimized Gas usage, state channels, and reduced block rewards
Update 18 Jan: Constantinople is scheduled for block height 7,280,000.
Update 15 January 2019: Constantinople Hard Fork Postponed —
The Constantinople hard fork is temporarily postponed in the light of issues identified by ChainSecurity on January 15, 2019. Please read the details here. We are following the latest updates and working on updating our nodes. Follow our twitter for more updates.
For a Non-Reader 😶
- If you own Ether, you don’t need to do anything
- Everyone is upgrading this time, so no split; you don’t get “free” coins
- This is not a Proof-of-Stake fork
- Fork is happening on 16 January around 7AM UTC at block 7,080,000
What is the Constantinople Hard Fork?
Constantinople is an Ethereum hard fork, the second phase of the ‘Metropolis’ upgrade, and is part of Ethereum’s move towards a Proof-of-Stake consensus algorithm. It’s the 4th fork in the history of the decentralized platform, following Frontier, Homestead, and Byzantium (phase 1 of Metropolis upgrade).
What is a Hard Fork? 😕
In simple words, a hard fork is when a blockchain software upgrades to a version which is not compatible with the current or previous versions. Remember BTC & BCH … or ETH & ETC?
But Constantinople is a non-contentious hard-fork, which means the community agrees with software upgrades and are ready to adopt them. In this case, the old chain dies soon after the fork. (Don’t worry your Ether is safe).
When will the Constantinople Fork happen?
Upgrades in Constantinople
Tl;dr There are mostly opcode changes which will optimize gas usage and enable second layer solutions like state channels, delaying difficulty bomband reducing the block reward from 3 to 2 ETH per block. No other significant changes to the network are planned.
There are 5 Ethereum improvements proposals (EIPs) which are accepted in this fork:
- EIP 145: New bitwise shift instructions
This proposal will introduce three shift instruction — Shift Left (SHL), Logical Shift Right(SHR), Arithmetic Shift Right(SAR). These instructions will be used for shifting bits on EVM level, which until now has been done using arithmetic instructions. Arithmetic instructions for shifting cost 35 gas which will be reduced to 3 gas using new shift instructions… Read More
- EIP 1052: New opcode to get hash of smart contracts
This EIP will introduce a new opcode
EXTCODEHASH which will return
keccak256 hash of a contract’s code. Before this code, if any smart contract wanted to perform some checks on another smart contact, it had to get whole bytecode of that smart contract (using
EXTCODECOPY opcode). Now, with
EXTCODEHASH opcode, a smart contract can perform these checks using a simple hash.
You can understand this as “before you needed to download the whole pdf to confirm its contents vs. now it can be confirmed with a single hash”… Read More
- EIP 1014: New Opcode for State channels
Allows interactions to (actually or counterfactually in channels) be made with addresses that do not exist yet on-chain but can be relied on to only possibly eventually contain code that has been created by a particular piece of init -sfc code. Important for state-channel use cases that involve invoice counterfactual interactions with contracts.
State channels are similar to Bitcoin Lighting Network. This EIP introduces a new Opcode
CREATE2. The update will allow for the main chain to reference off-chain transactions that have not been broadcast to the main chain yet... Read More
- EIP 1283: Optimizing storage, change in
This EIP introduces changes in
SSTORE opcode. This will optimize the gas cost for smart contract storage. This will reduce the cost of writing on the blockchain.
EIP 1283 implements a better cost analysis for contracts, by breaking down what contract changes have been written in Ethereum’s short term storage, rather than the blockchain itself. Read More
EIP 1234: Delaying difficulty bomb & reducing block reward
This EIP will affect the miners mostly, as it will reduce block reward from 3 ETH to 2 ETH, and uncle & nephew rewards also adjusted accordingly.
It also delays the difficulty bomb, which is basically the exponential increase in mining difficulty (which makes Ethereum mining impossible and unprofitable).
The difficulty bomb is Ethereum’s internal feature introduced in 2015 as it planned to switch to Proof-of-Stake in 2016; since then, it has been delayed several times… Read More
Impact of Constantinople to different network participants
No one will get free coins this time like ETH and ETC hard fork.
Miners — Need to update their Ethereum clients.
Node Runners — Need to update their Ethereum clients.
Developers — Update your private client, or if you are using Infura or QuickNode, you don’t need to worry as nodes will be updated by the service provider.
Bob with Wallets — If you have created wallets with any of the wallet providers Metamask, MEW, MyCrypto, Coinbase, Hardware (e.g. Ledger/Trezor), paper wallet etc… you don’t need to do anything.
Alice with ETH on the Exchange — If you own Ether on an exchange, you don’t need to do anything as exchanges will automatically update to support Constantinople.
Node Service Providers — Services like QuickNode or Infura will need to update their Ethereum clients.
Normal Joey — Normal Joey doesn’t need to care about all this. He’s keeping all of his fiat money in the Bank. How lucky? 😃
Beware of Scammers (Grr…… 😠 )!!!
Like always, we have our first responders, our beloved scammers trying to get people’s money whenever they get a chance. There are two more forks happening: Classic Vision and Ethereum Nowa — looking to scam people.
DO NOT SHARE YOUR PRIVATE KEY or SEED PHRASE WITH ANYONE.
What’s next after Constantinople?
Constantinople is not Proof-of-Stake on Ethereum yet, but rather a step towards it. To understand the roadmap of Ethereum Proof-of-Stake, check this. The Constantinople upgrade brings Gasoptimization and enables second-layer solutions by introducing new opcodes. This will surely help a lot of smart contract developers moving forward.
How Constantinople fork will affect QuickNode users?
The cool thing about using QuickNode is that updates like this are done automatically and transparently. QuickNode has stated that it has deployed node client upgrades in a staging environment. Following successful testing, the update will be pushed out to all users.
Official statements (and instructions, if any) regarding the upcoming fork and client updates will be published on Twitter, Facebook, and in Slack. QuickNode users shouldn’t need to do anything, and the development team will keep everyone posted through its communication channels.