Set an in-protocol cap for the gas limit of 30,000,000.
Motivation
A high gas limit increases pressure on the network. In the benign case, it
increases the size of the state and history faster than we can sustain. In the
malicious case, it amplifies the devastation of certain denial-of-service
attacks.
Specification
As of the fork block N, consider blocks with a gas_limit greater than
30,000,000 invalid.
Rationale
Why Cap the Gas Limit
The gas limit is currently under the control of block proposers. They have the
ability to increase the gas limit to whatever value they desire. This allows
them to bypass the EIP and All Core Devs processes in protocol decisions that
may negatively affect the security and/or decentralization of the network.
No Fixed Gas Limit
A valuable property of proposers choosing the gas limit is they can scale it
down quickly if the network becomes unstable or is undergoing certain types of
attacks. For this reason, we maintain their ability to lower the gas limit
below 30,000,000.