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

Holocene: Make Elasticity configurable via SystemConfig #340

Closed
roberto-bayardo opened this issue Aug 16, 2024 · 4 comments
Closed

Holocene: Make Elasticity configurable via SystemConfig #340

roberto-bayardo opened this issue Aug 16, 2024 · 4 comments
Assignees

Comments

@roberto-bayardo
Copy link
Contributor

roberto-bayardo commented Aug 16, 2024

In EIP-1559, the gas target of a block is (gas limit / elasticity). And since elasticity is a fixed constant of 6 as of the Fjord upgrade, one cannot adjust the gas target without increasing the gas limit. This has led Base to implement a hack whereby a different limit (a "soft" gas limit) is enforced by the sequencer during block building in order to allow us to increase the gas target without also increasing the (effective) limit. This unfortunately breaks things like priority fee suggestion, and is also simply unintuitive to users who see a gaslimit in the SystemConfig contract that isn't the one actually being enforced.

I would like to propose we make Elasticity configurable via the SystemConfig L1 contract, just as the Gas Limit is configurable, allowing gas target and gas limit to be independently configured.

From @tynes: We might also consider adding the denominator to be dynamic as well. When the basefee rises super quickly when the target is exceeded, it creates this permanent pegging to the target throughput. It also This is a complex system and not sure what the best params ought to be for a high throughput chain. My guess is that the "ideal" params differ at different gas throughputs or usage patterns.

The proposal to improve l1 attribute handling by separating out static values should be a prerequisite for this work:
#122

@tynes
Copy link
Contributor

tynes commented Aug 25, 2024

Per #122 (comment), this makes a lot of sense to implement as a ConfigType

@roberto-bayardo
Copy link
Contributor Author

noting that we have decided not to implement #122 just yet and instead handle the new l1 attributes in the "normal" way to avoid making too many diffs to the derivation pipeline.

@BlocksOnAChain
Copy link
Contributor

BlocksOnAChain commented Sep 24, 2024

@roberto-bayardo: +1 to not implementing #122 at the moment.
Since we kinda made things simpler with this approach + already merged 358, do you have an estimate on when we close this line of work, having in mind that Holocene "code freeze" date is October 16th, 2024?

@BlocksOnAChain
Copy link
Contributor

@roberto-bayardo do we know what else is needed from your side to close the work on this issue?

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

No branches or pull requests

4 participants