The term ‘hard fork’ in the cryptocurrency context, refers to a network upgrade. On November 20th, the Ethereum network announced that it had scheduled its 8th hard fork, entitled ‘Istanbul’. Istanbul is just one of the many hard forks that are scheduled for Ethereum 1.x, to take place before the much-awaited Serenity (ETH2.0) update. It is a scheduled upgrade that is predicted to take place of December 7th, 2019 at block number 9069000. However, the exact date will vary according to variable block times and different time zones.
Why Is Ethereum Moving From POW to PoS & What Role Does Istanbul Play In This Transition?
Network upgrades in blockchain, require a degree of co-operation and communication within the community. The changes that are slated to be implemented in Istanbul are defined using Ethereum Improvement Proposals or EIPs. They describe standards for the platform, including for core protocol specifications, contract standards, and client APIs.
Overall the upgrade is expected to implement some drastic changes to the Ethereum network, including a transition from the existing proof-of-work consensus algorithm, to a more energy-efficient proof-of-stake consensus algorithm.
The Istanbul upgrade introduces 6 EIPS out of the initial 38 which were compiled by the developers. An outline of the accepted EIPs approved for this fork is explained in brief below:
- EIP-1108 will be introduced to reduce gas costs, which introduces a cheaper generation of ZK-SNARKs. This change is aimed at enhancing the development of privacy-focused applications.
- EIP-152 will be introduced to verify the Equihash proof-of-work algorithm, working within an Ethereum contract. This will enable interoperability between Ethereum and Zcash blockchain networks.
- EIP-1884 is a controversial proposal, which is aimed at repricing certain opcodes for EVMs executing smart contracts. This will aid in obtaining a good balance between resource consumption and gas expenditure.
- EIP-1344 will add an opcode that will return the current chains unique identifier. This will allow contracts to track the Ethereum chain they’re on. System resilience to replay attacks on signed transactions is hence greatly improved.
- EIP-2200 will implement net gas metering. This will change the way calculations are made for the cost of storage in the EVM. This, in turn, reduces excessive costs and enables new functions of contract storage.
- EIP-2028 will drastically reduce the cost of calling data in transactions. This leads to improved scalability of the network, making layer two scalability solutions like Zk-SNARKS, more accessible.
Phases of The Transition From Phase 0 – 2 & where Ethereum Is Now
As explained in the roadmap towards Ethereum 2.0, the rollout of the chain is scheduled to come out in a sequence of phases. As the parts of ETH2.0 are becoming more and more interconnected, some notable pieces have been separated. These pieces are scheduled to be released in phases, allowing better pipelining of the different aspects of Eth2.0. Currently, developers are putting finishing touches on the client software, included as part of the phase 0 launch. Specifications for Phase 1 are being completed simultaneously, while Phase 3 is still in research and development. To better understand the three phases, they are explained in brief below:
- Phase 0: Phase 0 is concerned with the core of eth2.0, called the beacon chain. It is responsible for coordinating shards as well as managing validators.
- Phase 1: Phase 1 will allow data to be stored in shards.
- Phase 2: Phase 2 will upgrade eth2, turning it from a robust database to a fully decentralized computing platform.
Phase 0 Explained
For a proof-of-stake system to function properly, a degree of consensus is required on who the validators are and their stakes. This is done to know the worth of their votes and to reward or punish them accordingly. The beacon chain is responsible for tracking the state of both the shards as well as the set of validators. This would allow us to know enough to verify anything said to be happening within ETH2.0, just by following what is happening on the beacon chain. The sharding aspects of ETH2 will also be managed by the beacon chain, by assigning validator duties in the shards.
One of the biggest factors that differentiate ETH 2.0 from other existing Proof-of-work systems is the number of participating validators. ETH2 can scale to hundreds of thousands, reaching up to a million of validators, compared to a mere 1000 participants in other systems. Groups of validators called ‘committees’ are responsible for the intermediate levels of consensus achieved, which ultimately leads to a level for decentralisation.
Validators are assigned to committees by the beacon chain at random. The committees are responsible for evaluating what isn’t or what is a part of the shard and beacon chains. Votes from the committees are then cryptographically aggregated into an attestation. Thus, only a few aggregated signatures need to be considered to evaluate the votes of many validators, which in turn check the validity of the beacon chain.
The ETH1.0 chain and the deposits are also tracked by the beacon chain, to allow new validators to join ETH2.0. New validators can join ETH2 by sending 32 ether to the ETH1 deposit contract.
Difference between Nodes & Clients
Beacon nodes and validator clients are two separate concepts in ETH2, with validators requiring them both to perform their duties. A beacon node maintains a view of the beacon chain along with shards which may be needed by any user or validator.
Validator clients, on the other hand, are responsible for handling the logic of a single validator, achieved by communicating with the beacon node to understand the state of the chain at that point. It finally asks the beacon node to send this information to its peers.
Reasons for this Separation
- Validator clients can only interact with the ETH2 network by using a beacon node. The attack surface of a validator node is greatly reduced as a result.
- Separate modules for validator nodes are more secure as it is easier to audit, write or reason about smaller code modules.
- Multiple nodes can be run in parallel, which in turn reduces the chance of a validator going offline.
- A beacon node provides users access to the beacon chain and the shards they require, even if they do not want to be a validator.
- Validators can be initiated by depositing 32 ether. For users who want to stake more ETH, running multiple validator instances are required. Thus, the node-client separation to reduce computation, storage and memory requirements by allowing such users to run a single beacon node connected to multiple validators.
About The Design Philosophy
The design philosophy behind Ethereum 2.0 carefully highlights the reasons for all the decisions made within ETH2.0. In many instances, it encapsulates the differences between other protocols and ETH2. These are described in the following points below.
- Minimally viable complexity: ETH2 has been developed with a focus on simplicity, making it easier to reason, explain, write bug-free clients, avoid edge cases and audit.
- Maximally Decentralised: Since ETH2 is designed to scale to millions of validators, it does not compromise on the number of validators as other proof-of-stake protocols do.
- Accessibility to All: ETH2 has been made in such a way as to run even on a consumer laptop. This lowers the barrier to entry, allowing more people to participate.
- Safeguarding Against the Unexpected: ETH2 has been made with components that are resistant to quantum computers. If affected, components can also be swapped out for the unaffected ones.
- Capable of surviving the worst: Some validators are assumed to be lazy, take bribes and can attack the system if not incentivized properly. Additionally, the reliability of the network is not taken for granted as it may be exposed to catastrophic events. Since validators in large numbers can go offline during such an event, ETH 2.0 has been made with the capabilities of surviving, even the biggest of catastrophes.
As mentioned by the Ethereum team and in their roadmap, there are several Ethereum hard forks scheduled to take place after Istanbul as part of ETH1x. ETH2.0 or Serenity’s first phase would see the release of a beacon chain, a proof of stake blockchain, which would mark the shift from the previous proof-of-work chain. Both the chains are expected to run alongside each other to ensure there is no break in the chain’s continuity.
The ETH2 upgrade has been in the works for quite some time and has transformed dramatically. What started with separate sharing and PoS efforts which are managed by smart contracts, the upgrade has since transformed into a highly efficient and interconnected design, yielding improvements in regard to efficiency, security, and scalability.
If you enjoyed reading this article, consider following the blog for a new post every Tuesdsay!