specs icon indicating copy to clipboard operation
specs copied to clipboard

Holocene: Make Elasticity configurable via SystemConfig

Open roberto-bayardo opened this issue 1 year ago • 4 comments
trafficstars

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: https://github.com/ethereum-optimism/specs/issues/122

roberto-bayardo avatar Aug 16 '24 15:08 roberto-bayardo

Per https://github.com/ethereum-optimism/specs/issues/122#issuecomment-2308584680, this makes a lot of sense to implement as a ConfigType

tynes avatar Aug 25 '24 00:08 tynes

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.

roberto-bayardo avatar Sep 22 '24 17:09 roberto-bayardo

@roberto-bayardo: +1 to not implementing https://github.com/ethereum-optimism/specs/issues/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 avatar Sep 24 '24 11:09 BlocksOnAChain

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

BlocksOnAChain avatar Oct 03 '24 10:10 BlocksOnAChain