2

The Ethereum block limit is currently 30M gas. From what I have read elsewhere, this limit has been ostensibly chosen so as to ensure that processing transactions remains feasible for consumer grade hardware, to ensure that the network can stay highly decentralised.

My understanding of how that works is as follows:

  • All miners have to execute all the transactions in each block that they mine
  • If a miner takes longer to execute their transactions (because they have less powerful hardware), then they end up being "late" to start searching for the PoW hash
  • As a result, they will be at a disadvantage in computing the PoW, and hence on average the probability that they successfully mine the block ends up being less than the expected "proportional" value of their total hashing power vs other miners.
  • This means that the number of blocks mined by a given miner actually scales superlinearly with hashing power, which incentivises centralisation, since e.g. one miner with 10% of the hashing power will mine more blocks than 10 miners with 1% each.
  • The block limit ensures that the "execute all transactions" step is sufficiently trivial for all miners, even those with minimal/basic hardware, that this effect is minimised.

Please correct me if the above description is incorrect or incomplete.

Assuming that I have represented it accurately, this justification seems reasonable in abstract. However, it does not seem to justify the concrete numbers.

Adding two numbers costs 3 gas, so in total, the 30M block limit is sufficient to allow 10M addition operations to be processed per block.

Putting that number in perspective, the GPU in the iPhone 13 is reportedly capable of processing 1.5 TFLOPS, so in theory it can process 1.5T additions per second, meaning that it could get through these 10M additions in 10M / 1.5T ~= 7 microseconds.

The block time is currently 12-14 seconds. That means that 7 microseconds represents approximately 0.000001% of the total block time, suggesting that a miner running on a single iPhone would get at worst 99.999999% of the time to spend hashing vs any other miner. This strikes me as an incredibly small effect, and one that would be entirely dominated by other economies of scale like electricity being cheaper in bulk, or being able to invest in faster network infrastructure to drive down latency.

One might argue that that is in fact the whole point, and proves that the block limit is doing its job. However, if we increased the block limit by say 100x to 3B, the iPhone is still getting 99.9999% of the maximum hashing time, which again seems perfectly sufficient.

Increasing the block limit would also mean that more transactions can fit into each block - particularly more complex smart contract interactions which require more gas.

Assuming that a miner's costs are dominated by the energy cost of computing the PoW hash, allowing more transactions per block would allow that cost to be split between a larger number of transactions, allowing transaction fees to be reduced without compromising the economic incentives for the miners.

So really my question is: what am I missing? Why doesn't Ethereum bump the gas limit to (say) 3 billion? What exactly would be the downsides of doing so?

2 Answers 2

1

Your assumptions are incorrect. Block size limitations have little to do with mining. It all comes down to the state growth problem. You can read more about this in my blog post.

1

You can go look at old blocksize debates for BTC. The argument is the same...there are few free lunches. If you've seen the scalability trilemma, you'll know that there's always a tradeoff between speed/throughput and decentralization and this is no different. Besides the technical challenges that bigger blocks might lead to more forks/miner centralization, an even bigger problem is that your blockchain grows much faster. Need 1 TB to run a node? That's not too bad, but say we 10x the blocksize and it grows to 10 TB? Now you have fewer nodes and validators. This is basically what Solana/EOS did (have data centers as validators). Now you can always parse the chain and make the likelihood of finality slower, but these have tradeoffs too. It's a tough problem, but for the most part ETH tends to fall in line with the idea of not compromising on the decentralization aspect as much as possible.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.