Classic (ETC) blocks specify the maximum amount of gas that can be used to execute their transactions. I will discuss these maxima.
Basics
Block gas maxima are set by miners. Changes cannot by greater than or equal to a factor of 1 / 1024. For example, suppose the parent has a block gas maximum of 10,240. This implies the next block can only have values between 10,231 and 10,249:
10240 + 10240 // 1024 - 1 = 10249
10240 - 10240 // 1024 + 1 = 10231
The only exception is for values below that of the first block, or 5000, which is not allowed.
The sum of the transaction gas requirements, for all blocks, must be less than or equal to the block gas limit. Furthermore, the block gas maximum is also the maximum possible requirement for a single transaction. A transaction using this maximum amount of gas needs to be the only transaction in its block.
Example
Block 7,275,504 has five transactions which together require 7,875,636 unit of gas. This is just under the block gas maximum of 7,875,709.
Debate
There are different opinions regarding the optimal block gas maxima. Some argue that smaller values lead to smaller blocks, less uncles and faster syncing. Small values, therefore, may increase security and decrease centralization. Others argue that larger values lead to greater rewards which may attract more miners. Larger values, therefore, may increase security and decrease centralization!
Conclusion
Block gas maxima limit transactions. These maxima are themselves limited in how quickly they can change. Their values affect the security and level of decentralization of the and so much be chosen carefully.
Feedback
Feel free to leave any comments or questions below. You can also contact me by email at cs@etcplanet.org or by clicking any of these icons:
Acknowledgements
I would like to thank IOHK (Input Output Hong Kong) for funding this effort.
License
This work is licensed under the Creative Commons Attribution ShareAlike 4.0
International License.
Published at Sat, 19 Jan 2019 19:18:53 +0000