go-ethereum icon indicating copy to clipboard operation
go-ethereum copied to clipboard

params: make eip1559 configurable

Open protolambda opened this issue 3 years ago • 2 comments

This makes the EIP-1559 parameters BASE_FEE_MAX_CHANGE_DENOMINATOR and ELASTICITY_MULTIPLIER configurable, and changes the globals to function as defaults.

As an alternative chain or testnet with different (often faster) block time it's desirable to maintain an adjustment rate and gas consumption target as mainnet, while also increasing the elasticity to still be able to process rare transactions as large as the gas limit on mainnet.

Let me know if the config naming should be adjusted, or if defaulting the individual fields, instead of eip1559 config as a whole, is more desirable.

protolambda avatar Sep 19 '22 21:09 protolambda

Hmm, my comment didn't make it from email from some reason.

Yeah, so this we won't really accept. We have made the commitment a long time ago that Geth is an Ethereum client and will be only focusing on that, explicitly not implementing configurability for various chain tweaks. The primary reason is that we see it as a slippery slope, eventually leading to all params being configurable ala Parity's chain spec. That however can introduce a lot of potential for bugs when some combination is not compatible with another, or accidentally enabling/disabling things on mainnet that are relevant for something else only.

karalabe avatar Sep 20 '22 09:09 karalabe

I think we should accept this!

fjl avatar Sep 20 '22 09:09 fjl

Hey Proto,

This is unfortunately not a change that we will accept. We were always very strict on only catering for Ethereum and extending the chain spec with params is going in the exact bad direction.

On Tue, Sep 20, 2022, 00:47 protolambda @.***> wrote:

@protolambda https://github.com/protolambda requested your review on: #25822 https://github.com/ethereum/go-ethereum/pull/25822 params: make eip1559 configurable as a code owner.

— Reply to this email directly, view it on GitHub https://github.com/ethereum/go-ethereum/pull/25822#event-7417186726, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAA7UGIHAIBW3HJG4VGDG4DV7DNOTANCNFSM6AAAAAAQQPWPPY . You are receiving this because your review was requested.Message ID: @.***>

karalabe avatar Oct 11 '22 07:10 karalabe

Hmm, my comment didn't make it from email from some reason.

Three weeks later...

Hey Proto,

@karalabe did the email got stuck for three weeks in the out-folder?

As for this PR, we're leaning towards merging it. It's in @fjl's hands to get it merged now

holiman avatar Oct 11 '22 08:10 holiman

We discussed it with proto 2 days ago, he'll make an alternative

karalabe avatar Oct 12 '22 09:10 karalabe

They don't need it to be configurable from the chain config, they just need it to not be the params.xyz. He said he'll make a PR that is enough for Optimism without having to surface the field all the way out. That would still allow them to have a clean diff without the drawbacks / slippery slope / special status.

karalabe avatar Oct 12 '22 09:10 karalabe

OK then!

fjl avatar Oct 12 '22 09:10 fjl