“Istanbul” & “Muir Glacier”: All You Need To Know About The Two Upcoming Ethereum Upgrades
Istanbul and Muir Glacier are the latest Ethereum Network Upgrades. They will take effect on mainnet at block 9,069,000 and 9,200,000 respectively, which are predicted to occur on Friday December 6 (ET) 2019 and Monday January 6 (ET) 2020. As block times on the Ethereum mainnet vary, the exact date and time of the upgrade can only be estimated. For the latest date and time estimate, you can refer to Etherscan’s block countdown, which currently tracks the Istanbul upgrade.
Commonly referred to as ‘Forks’, Ethereum Network Upgrades are used to implement new features on the Ethereum protocol. They must be activated by all users, at exactly the same time. Historically, upgrades have occurred about once a year. To accelerate the speed at which crucial improvements can be deployed on mainnet, upgrades will start occurring more frequently. You can view the full list of improvements here, bundled under the “Ethereum 1.x” banner.
Previous network upgrades have included Constantinople, Spurious Dragon, and Byzantium. For more context on network upgrades, you can watch this explainer.
Istanbul: Laying the Foundations for a More Interoperable and Efficient Network.
Istanbul, which has been in the making since early 2019, brings several new features to the Ethereum mainnet, specifically:
EIP-2200: Provides better gas metering, which is useful for dapps being built on Ethereum. It is an alternative to EIP-1283, which should have been included in Constantinople, the previous network upgrade, but had to be removed at the last minute due to a bug.
EIP-152: Adds a precompile to enable some cryptographic operations used by Zcash. It will pave the way for better interoperability between Ethereum and Zcash.
EIP-2028: Reduces the price of using the CALLDATA opcode on Ethereum, making it easier to scale several layer two and privacy solutions.
EIP-1344: Adds a ChainID opcode, allowing smart contracts to know which Ethereum chain they are operating on (mainnet, testnets, classic, etc.), which can prevent replay attacks across different chains.
EIP-1108: Reduces the gas cost of calling the alt_bn128 precompile on Ethereum, which, similarly to EIP-2028, makes it easier to use privacy solutions on Ethereum and implement layer two scaling solutions.
EIP-1884: Increases the gas cost for some operations which take too long to execute inside the EVM relative to their gas price. This will provide a more constant execution time for blocks and address potential security vulnerabilities.
In short, Istanbul means that dapps, layer two scaling and privacy solutions will be easier to develop on Ethereum and that the network will be more secure.
Muir Glacier: Keeping the Network Usable Until We Get to Serenity
Muir Glacier, which was only just recently scheduled, aims to push back the difficulty bomb on the Ethereum mainnet. The difficulty bomb is a mechanism which exponentially increases the difficulty of mining blocks on the network. It will typically go unnoticed for over a year, but then will start to make up a rapidly increasing part of the overall difficulty, slowing down block times on the network.
The bomb mainly serves as a way to force protocol developers to keep scheduling upgrades on mainnet to ensure the chain does not stop innovating and that Ethereum gets to Serenity. The Muir Glacier update contains a single EIP, EIP-2384, which will push back the bomb another 4 million blocks, or approximately 611 days. When we get closer to the bomb going off again, you can expect another upgrade to push back the bomb once more, although whether or not to keep the bomb and under which form is currently being debated within the Ethereum community.
If You’re Using Hyperledger Besu, There’s One Thing You Need to Do
Check your version. Besu users already using version 1.3.4 (and up) are now able to use all of the Istanbul features on any of the Ethereum testnets, or on their own private network. Besu users wanting to use mainnet will need to upgrade to v1.3.4 or higher in order to stay on the main Ethereum network past the Istanbul upgrade on block, 9,069,000.
Besu users will also need to upgrade to version 1.3.6 prior to January 5, 2020, in order to stay on the Ethereum mainnet past the Muir Glacier upgrade on block 9,200,000.
All upgrades are officially announced on the ethereum.org blog, but if you want to be kept up to date about updates as they are being planned, we recommend watching the Ethereum AllCoreDevs calls. If you don’t have the 1h30 to commit to this every fortnight, PegaSys product manager Tim Beiko usually tweets the highlights.