Come molti di voi sapranno, tra circa sedici giorni ci sarà l’aggiornamento/upgrade/hardfork di #ethereum denominato Instanbul – ultima tappa prima dell’aggiornamento al POS con la fase 0 (https://etherscan.io/block/countdown/9069000 per il conto alla rovescia) . Come annunciatovi nel podcast, vi consigliamo di cominciare a prepararvi.
Cosa fare e come è spiegato molto bene nel blog post di Hudson Jameson ( https://blog.ethereum.org/2019/11/20/ethereum-istanbul-upgrade-announcement/) che per praticità vi riportiamo integralmente:
“The Ethereum network will be undergoing a scheduled upgrade at block number 9,069,000, which is predicted to occur on Saturday, December 7, 2019. The exact date is subject to change due to variable block times and timezones.
Please upgrade your node before Sunday, December 1, 2019 to account for the variable block times.
Ethernodes.org has kindly provided Istanbul node statistics and a countdown timer located at https://ethernodes.org/istanbul. You can monitor the network upgrade in real time at http://forkmon.ethdevops.io/.
What is Istanbul?
As an Ethereum user or ether holder is there anything I need to do?
If you use an exchange (such as Coinbase, Kraken, or Binance), a web wallet service (such as Metamask, MyCrypto, or MyEtherWallet), a mobile wallet service (such as Coinbase Wallet, Status.im, or Trust Wallet), or a hardware wallet (such as Ledger, Trezor, or KeepKey) you do not need to do anything unless you are informed to take additional steps by your exchange or wallet service.
As a node operator or miner, what do I need to do?
Download the latest version of your Ethereum client:
- Latest geth client (v1.9.7)
- Latest Parity client (v2.5.10-stable)
- Latest Besu client (v1.3.4)
- Latest Nethermind client (v1.1.8)
- Latest ethereumJS client (v4.0.2)
- Latest Trinity client (v0.1.0-alpha.30)
- Latest Aleth Client (v1.7.1)
NOTE: Harmony (ethereumJ) is now a deprecated client and will not be supporting Istanbul. Besu is a mainnet compatible Ethereum client written in Java.
What happens if I am a miner or node operator and I do not participate in the upgrade?
If you are using an Ethereum client that is not updated to the latest version (listed above), your client will sync to the pre-fork blockchain once the upgrade occurs. You will be stuck on an incompatible chain following the old rules and you will be unable to send ether or operate on the post-upgrade Ethereum network.
What is a network upgrade in Ethereum-land?
A network upgrade is a change to the underlying Ethereum protocol, creating new rules to improve the system. The decentralized nature of blockchain systems makes a network upgrade more difficult. Network upgrades in a blockchain require cooperation and communication with the community, as well as with the developers of the various Ethereum clients in order for the transition to go smoothly.
What happens during a network upgrade?
After the community comes to an agreement concerning which changes should be included in the upgrade, changes to the protocol are written into the various Ethereum clients, such as geth, Parity, and Nethermind. The protocol changes are activated at a specific block number. Any nodes that have not been upgraded to the new ruleset will be abandoned on the old chain where the previous rules continue to exist.
What changes are going into Istanbul?
Changes that are implemented in Istanbul are defined using EIPs. Ethereum Improvement Proposals (EIPs) describe standards for the Ethereum platform, including core protocol specifications, client APIs, and contract standards. Please read this article from the Ethereum Cat Herders that explains the EIPs going into Istanbul and the Ethereum testnets that are being upgraded to Istanbul.
A big thanks to the Ethereum community and to all Ethereum developers across all clients and platforms who came together to provide input, thoughts, and contribution.
DISCLAIMER: This is an emergent and evolving highly technical space. If you choose to implement the recommendations in this post and continue to participate, you should make sure you understand how it impacts you. You should understand that there are risks involved including but not limited to risks like unexpected bugs. By choosing to implement these recommendations, you alone assume the risks of the consequences. This post and recommendations are not a sale of any kind and do not create any warranties of any kind including but not limited to any relating to the Ethereum network or the Ethereum clients referred to herein”.
credits: Hudson Jameson