mirror of
https://github.com/status-im/EIPs.git
synced 2025-02-23 20:28:21 +00:00
Hardcoded Gas Limit (#3382)
Hardcode the block gas target to `12,500,000` gas per block.
This commit is contained in:
parent
f6f6fe8c57
commit
02ebc15d7e
50
EIPS/eip-3382.md
Normal file
50
EIPS/eip-3382.md
Normal file
@ -0,0 +1,50 @@
|
||||
---
|
||||
eip: 3382
|
||||
title: Hardcoded Block Gas Limit
|
||||
author: Philippe Castonguay (@PhABC)
|
||||
discussions-to: https://ethereum-magicians.org/t/eip-3382-hardcoded-gas-limit
|
||||
status: Draft
|
||||
type: Standards Track
|
||||
category: Core
|
||||
created: 2020-03-13
|
||||
---
|
||||
|
||||
## Simple Summary
|
||||
|
||||
Hardcode the block gas limit (known as *block gas target* under [EIP-1559](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md)) to `12,500,000` gas per block.
|
||||
|
||||
## Abstract
|
||||
|
||||
Ethereum's block gas limit is currently dictated by block producers and is not enforced when validating blocks in clients. This EIP proposes to hardcode the block gas limit 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
|
||||
|
||||
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
|
Loading…
x
Reference in New Issue
Block a user