Ethereum has undergone a hard fork upgrade, dubbed “Istanbul,” in which six distinct upgrades have been added to the network at block number 9,069,000.
Ethereum Istanbul upgrade, hard fork refers to a radical change to a network’s underlying protocol that creates new rules defining which blocks and transactions the network will consider valid. Due to the decentralized nature of blockchain, the community has to work with each other as well as system developers to agree on which changes will be programmed into various clients, which, in Ethereum’s case, include Geth, Parity, and Nethermind. To date, the Ethereum network has undergone seven hard forks, including Constantinople, Spurious Dragon, and Byzantium.
Ethereum Istanbul upgrade Details
Ethereum Istanbul upgrade contains six distinct upgrades, or Ethereum Improvement Proposals (EIP):
EIP-152: Add Black2 compression function ‘F’ precompile
This EIP will make it possible for the BLAKE2b hash function to run cheaply on Ethereum. This will improve interoperability between Ethereum and Zcash, enabling contracts like trustless atomic swaps between chains and adding to the network’s privacy features. It will allow for tBTC equivalents but denominated in ZEC.
EIP-1108: Reduce alt_bn128 precompile gas costs
In 2018, the underlying library used by the official Goes reference implementation to implement ECADD and ECMUL was changed to Cloudflare’s bn256 library, leading to performance gains. Decreasing the price of the precompiles will encourage the emergence of more privacy and scaling solutions on the network.
EIP-1344: ChainID opcode
The current approach is for client implementers to manually specify the chain ID at compile-time, which has led to increased risks of human errors causing loss of funds or relay attacks. With this EIP, developers can access and validate the chain ID based on the proposed opcode as well as easily implementing chain ID changes.
EIP-1884: Repricing for trie-size-dependent opcodes
A number of opcodes have become more resource-intensive due to the growth of the Ethereum network. This EIP will raise the gas cost for those opcodes in order to restore the balance between the price of operation and the number of resources it consumes.
EIP-2028: Transaction data gas cost reduction
This EIP will reduce the gas cost of Call data from 68 gas per byte to 16 gas per byte. More data will be able to fit within a single block, which will result in higher bandwidth and increased scalability. Larger blocks also have security implications since there will be longer network delay associated with data transmission. As a result, fewer nodes will be generated within a given time and the cost of the network getting attacked will decrease.
EIP-2200: Net gas metering for SSTORE operations
This EIP proposes a structured definition of net gas metering on SSTORE. The resulting gas reduction scheme will enable contracts to add new functions such as re-entry locks and same-contract multi-send.
Regular customers of an Ethereum-based exchange or wallet service do not need to take any action unless informed otherwise by their service provider.
Miners or node operators, on the other hand, have to upgrade their Ethereum client to the latest version in order to run Istanbul on Rinkeby, Goerli, and Ropsten. Otherwise, they will remain on an incompatible chain and will not be able to operate on the post-upgrade Ethereum network.
Developers should review all EIPs to determine if their current contract is affected by any of them. If so, they have to upgrade their contracts accordingly.