The Ethereum network is set to undergo a scheduled hard fork at block number 4.37 million (4,370,000), anticipated to take place between 12:00 UTC and 13:00 UTC on Monday, October 16, 2017. The Ropsten test network experienced a hard fork on September 19th (UTC) at block number 1.7 million (1,700,000). A countdown timer is available at https://fork.codetract.io/.
As a user, what actions should I take?
Acquire the most recent version of your Ethereum client:
What should I do if I am utilizing a web or mobile Ethereum wallet such as MyEtherWallet or Jaxx?
Websites and mobile applications for Ethereum that enable you to store ether and/or conduct transactions operate their own Ethereum client infrastructure to support their services. If you are employing a third-party web-based or mobile Ethereum wallet, your wallet provider may require an update for the hard fork. It is advisable to confirm with them regarding the steps they are undertaking to adapt for the hard fork and whether they request their users to take additional precautions.
What constitutes a hard fork in Ethereum?
A hard fork refers to a modification of the fundamental Ethereum protocol, introducing new regulations for the enhancement of the system. These protocol modifications are activated at a designated block number. All Ethereum clients are required to upgrade; otherwise, they will remain on an incompatible chain adhering to the previous rules.
What are the consequences if I do not engage in the hard fork?
If your Ethereum client is not updated for the imminent hard fork, it will synchronize to the pre-fork blockchain once the fork takes place. You will find yourself on an incompatible chain abiding by the old regulations, lacking replay protection against the primary network. Legacy clients will have the capability to construct transactions, but will not perceive the outcome of those transactions.
What are Metropolis, Byzantium, and Constantinople?
Metropolis is a prospective Ethereum development stage that consists of two hard forks: Byzantium and Constantinople. Byzantium will take place at block number 4.37 million. Currently, Constantinople does not have a release date, but it is anticipated to occur in 2018.
What modifications are incorporated in the Byzantium hard fork?
The subsequent enhancements are included:
- Introduction of ‘REVERT’ opcode, allowing error management without depleting all gas (EIP 140)
- Transaction receipts now feature a status field indicating success or failure EIP 658)
- Elliptic curve addition and scalar multiplication on alt_bn128 (EIP 196) and pairing validations (EIP 197), enabling ZK-Snarks and other cryptographic functionalities™
- Support for large integer modular exponentiation (EIP 198), facilitating RSA signature validation and other cryptographic uses
- Support for variable length return values (EIP 211)
- Inclusion of the ‘STATICCALL’ opcode, enabling non-state-changing calls to other contracts (EIP 214)
- Modifications to the difficulty adjustment formula to consider uncles (EIP 100)
- Postponement of the ice age / difficulty bomb by one year, and a reduction of block reward from 5 to 3 ether (EIP 649)
What should I do if an issue arises?
If a significant bug is identified, the following communication channels will be employed:
Crucial Note for Dapp Developers
The method for identifying unsuccessful transactions will change with Byzantium, even for contracts established prior to the execution of the Byzantium hard fork. Subsequent to the fork, eth.getTransactionReceipt(…) will yield a status field. The status field will return a value of 0 when a transaction fails and 1 when it succeeds. For further information, please refer to this article on the Ethereum StackExchange.
A heartfelt thank you to the Ethereum development community across all clients and platforms for their collective input, reflections, and contributions towards this enhancement.
DISCLAIMER This domain is a rapidly developing and highly specialized area. Should you choose to act on the suggestions in this post and maintain your participation, it is imperative to comprehend how it affects you. Be aware of the risks involved, which include but are not limited to unforeseen bugs. By opting to follow these recommendations, you alone take on the risks of the outcomes. This post and its suggestions are not a commercial offer and do not create any warranties of any kind, including but not limited to any associated with the Ethereum network or the Ethereum clients referenced herein.
