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

Open
roberto-bayardo opened this issue Aug 16, 2024 · 2 comments
Open

Holocene: Make Elasticity configurable via SystemConfig #340

roberto-bayardo opened this issue Aug 16, 2024 · 2 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.

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

No branches or pull requests

2 participants