Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal to include EIP-3238 (diff bomb) in London #256

Closed
q9f opened this issue Feb 27, 2021 · 14 comments
Closed

Proposal to include EIP-3238 (diff bomb) in London #256

q9f opened this issue Feb 27, 2021 · 14 comments

Comments

@q9f
Copy link
Contributor

q9f commented Feb 27, 2021

ref #245 ref ethereum/EIPs#3239

link: https://eips.ethereum.org/EIPS/eip-3238

eip: 3238
title: Difficulty Bomb Delay to Summer 2022
author: Afri Schoedon (@q9f)
discussions-to: https://github.com/ethereum/EIPs/issues/3239
type: Standards Track
category: Core
status: Draft
created: 2021-01-25

Simple Summary

Delays the difficulty bomb so 30 second blocks won't happen until around summer 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.

Even though the title says "summer 2022," the delay is around ~9.89 months putting us in the range of May 2022. But would be happy if someone could double-check the numbers.

@timbeiko
Copy link
Collaborator

timbeiko commented Mar 1, 2021

My personal preference would be to have it go off a bit sooner, i.e. Mar 2022. There may be a world where everything goes right and we are ready to do the merge in Q4 2021 / Q1 2022. If we are not ready then, we can also push the bomb back again by a short amount. In other words, I'd rather have it go off sooner, and be pushed out once more after this, than have it scheduled too late and we're waiting for it for the merge.

@holgerd77
Copy link

Is there any timeline with some milestones or some planning available for "the merge" 😄 going a bit deeper than some general "we'll likely get this done till the end of the year" estimations from people being close to the matter? Otherwise I have the impression these time period estimations lack a bit of foundation?

@q9f
Copy link
Contributor Author

q9f commented Mar 2, 2021

I personally don't think March 2022 is a realistic timeline for the merge but the developer sentiment is to rather bump the diff bomb more often. For the sake of keeping it very concise, I would prefer to keep the delay as a multiple of 1 million blocks. I think May 2022 is fine. And as I said, someone should run the numbers against EIP-3238 to confirm my rough estimates.

@q9f q9f changed the title Proposal to include EIP-3238 in London Proposal to include EIP-3238 (diff bomb) in London Mar 4, 2021
@timbeiko
Copy link
Collaborator

timbeiko commented Mar 5, 2021

@q9f although we agreed to include this in London, we didn't really discuss the delay on the call. Do you think we should keep this issue open until we settle that discussion? Thanks!

@lightclient
Copy link
Member

My preference is also ~March 2022. Even if the merge isn't deployed before then, we should have Shanghai at some point before that to extend the bomb.

@timbeiko
Copy link
Collaborator

@q9f we agreed on ACD 111 to have the bomb go off around ~Dec 1st because we want to either have Shanghai or The Merge happen before that. Can you modify the EIP accordingly? If not, I'm sure someone can submit a PR.

@timbeiko
Copy link
Collaborator

On ACD 112, we agreed to create a new EIP which supersedes this one with a target of Dec 1st. @MadeofTin will own this and make @q9f a co-author. Will leave this issue open until we have the new EIP.

@q9f
Copy link
Contributor Author

q9f commented May 10, 2021

Just stating for the record that I'm not convinced December 1st is a good idea. But I'm currently not able to follow or participate in this discussion. Happy to see @MadeofTin is going to champion this.

@MariusVanDerWijden
Copy link
Member

I would like to echo @q9f, I'm also don't think December 1st is a great idea for the bomb. We did have a pretty tough year, with two hardforks as well as the work on the merge. Putting the bomb at December 1st would put the client teams under a lot of pressure and I think most client teams plan to take some time off after London

@MadeofTin
Copy link
Contributor

For some clarification. It isn't as bad as it to go off terribly December first.

Assuming Difficulty stays around what it is currently. Here are the numbers for the next 5-9 months showing the percent in increased Blocktime.

Reference block 12382958 (May-06-2021 08:38:33 PM +UTC)
Nov - 5 months - 1.9% + .2 seconds
Dec - 6 months - 7.6% + 1 second
Jan - 7 months - 30% + 4 seconds
Feb - 8 months - 121% + 16 seconds
March - 9 months - 487% + 64 seconds.

In this case, we don't get 20 second block times until Feb.

Some variance given changes in difficulty:

If difficulty halves in December we have +2 seconds
If difficulty increases by 50% we have +0.6 seconds 

We could push it back a bit further if we would like to be more careful. I can target whatever timeline we decide.

This seems like a good balance of getting something out in early December (the delay can be seen), but not so much pressure that a delay isn't possible (Muir Glacier)

the other option would be to shift everything one month back by adding 200k blocks to the offset.

@MadeofTin
Copy link
Contributor

I looked at predictions and the hand wavy way blocktime is handled doesn't make the future block prediction very good. Cross referencing with Etherscan predictions

@MadeofTin
Copy link
Contributor

I updated the EIP with the updated offset to target these relative times.

Reference block 12382958 (May-06-2021 08:38:33 PM +UTC)
Nov - 5 months - 1.9% + .2 seconds
Dec - 6 months - 7.6% + 1 second
Jan - 7 months - 30% + 4 seconds
Feb - 8 months - 121% + 16 seconds
March - 9 months - 487% + 64 seconds.

@timbeiko
Copy link
Collaborator

Just realized that @MadeofTin's EIP is not linked in this thread 😅 Here is the proper link: https://eips.ethereum.org/EIPS/eip-3554

@timbeiko
Copy link
Collaborator

Closing given we agreed to go with EIP-3554 over EIP-3238 in #309

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants
@holgerd77 @MadeofTin @timbeiko @lightclient @MariusVanDerWijden @q9f and others