Skip to content

Upper bound for block gas limit #106

Description

@chriseth

In the near future, we cannot expect that transactions that require more than 2**63 gas will be practically verifiable because they will either take too much time or too much memory. This means that for all practical reasons, code that deals with gas costs can be done with 64 instead of 256 bit arithmetics, which is much faster on present architectures. During our EVM performance analysis that is currently underway, we noticed that gas requirement calculations use up a considerable amount of execution time and thus, large improvements could be achieved.

The only problem with this is that the block gas limit can be moved up as far as 2**64 in about a month if all miners cooperate and then it could be possible to include a transaction that has a start gas of more than 2**64 and potentially even use up all of the gas at a gas price of 0.

In order to prevent this rather theoretical problem, we should change the block gas limit adjustment formula to not only include a minimum value but also a maximum value of 2**63-1.

The reason to choose 2**63-1 over 2**64-1 is that overflow calculations are much easier to perform if we know that valid gas values always fit 63 bits.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions