Ethereum’s London Fork
To improve system applicability and move towards the goal of Ethereum 2.0, the Ethereum network needs to be upgraded continuously. The latest network upgrade is the Ethereum London Fork. This time it is expected to be carried out when the block height is 12,965,000, and the time is expected to be the evening of August 4. Meanwhile, to be compatible with the London upgrade, the node operator needs to update the client version.
These versions are different from the previously announced versions that support the London upgrade on the testnet. The node operator needs to update the client prior to the the official upgrade of the main network. Among them, the OpenEthereum client will be abandoned after the London upgrade. The download link of the new client is provided in Ethereum’s official blog.
Ethereum’s network upgrade is implemented through off-chain governance. Community members propose EIP (Ethereum Improvement Proposal) and reach an agreement on the EIP specifications to be adopted for the upgrade. Next, the development team updates the client. Finally, the miner uses the latest version of the Ethereum client and upgrades through Hard Fork.
The London Fork upgrade includes five EIP proposals, with the themes of modifying the transaction fee collection rules, modifying the relevant contents of the smart contract opcode and delaying the difficulty bomb, among which EIP-1559 and EIP-3554 have more significant impact.
EIP-1559: Changes in transaction cost structure on the Ethereum chain
EIP-3198: Add opcode for BASEFEE
EIP-3529: Cancel the refund of gas with SELFDESTRUCT opcode and reduce the refund of gas with SSTORE opcode
EIP-3541: Reject new smart contracts beginning with 0xEF
EIP-3554: Delays difficulty bomb until December 1, 2021
EIP-1559: Changes in the Cost StructureEIP-1559 is one of the most anticipated changes in this Ethereum upgrade. EIP-1559 is a solution proposed by Vitalik and is about the Ethereum network’s transaction pricing mechanism, including cost structure design and elastic block design. EIP-1559 sets the cost structure as basic fee + tip. The basic fee must be paid by ETH, which miners cannot obtain and will be destroyed. Tips, which is part of the reward for miners, can be paid in cryptocurrencies other than ETH. A part of the miner’s income will become the tip + reward of the new block. The elastic block design allows the block to become larger temporarily. The basic cost of each block can be adjusted according to the gas used in the previous block and the gas target. When the block gas price is higher than the gas target price, the base fee increases; the base fee decreases when the block gas is lower than the gas target price.
Impact of EIP-1559
Base fee design: Forced ETH payment, maintains ETH’s position to a certain extent
Flexible block design: The cost can be estimated to avoid excessive payment, and the wallet setting is simplified
Cost structure design: reduce miners’ incentives for manipulation; Burn ETH to provide support the value support
Mining fee might reduce: From block rewards and all gas fees to block rewards + tips only
Some Controversial Viewpoints:Elastic blocks result in consumers paying higher fees when demand suddenly falls
Miners have no motives and significance for manipulation
Unable to guarantee miners’ profits or may reduce gas supply
EIP-319: Add Opcode for BASEFEEThe EIP proposal is a complement to EIP-1559. It mainly adds an opcode for BASEFEE, which is helpful to submit fraud-proof and create trustless gas price derivatives.
EIP-3529: Cancel the refund of gas with SELFDESTRUCT opcode and reduce the refund of gas with SSTORE opcodeThe gas charge is negative when Ethereum’s gas pricing involves cleaning status and storage slots and deleting contracts with SELFDESTRUCT opcodes. Therefore, there will be gas returned, and the maximum refund is half of the consumption during the creation.
According to this feature, users can spend gas to create these smart contracts when the gas price is low, clean and delete them when the price is high to obtain gas fees, and used them for other transactions to realize gas fee arbitrage. For example, CHI developed by GST1, GST2 and 1inch uses the Gas Token with different mechanisms. EIP 3529 cancels the refund of gas by SELFDESTRUCT opcode and reduces the refund of gas by SSTORE opcode, which will lead to the invalidation of the Gas Token. Reducing the Gas Token will help reduce unnecessary gas usage and occupying of network resources, and help offset the size difference between elastic blocks introduced by EIP-1559. Blocks will use up to twice the current Gas limit.
EIP-3541: Reject new contracts beginning with 0xEF bytesEIP-3541 is a simple change that lays the foundation for broader EVM improvements. This EIP will prevent new contracts starting with 0xEF bytes from being deployed, but existing contracts will not be affected. EIP-3540 requires the deployment of additional network upgrades. It is also worth noting that if EIP-3540 has never been deployed, EIP-3541 can also be retained for other schemes.
EIP-3554: Difficulty Bomb delayed to December 1, 2021EIP-3554 delay of difficulty bomb is also known as the ice age. Difficulty bomb/ice age is a mechanism introduced into Ethereum’s transition to PoS by reducing block rewards and setting difficulty bombs. Under normal conditions, PoW miners will not take the initiative to quit mining because they have paid the cost of mining machines and other hardware facilities. Therefore, Ethereum increases the PoW block out by setting a difficulty bomb to realize the consensus transformation from PoW to PoS.
The sharding structure of Ethereum 2.0 is composed of the beacon chain (PoS based blockchain single chain) and shard chain (different sub blockchains). Beacon chain is responsible for the communication between shard chains and is also the core of the whole framework. At present, Ethereum has launched the beacon chain and started PoS mining, but PoW mining still exists. The difficulty bomb can only be implemented after the Ethereum beacon chain can fully undertake the whole network transaction. Exploding in advance will affect the PoW network security.
So far, the difficulty bomb has been delayed three times, Metropolis (EIP-649), Constantinople (EIP-1234) and Muir Glacier (EIP-2384). In the last Muir Glacier upgrade, the difficulty bomb was postponed by 4,000,000 blocks, and was originally set to explode in August this year. This time, the EIP-3554 with the London Hard Fork delayed the difficulty bomb again to December this year.
The Development stage of EthereumThe four development stages of Ethereum’s plans are Frontier (July 2015), Homestead (March 2016), Metropolis (October 2017) and Serenity. Serenity is the final stage of Ethereum, which marks that Ethereum has reached stage 2.0. At present, Ethereum is in the final Serenity stage, but the launch of 2.0 is mainly divided into three stages. The tasks to be realized are the PoS consensus, data sharding and transaction sharding.
Frontier: The Ethereum network was launched for the first time. Developers can mine ETH on it and start developing DApp and various tools.
Homestead: Ethereum released its first official version, optimized the protocol, laid the foundation for subsequent upgrades and accelerated the transaction speed.
Metropolis: This stage is launched twice, namely Byzantium (October 2017) and Constantinople (January 2019), to help make Ethereum lighter, faster and safer.
Serenity: This stage will change the network from the PoW consensus to the PoS consensus, using the Casper consensus algorithm. It helps to expand Ethereum, improve the transaction speed of Ethereum and reduce transaction costs.
The change of Ethereum 2.0 is mainly the introduction of POS and shard chain. In phase 1.0, the PoW consensus mechanism is adopted, which primarily relies on physical computing power (miners) and power (workload) to build new blocks. On the other hand, PoS of 2.0 mainly relies on the validator and staked ETH to ensure the continuity of the block.
At present, the operation mode of Ethereum is to process and verify each transaction in a continuous block at each full node. However, when the transaction volume of the main network increases significantly, the transaction processing speed of the network will slow down. The shard chain mechanism will split the Ethereum chain into multiple different chains (64 shards will be deployed initially), and the data processing tasks will be assigned to these nodes for multi-threaded processing transactions. Each addition of a shard chain is like adding a lane, upgrading Ethereum from a single laned small road to a multi-lane expressway. More lanes and parallel processing capacity will bring higher throughput.
View the full article