EIPs/EIPS/eip-3382.md
Pandapip1 9e393a79d9
Force usage of included LICENSE file (#5055)
* Include LICENCE in the Jekyll build

* Replace old licence link with new and improved licence link

* Add note to EIP-1 mandating the new link

* Maybe this fixes it?

* Rename LICENCE so that jekyll picks it up

* Add original LICENCE file back

* Delete the markdown file

* Add Jekyll header

Hopefully the tooling still detects it as CC0

* Remove Jekyll header

* Maybe this will trick Jekyll and satisfy github?

* Remove config changes

* Enable incremental build

* Will it work if I rename it?

* I'll just paste the content of the licence into the file...

* Perhaps this will work

* Replace the licence file

* Fix false positive

Co-authored-by: Micah Zoltu <micah@zoltu.net>

* Resolve feedback

* Perhaps this might work

* It didn't work

This reverts commit 55116e15168fb20ae57dea97388bb260c0941465.

* Will licencee still detect this correctly?

* Jekyll Preamble in licence file

* Include it?

* Licence -> License, get rid of CC0.md

* Force wording of copyright waiver

* Formatting consistent with the rest of the list

* Spelling

* Escape

* Task failed successfully

* Fix two more links

* Will this render it?

* Perhaps this will work too

* .md essential

* Fix the issues Micah noted

Co-authored-by: Micah Zoltu <micah@zoltu.net>
2022-05-06 00:29:09 -07:00

2.5 KiB

eip title author discussions-to status withdrawal-reason type category created
3382 Hardcoded Block Gas Limit Philippe Castonguay (@PhABC) https://ethereum-magicians.org/t/eip-3382-hardcoded-gas-limit Withdrawn The author prefers [EIP-3756](./eip-3756.md) Standards Track Core 2021-03-13

Simple Summary

Hardcode the block gas limit to 12,500,000 gas per block.

Abstract

Updates the block validation rules such that a block is invalid if the gas_limit header field is not equal to 12,500,000.

Motivation

Both Ethereum's Proof of Work and Proof of Stake designs assume that block producers are financially rational, but does not assume block producers to be benevolent. There is one exception however, and it is when block producers choose the gas limit of a block where it is assumed that block producers care about the long term health and decentralisation of the chain. Indeed, the block gas limit is one of the only parameters in Ethereum that is not dictated by node consensus, but instead is chosen by block producers. This decision was initially made to allow urgent changes in the block gas limit if necessary. Both drastically increasing or decreasing this parameter could have serious consequences that may not be desired. It is therefore a critical parameter that should require node consensus to avoid any sudden harmful change imposed by a small number of actors on the rest of the network.

Specification

Refer to gasLimit as gasTarget post EIP-1559.

Added Consensus Constraint

As of FORK_BLOCK_NUMBER, the header.gasLimit MUST be equal to BLOCK_GAS_LIMIT, where BLOCK_GAS_LIMIT is a hardcoded constant set to 12,500,000.

Rationale

Keeping gasLimit in Block Headers

While it would be possible to remove the gasLimit field from block headers, it would change the data structure to be hashed, which could lead to unintended consequences. It is therefore easier to leave the gasLimit as part of block headers.

Chosen Gas Limit

The 12,500,000 value is being proposed as it's the current block gas limit as of time of writing this EIP. The actual amount could be altered with a subsequent EIP to avoid deviating from the core intent of this EIP.

Backwards Compatibility

This EIP is backward compatible.

Security Considerations

Rapid changes to the gas limit will likely be more difficult to execute, which could be problematic if an urgent situation arise that required changing the gas limit.

Copyright and related rights waived via CC0.