7

Storage costs are now ridiculously smaller than they were when the limit was introduced more than 10 years ago. I am concerned keeping this arbitrary limit set by Satoshi could be holding us back.

Why do we still have a 1MiB block limit?

1

3 Answers 3

8

A block size limit is necessary to avoid a trivial DOS vector. See this answer for some explanations. But from the body of your question it rather seems you are asking why the limit isn't increased.

First of all we should ask the obvious: what for? Such a change comes at the tremendous cost of a hard fork: there is nobody in charge of Bitcoin to say "starting tomorrow blocks can be twice as large". Therefore the upsides of the increase should at least compensate for the cost of a hardfork. I'm not aware of any upside to an increase in the block size limit which i would consider meet this bar.

In addition, there is more costs to a block size increase than the sole use of a hard fork:

  • It would proportionally increase the maximum rate at which the UTxO set can be bloated.
  • It would increase blocks propagation time, most likely leading to further mining pool centralization (see this and this answers for details).
  • It would increase the barrier to entry for running a fully-validating node.

There is also more subjective objections to increasing the block size, which i don't think even need to be considered in this context. These include for instance uncertainty about miners' revenue in a low- or post-subsidy world. Or the fact that fiddling with the block size is tweaking the market for block space which is a can of worms in itself (what is the right value? If it's modified once and some, potentially unrelated, bad things happen there will be a lot of pressure to modify it again).

In conclusion, i believe the block size was never explicitly increased through a hard fork because it does not pass a technical risks/benefits analysis. And the technical community members did not yield to the huge amount of pressure that was once put on them to disregard the costs. At the end of the day, Bitcoin is a system in which all full participants validate, store and broadcast all the onchain transactions of every single other participant. This obviously cannot scale (only) by increasing the number of onchain transactions each participant can make.

4

Because throughout 2012-2015, after Satoshi Nakamoto disappeared, "no hard-forking upgrades" became a de facto social rule of the Bitcoin network (BTC) so old non-upgraded nodes won't become stranded on upgrades. This is why SegWit was the only possible way to increase TPS capacity without breaking UTXO view for old nodes (further increase via soft-forking would only be possible through extension blocks, which would break UTXO view for old nodes).

The other de facto social rule is that node running should be as widely accessible as possible. Thanks to increases in bandwidth and propagation tech such as compact block relay block size limit could be higher without much risk of pool centralization (8 MB should be manageable today and wouldn't 8x the risk of centralization). However, it would mean that bandwidth-limited nodes couldn't keep up or would take too long for initial block download. The Bitcoin network kept the limit low for this reason as well, and current stewardship of the project maintains that decision.

Bitcoin code is free open-source (MIT license) and anyone can fork the code and change the limit for himself. However, he can't force others to accept the changed rules by running such software. What happens if he manages to convince only a subset of the network to run patched node software? A permanent hard fork, and then the forked network has to convince the social / markets layer to give it value, and use the value to bid for mining hashes.

We have seen this play out with main forks of Bitcoin.

See also here for a brief history of the blocksize limit, and here and here for a timeline of events that led to the first permanent fork of Bitcoin.

Note that "Nakamoto Consensus" doesn't decide which blockchain wins the branding / ticker. It is market & social forces which map blockchains to recognized currencies.

0

Actually, the block size limit is no longer 1MB. That changed with the big segWit soft fork. Currently, block size is measured in virtual bytes, not bytes. The current block limit in virtual bytes is 4(v)MB. Looking at the "real" bytes, those 4v(MB) could go to around 3,8MB. However, the average is slightly less than 2MB.

Therefore, the block size has been increased from 1MB.

Here you can see the size of each block together will other related information (purple-blue chain/blocks).

Block #813485 is interesting since it's size is 3.82MB.

1
  • 3
    While this answer correctly challenges the framing and explains how the blocksize was increased, it could be improved by elaborating on why there is a limit in the first place.
    – Murch
    Commented Oct 24, 2023 at 19:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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