Ethereum is embracing the Constantinople milestone at the end of November 2018, after DevCon4 in Prague. Constantinople is the latest Ethereum release, introduced through a hard fork, that will include five Ethereum Improvement Proposals (EIPs):
- Bitwise shifting instructions (EIP 145) in the Ethereum Virtual Machine (EVM) allow for direct manipulation of bytes on the EVM layer.
- Skinny CREATE2 (EIP 1014) adds a new opcode that creates a contract but determines the deployed address differently to the existing CREATE opcode.
- The EXTCODEHASH opcode (EIP 1052) adds an opcode which returns the keccak256 hash of a contact’s byte code.
- Net gas metering for SSTORE (EIP 1283) introduces a new gas cost scheme for the SSTORE opcode.
- The difficulty bomb delay (EIP 1234) stabilizes block times and issuance by keeping block times at approximately 15 seconds for another 12 months and reducing block rewards to 2 ETH.
To the regular application user, these updates offer nothing noticeably different, except perhaps an update to their Ethereum clients. For developers, these EIPs provide extended capabilities to the EVM, allowing for improved flexibility for smart contract development. All of these changes are backward compatible, ensuring previously deployed smart contracts remain usable and secure.
This hard fork does not address scalability yet. Layer 1 scaling solutions, such as sharding + casper or Shasper, are still in the research phase and will not be addressed before the Serenity milestone which is not expected to be deployed to Ethereum until 2020 or later.
A more tangible change to the Ethereum user experience is the use of Plasma chains and state channels. They are currently in development and some are being tested in experimental production environments. For regular users, this means the first Layer 2 scaling solutions will be available soon, allowing for a higher rate of transactions that are crypto-economically ensured, which is an important step toward faster and cheaper transactions.
Making the Decisions
For a closer look into how the decisions on the accepted proposals were made, the Ethereum Foundation live-streams core developer calls on LivePeer and YouTube after posting a public agenda and call for participation on GitHub prior to the meeting. More technical information specifically about the Constantinople release can be found at Constantinople Progress Tracker on GitHub containing an overview of Ethereum client teams implementing each of the accepted proposals.
Miners, investors and other community members were invited to a call to state their opinions during the last Ethereum Core Devs Meeting 45. This was done to get an idea of what the different stakeholders that make up the network think. A week later, Ethereum Core Devs Meeting Constantinople Session #1 was spent largely debating EIP 1234. A majority of the developers were in agreement that, although current signaling mechanisms for ascertaining consensus are not optimal, the best option is to have the conversations openly.
The nature of the Constantinople session was constructive, as Afri Schoedon, technical communications engineer at Parity Technologies, concluded:
“What we are doing here is not [trying] to dictate a new block reward, but we are trying to find a compromise, somewhere in the middle. Agreeing on 2 ETH per block is the best thing we can do.”
Another more important discussion point was Programmatic Proof of Work (ProgPoW), a modified version of Ethash. Consensus algorithms resistant to Application-Specific Integrated Controllers (ASICs) have become relevant due to concerns from community members and small miners regarding current progress made to ASICs targeting the Ethereum network and interfering with current mining incentives. There is a strong community sentiment in favor of changing the algorithm.
The main conclusion of the developer meeting was that much more work has to be done on testing and integration before a move to a new consensus algorithm in an upcoming hard fork is realistic. The main decisions concluded upon in the August 31 session can be summed up through a quote by Piper Merriam, core developer with the Ethereum Foundation:
“I believe this is us making the decision to reduce issuance to 2; to do another hard fork 8 months after Constantinople; and to push the difficulty bomb to 12 months after Constantinople.”
Developers are looking forward to a subsequent hard fork in summer 2019, the Istanbul milestone, when we can expect to see more improvements and potentially a change to the Ethash consensus algorithm. In summary, Constantinople is an important step forward for Ethereum in optimizing the Ethereum Virtual Machine and the tools for the future of Ethereum contract and DApp development.
Thank you Hatcher Lipton and Greg Markou for helping with edits..