This EIP defines how to optimize processing of priority fees from EIP-1559 fee market transactions.
Priority fees are credited at the end of each transaction, leading to these complications:
Limited parallelization: Each transaction writes to the fee recipient account balance.
Mempool complexities: A transaction sender may become solvent only after prior transactions in a block have been processed.
Accounting complexities: The fee recipient gets hundreds of micropayments for what could logically be a single credit.
Inaccurate logs: Proposals to emit logs on ETH transfers either have to omit priority fees, limiting their usefulness due to inaccuracies, or have to emit an extra entry for each individual fee, making them expensive.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 and RFC 8174.
EIP-1559 priority fees SHALL no longer be credited after each individual transaction. Instead, they SHALL be summed up and credited after all transactions of a block are processed but before EIP-4895 withdrawals are processed.
This EIP is one step towards fully accurate ETH balance logs. Batched crediting of priority fees improves parallel execution of transactions, as a transaction can no longer start with insufficient fees and only become eligible for execution after incremental priority fees have been credited.
The fee recipient now receives priority fees at the end of the block rather than incrementally after each transaction, making it only possible to spend them in the next block. This may require updates to block builder infrastructure and change liquidity requirements for MEV use cases.
No security impact.
Copyright and related rights waived via CC0.