HomeEIPs
EIPsEIP-3238
EIP-3238

Difficulty Bomb Delay to Q2/2022

StagnantStandards Track: Core
Created: 2021-01-25
Afri Schoedon (@q9f)
DiscussionsOriginal linkEdit
1 min read

EIP-3238 proposes delaying the difficulty bomb in Ethereum to Q2/2022. The difficulty bomb is a mechanism that increases the difficulty of mining over time, making it harder to mine new blocks and slowing down the network. The proposal suggests using a fake block number to calculate the difficulty, which would delay the ice age by approximately 9.89 months. This would allow miners to continue mining on the legacy chain for another ten months, with block times of around 13-15 seconds on average. The delay is intended to give developers time to conclude the merge between Ethereum 1.x and Ethereum 2.0. The proposal is not forward compatible and introduces backwards incompatibilities in the difficulty calculation, so it should be included in a scheduled hard fork at a certain block number. It is suggested to consider this EIP either with or shortly after the Berlin hard-fork but not later than July 2021. Alternatively, it can be considered to activate this EIP along with EIP-1559 fee market changes in a bundle. There are no known security issues with this proposal.

Video
Anyone may contribute to propose contents.
Go propose
Original

Simple Summary

Delays the difficulty bomb so 30 second blocks won't happen until around Q2/2022.

Abstract

Starting with FORK_BLOCK_NUMBER the client will calculate the difficulty based on a fake block number suggesting to the client that the difficulty bomb is adjusting eleven million blocks later than the actual block number.

Motivation

Even after the Ethereum 2.0 mainnet launch, Ethash proof-of-work mining on the legacy chain should be feasible. It should allow miners sealing new blocks every 13~15 seconds on average for another ten months and allow both Ethereum 1.x and Ethereum 2.0 developers to conclude the merge.

Specification

Relax Difficulty with Fake Block Number

For the purposes of calc_difficulty, simply replace the use of block.number, as used in the exponential ice age component, with the formula:

fake_block_number = max(0, block.number - 11_000_000) if block.number >= FORK_BLOCK_NUMBER else block.number

Rationale

This will delay the ice age by another ~26 million seconds (approximately ~9.89 months), so the chain would be back at ~30 second block times in Q2/2022. Hopefully, by then the Eth1-to-Eth2 merge will be concluded and the ice age fulfilled its task.

Backwards Compatibility

This EIP is not forward compatible and introduces backwards incompatibilities in the difficulty calculation. Therefore, it should be included in a scheduled hardfork at a certain block number. It's suggested to consider this EIP either with or shortly after the Berlin hard-fork but not later than July 2021.

Alternatively, in order to maintain stability of the system, a it can be considered to activate this EIP along with EIP-1559 fee market changes in a bundle. With the delay of the ice age, there is a desire to no further increase inflation and rather incentivize users to participate in proof-of-stake consensus instead.

Security Considerations

There are no known security issues with this proposal.

Copyright and related rights waived via CC0.

Further reading
Anyone may contribute to propose contents.
Go propose
Adopted by projects
Anyone may contribute to propose contents.
Go propose

Not miss a beat of EIPs' update?

Subscribe EIPs Fun to receive the latest updates of EIPs Good for Buidlers to follow up.

View all
Serve EIP builders, scale Ethereum.
Resources
GitHub
Supported by