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 Sila’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 Sila 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 SIP-1559.
Added Consensus Constraint
As of FORK_BLOCK_NUMBER, the header.gasLimitMUST 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 SIP. The actual amount could be altered with a subsequent SIP to avoid deviating from the core intent of this SIP.
Backwards Compatibility
This SIP 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.
Philippe Castonguay (@PhABC), "SIP-3382: Hardcoded Block Gas Limit [WITHDRAWN]," Sila Improvement Proposals, no. 3382, March 2021. Available: https://sips.sila.org/SIPS/sip-3382.