Ethereum is currently undergoing a two staged major update called Metropolis.
The first stage Byzantium was deployed in October 2017. Changes in this release included features to make the platform lighter and faster to operate. Mainly to reduce the transaction time, improve security and to an extent the privacy of smart contracts.
The second stage of the Metropolis upgrade is Constantinople which will happen January 2019. As with Byzantium this will be a hard fork. A hard fork is an extreme change to a blockchain that permanently diverts the chain itself from the the previous version, requiring all nodes to updated their protocol software.
The Constantinople contains the the following main features (EIPS – Ethereum Improvement Proposals).
EIP 145 : Includes bitwise shifting as an operator to be included in the smart contracts.
EIP 1052 : Offers an optimization for code execution. A hash of the contract has been introduced for easy verification of the contract. Improving both computational time and cost of running contracts.
EIP 1283 : Changes the way how smart contracts are stored on Ethereum and more important costs related to changes to smart contracts. This change will allow for an update of a contract to be broken down with changes written in the “short term” storage of the engine and changes on the blockchain.Changes on the short term storage will not be charged. This will mean that the overall cost of changing a contract will be reduced.
EIP 1234 : In this change the difficulty in block mining will be increased. Increasing the delay in the difficulty bomb (Puzzle solved by Ethereum miners) for a period of 12 months and reducing the reward in mining from 3 ETH to 2 ETH. This change was introduced in view of the move of Ethereum from Proof of Work (POW) to Proof of Stake.
EIP 1014 : Written by Vitalik himself, this change introduces a scaling solution called state channels. This is probably the most important feature as it tackles the cardinal problem of Ethereum that is scaling.
Currently Ethereum can process roughly 15 transactions per second. Visa can processes 45,000 transactions per second. The main reason of the difference in performance it that in Ethereum, each operation that happens on the blockchain has to happen on all the nodes in parallel.
To improve this State Channels will be introduced. State channels in a technique for performing transactions and other state updates “off chain”.
Traditionally a smart contract will have the ethereum network process it. Which means that every operation in the contract will cost gas and time will be required until blocks are mined so the next operation on the contract can be performed.
To improve this, operations on the contract can be done off the chain and only the final result is written on the blockchain. This means that contract execution is cheaper and faster. Only the final transaction is processed in the Ethereum blockchain.
The question would arise of how to we validate that the operations done off the chain are legit. The process is simple. There is a time lapse between the final transaction being submitted and written the blockchain. This allows parties involved into the offline processing of the contract to challenge the transaction.