EIP 3651: Warm COINBASE

2 Likes

FYI this was mentioned in EIP-2929: Gas cost increases for state access opcodes - #52 by axic and @holiman answered it with EIP-2929: Gas cost increases for state access opcodes - #55 by holiman.

I agree that it was an oversight. I don’t think it provides meaningful simplification.

The status quo also incentivizes me to sign a different transaction per miner, which favors the top miners at the expense of smaller miners.

COINBASE transfers are overpriced because the access list is not initialized with COINBASE. We already include ORIGIN, recipient, and the set of all pre-compiles, but not COINBASE. The proposal is to include COINBASE.

The main impact of a Warm COINBASE would be for transactions that pay miners conditionally. Such transactions specify a minimal gas price but pay the COINBASE a much larger fee if some conditions are met. Among other things, this flexibility allows users to avoid paying for transactions that would revert, and specialized systems have been developed to process such transactions outside of the mempool. The first and most popular such system is Flashbots, which is available to the public, but there are others, and several apps are building on top of it. The main benefit so far of the advent of these systems has been an end to the chaotic priority gas auctions and backrunning spam that clogged the network last year. Most blocks this year have had at least one COINBASE transfer, while many have 2 or 3, and some have more. Their frequency has been increasing steadily over time.

Block validators should have the COINBASE account loaded already in order to update its balance with the block rewards, and these increasingly frequent conditional payments justify automatic inclusion into the default access list. If gas should reflect the burden of validation, COINBASE transfers are overpriced, and this proposal should be an easy fix.