What Was the Byzantium Fork?
The Byzantium hard fork was an update to Ethereum's blockchain, implemented in October 2017 at block 4,370,000. It consisted of eight Ethereum Improvement Protocols (EIPs) designed to improve Ethereum's privacy, scalability, and security attributes.
The Byzantium hard fork was an essential and critical update to Ethereum’s blockchain. It was implemented to enable faster transactions and greater security on its blockchain while making smart contracts suitable for business transactions.
- A blockchain hard fork is a change that introduces incompatibility between the new and old blockchain.
- The 2017 Byzantium Fork was an update to Ethereum's blockchain and network that implemented changes for the existing and upcoming frameworks.
- There were eight changes in the Byzantium Fork.
Understanding the Byzantium Hard Fork
A hard fork of a cryptocurrency blockchain splits the blockchain in two, creating an old and new version. The new and old versions are incompatible, and all transactions are recorded on the new chain.
The changes implemented in the Byzantium hard fork were designed to make Ethereum lighter, faster, and more secure. Additionally, they continued to build the framework for the eventual switch to the proof-of-work consensus mechanism.
Goals of the Byzantium Fork
When implemented by a community and a blockchain's developers, a hard fork generally has specific goals or improvements that make the fork necessary. There were eight upgrades in the Byzantium fork:
- Added REVERT opcodes to the blockchain to allow smart contracts to be stopped if an error occurred without consuming all the gas paid for a transaction.
- Added a status field to transaction receipts to indicate transaction success or failure
- Added a new mathematical model and pairing checks that allowed zk-Snarks to operate correctly
- Added support for certain signature verifications
- Added support for variable values
- Added STATICCALL opcode to allow for calls to nodes that do not request a state change
- Changed the formula behind the difficulty adjustment to account for ommer blocks—blocks mined at the same time as another block but not accepted by the network.
- Delayed the difficulty bomb that makes mining so unprofitable it encourages miners to switch to proof-of-stake
Here's a quick rundown of some of the changes implemented in Byzantium.
Smart Contract Stops
Before the update, smart contracts could throw an error, and the initiator would still be charged the gas fees for the entire transaction. Gas fees for smart contracts can be costly, so this update kept contract creators from losing gwei—the small ether denomination used to pay for transactions—for a contract that didn't fully execute.
Embedding Transaction Status Code In Receipts
Previously, transactions referenced a root parameter within the Merkle tree—the blocks that build on each other and secure the chain. The Merkle tree is a data structure that uses data within preceding blocks to create verification information that allows one block to be checked rather than checking every block every time there is a transaction.
This update enabled transactions to communicate success or failure rather than looking for the parameter, which allowed Ethereum’s blockchain to process transactions faster.
The Byzantium upgrade includes coding native to Ethereum's blockchain designed to lessen power requirements for the implementation of zk-Snarks. This is a zero-knowledge cryptography—where each party in a transaction can verify the other, but the information cannot be seen—that is increasingly becoming the privacy standard for cryptocurrency transactions.
The update introduced mathematically intensive computations that enabled systems to prove that they held the requisite cryptographic keys without divulging the contents of those keys.
Transactions change the state of the blockchain, and smart contracts execute transactions. Therefore, it was necessary to implement a way for a user to call—or query—contracts without initiating a state change through a STATICCALL function.
When miners or validators open new blocks on a blockchain, it's possible for more than one block to be mined at the same time due to the distributed nature of the blockchain. When this happens, the network chooses which block to add to the chain. In Ethereum, the blocks that are not chosen are called ommer blocks—ommer is the gender non-specific term for a child's parent's sibling.
To understand this concept, imagine that block 24 and 24a were mined at the same time—consider them to be siblings. Block 24 was added to the blockchain. Block 25 is block 24's child, which makes block 24a 25's ommer block (parent block's sibling block).
Previously, ommer blocks were not accounted for when the difficulty was adjusted. This update included ommer blocks in the block count to ensure the difficulty could not be manipulated by adjusting the ommer rate (previously called the uncle rate).
Under Ethereum's proof-of-work, ommer blocks also receive a cryptocurrency reward, but it is much smaller than the reward given for the block that is added to the blockchain.
Ethereum has been working towards implementing a proof-of-stake (PoS) consensus mechanism since it was developed. PoS hasn't been as easy to implement as other upgrades because many changes were required. It also requires users to stake their ether (ETH) as collateral for the privilege of becoming a network validator.
The move to PoS has been expected to meet some pushback from users that prefer to mine their ETH. The difficulty bomb is a significant increase in mining difficulty, designed to discourage the energy-intensive mining for rewards. It will be introduced with PoS, but it was delayed in the Byzantium update.
When Did Ethereum Hard Fork?
There have been nine Ethereum hard forks—Frontier Thawing, Homestead, DAO Fork, Tangerine Whistle, Spurious Dragon, Byzantium, Constantinople, Istanbul, and Muir Glacier.
What Country Owns Ethereum?
Ethereum is an open-source project funded by the Ethereum Foundation and developed by a community of enthusiasts and developers. The blockchain isn't owned by any country or person.
How Many ETH Can You Mine in a Day?
How many ETH can be mined depends upon your hardware, its hashrate, the block reward, and the Ethereum difficulty at the time you're mining. When proof-of-stake is implemented, there will be no more mining for ETH rewards on the Ethereum blockchain.
Investing in cryptocurrencies and other Initial Coin Offerings ("ICOs") is highly risky and speculative, and this article is not a recommendation by Investopedia or the writer to invest in cryptocurrencies or other ICOs. Since each individual's situation is unique, a qualified professional should always be consulted before making any financial decisions. Investopedia makes no representations or warranties as to the accuracy or timeliness of the information contained herein. As of the date this article was written, the author owns no ETH.