Ethereum Hard Fork Upgrades in Minutes
An Ethereum-based Blockchain network requires that each node's client software adheres to a set rules (or the Protocol) in order to validate transactions
Overview of Forks & Blockchain
An Ethereum-based Blockchain network requires that each node's client software adheres to a set rules (or the Protocol) in order to validate transactions. This is used when creating new blocks or syncing blocks that are broadcast by other nodes. Therefore, all nodes must follow a consistent set rules to ensure that any block produced by a Node can be accepted and validated by other nodes in the network.
Like any software, blockchain client software is constantly updated to fix bugs or add new features.
These updates may result in changes to the protocol that governs how transactions are processed into blocks. Blockchain's core design principle is global data consistency. This means that each instance of client software must process transactions exactly the same way. This means that a mechanism must be developed to ensure that the transition from one protocol to another is done in lock-step across the entire network.
Ethereum's architecture allows for such transition points using block numbers as the syncronization reference. This Chain Configuration element consists of a Name and a Block Number.
These transition points are known as Forks. This chain configuration tells client software that the protocol to produce new blocks and process broadcasted blocks will change at the block number. It is always set to a future blocks to allow node operators time to upgrade their software.
Hard Forks, the Ethereum Mainnet and the Ethereum Mainnet
A Fork that is not compatible with the previous Fork results in a hard fork. Clients who do not update their protocol (which involves both upgrading client software and adding new chain configuration) are unable to sync blocks with the rest of the network and any new blocks they propose will not be accepted by the other nodes.
These planned Hard Forks will take effect at certain block numbers on Ethereum mainnet. Hard Forks in Permissioned Blockchains must be scheduled based on the current block height.
Kaleido has Hard Forks
Kaleido has automated the updating of the Protocol by applying a Hard Fork to all nodes in its chain. Hard Forks are available if your environment has not yet reached release 1.0.28. With this Hard Fork, `constantinopleBlock` is applied to certain older environments which do not have the Constantinople genesis chain configuration.
To check if your environment has the most recent chain configuration, go to Environment Dashboard -> Settings .
You can review the details of a hard fork if it is appropriate for your environment. This includes the list of EIPs that the nodes will support following the hardfork.
To apply the hard fork, click Upgrade -> Apply if applicable. Click Upgrade to enter the confirmation text.
The Fork Upgrade operation applies the changes to the chain configuration to all nodes of the network simultaneously. This causes minor downtime to the environment. It is based on the block height that has been retrieved from all nodes.
The console will disable Constantinople Block if your environment has it set in the genesis chain configuration. It will display the block number at the point Constantinople Hard Fork activates in the chain configuration.
After the upgrade, the environment can be used once the nodes have returned to Started status. The Protocol upgrade has been completed. Changes take effect for Constantinople Hard Fork () at the block number displayed in the console. The Environment dashboard in Kaleido console allows you to track the current block number.
Kaleido is proud to simplify blockchain technology adoption for enterprises. Although hard forks can be a complex process of software upgrade, they are easy to do by clicking a few buttons and calling Kaleido. Kaleido will continue publishing new hard fork releases as the Ethereum technology develops. Customers will be able to enjoy exciting features and improvements.