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.
In the near future, we cannot expect that transactions that require more than
2**63gas 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**64in about a month if all miners cooperate and then it could be possible to include a transaction that has a start gas of more than2**64and 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-1over2**64-1is that overflow calculations are much easier to perform if we know that valid gas values always fit 63 bits.