Search
  • Benjamin de Waal

The Bitcoin Block Size Debate

Updated: Dec 27, 2020

What is the Block Size Debate?

Bitcoin uses a blockchain. This is a data structure that records blocks of transactions in a special way that – combined with the proof-of-work security mechanism – ensures that it’s essentially impossible to go back and change transactions in the past, enabling scarcity in a digital good without requiring a centralised authority.

The blockchain must be replicated across all nodes of the network – the more the better – in order to ensure that no one is cheating. After all, if there were only one copy of the blockchain, there would be no way to actually verify it yourself, and you’d have to rely on the person you’re asking about its state not to lie to you.

The “Block Size Debate” is an ongoing argument about what the “right size” for the maximum data allowed in a block in the blockchain is and whether or not it should be changed from the current value. There are many different opinions which can mostly be summed up as one of the following four, summarised with their main common arguments:

  1. “It has to be made smaller”:

  2. It is currently too difficult to many people to run a node effectively.

  3. Miners are discouraged from participating due to low on-chain transaction fees.

  4. Adoption of off-chain scaling technologies is discouraged by having low on-chain transaction fees.

  5. “It has to be kept as is”:

  6. Change is dangerous, don’t do it without a good reason (which has not been presented yet by the other arguments).

  7. Adding additional systems without changing the underlying system is safer and so if such solutions can be created, they should be considered first.

  8. “It has to be made larger, but not too large”:

  9. It is currently too expensive to make on-chain transactions which discourages adoption.

  10. Off-chain scaling technologies don’t work and/or aren’t secure (yet) and so scaling must happen on-chain (for now).

  11. Non-mining nodes don’t do anything useful for the network, so only miners need to run nodes and they have enough bandwidth/hardware/etc for larger blocks.

  12. “It can be unlimited”:

  13. It is currently too expensive to make on-chain transactions which discourages adoption.

  14. Off-chain scaling technologies are unnecessary whether they work or not since everything can be done on-chain which is more secure.

  15. Non-mining nodes don’t do anything useful for the network, so only miners need to run nodes and they have enough bandwidth/hardware/etc for larger blocks.

Note that the arguments for positions 3 and 4 are similar, but not identical. Position 3 may or may not accept off-chain solution as a future, but do see a need for a limit, agreeing with positions 1 and 2 that unlimited is not possible; whereas position 4 sees no need for a limit and therefore no need for other scaling technologies.

How to Approach the Debate

In a philosophical consideration, the null hypothesis is considered the default position until such time as a claim has sufficient evidence for it to be considered as the most likely description to match reality.

In considering changes to a running system, a similar approach can be employed. In this, the null hypothesis is the null action, that of no change. Evidence must be provided to show that the change is the most likely approach to have the most positive effect on the system compared to other approaches offered. That includes a comparison to the null action, as changes may in some cases be detrimental. This initial philosophical approach lends support to position 2.

Before we can even start to form a more detailed or nuanced opinion on the Block Size Debate, we need a better understanding of what the maximum block size influences as well as how blocks are filled.

Running a Node

New blocks are added to the blockchain on average once every ten minutes. Each node on the network will – on average – receive the new block from one other node, and send it to one other node. Additionally, each node will receive and send on each transaction that makes it in to a block once in addition to the block as they are propagated across the network separately. Each node also has some ‘chatter’ to communicate information with other nodes about whether or not it has already seen specific blocks or transactions as well as communicating with SPV (Simplified Payment Verification) wallets and other systems. Ignoring all the chatter, we can say that each node needs to deal with incoming and outgoing traffic of around twice the block size every ten minutes, plus additional storage of the block size added every ten minutes. There are also CPU requirements for verifying blocks, but to keep this analysis simple for the moment, we’ll ignore that.

It’s not an unreasonable argument that in most of the western world, existing storage capacities and existing home internet connections can handle four to eight times the current block size. This would seem to be an argument in favour of position 3.

However, Bitcoin is global and there are certainly internet connections that cannot handle this volume of traffic and nodes run on systems where storage space is a significant expense to the owner. In most of the world, running a Bitcoin node on a mobile phone isn’t practical or even possible. This would seem to be an argument in favour of position 1.

Regardless of where your position lies with regards to the necessary resources for storing and transmitting the data, it is obvious that an increase in block size is inherently an increase in the cost of managing the data, even if it is within the capability of all those who should/could do so.

This then leads us naturally to next examine the claims that it would be helpful to increase the block size and would be harmful to decrease it or leave it as it is. If there is an inherent increase in the cost, then there must be an increase in the utility to match or exceed this cost, no matter how trivial it may be.

Filling Blocks

Something that is often misunderstood is that as long as the Bitcoin blockchain is viewed as an immutable and permanent record, blocks will always be filled to capacity according to the cost of doing so. It is possible to put anything you want in an on-chain “transaction” – it need not actually be a financial transaction.

This means that the natural result of it costing less to store data is that more people will store data until it no longer costs less.

Consider for example, these two Bitcoin Transaction IDs (examined on your own copy of the blockchain or a public blockchain explorer as linked here):

  1. 014f45b89536549ca8a2b1c2c1fd5975c1e9a53953d942fd79787221f4c11fb5

  2. 98a30833872324d6b3bda17b02cc25bffc81ed39fd35526d7759985c85ce7eb1

Here you can see that the OP RETURN values of the transactions contain notes.  These were written by myself for my children.  I did it because I could and it cost me essentially nothing.  If it were to cost me the equivalent of $100, I might still have done something like it as a special one-time thing for my children, but it’s much less likely I would do it simply on a whim. If it were to cost the equivalent of $100000, I can’t imagine that I’d want to do it at all.

Some people may see this usage and complain that I’m the problem by using the blockchain inappropriately; that it’s not “made for” writing notes to my kids.  But that complaint is failing to understand that in a decentralised system, people can and will use it however they want, regardless of what you or I think is the “right way”.  If you don’t want people writing messages to the blockchain to be stored for all eternity, you must make it expensive to write data to the blockchain for all eternity.  There will still be messages, but they’ll be appropriately paid for.

This argument supports positions 1, 2, and 3, while completely ruling out position 4 as a viable option. If transactions are “as cheap as possible” then any data can be stored for the same price as any other set of transactions of equivalent size to that data. I can say with some certainty that if I could immutably store all my long-term data such as photo albums and similar (with whatever encryption I like to ensure that no one else can ever access it) for less than I would pay Apple, Google, Microsoft, DropBox or any of the other cloud storage providers over my lifetime for the same amount of storage then of course I would do so. Unlimited block size on an immutable ledger intended for financial transactions is an offer of unlimited data storage at next to no cost to the user.

Further, increasing the block size will solve nothing. Making it four to eight times larger would only mean we have four to eight times the amount of data being produced that needs to be stored and transferred around without providing any real benefits at all. Even if all nodes could handle doing so, if it brings no benefits, there is no valid reason do so.

By supporting both position 1 and 3 simultaneously, no clear argument can be made to increase or decrease the size, again supporting position 2 more strongly.

Here it’s important to clarify what the word “transaction” means in the context of the blockchain. It simply means “an entry written to the blockchain for eternity”. It doesn’t mean that people who can’t afford to – or simply don’t want to – pay the transaction fee can never transact bitcoin between themselves and someone else.

As long as off-chain transactions are a viable option, it instead simply means that lower-value transactions should be aggregated with others by an abstraction layer so that the fees paid for the underlying blockchain transactions – while large – are spread sufficiently amongst enough real-world activity (that isn’t written permanently to the blockchain) that it is economically viable for each of these real-world transactions to happen. The fee paid by each individual real-world transaction will always remain at a low enough level as to be acceptable (by definition; since otherwise no one would do it).

Fee Markets

The term “a healthy fee market” is often seen in the Block Size Debate.

A fee market is competition for block space in terms of how much people are willing to pay for that space. It is important to remember that the transaction fee is entirely chosen by the creator of the transaction and is not demanded by the miner or the network.

In terms of financial transactions, everyone must consider that their transaction’s value in comparison to the other transactions that are waiting to be added to a block. If enough other transactions are valued higher than yours – as determined by the fee you chose to pay compared to the fee that others chose to pay – it won’t be added by a miner in the next block.

A miner’s reward for finding a block comes in two parts. The block subsidy and the transaction fees. The block subsidy is the release of new Bitcoin to the supply. This was initially 50 BTC per block, but halves every 210000 blocks (approximately 4 years). It has halved twice as of the time this was written and so is 12.5 BTC per block. The next halving event will occur around the middle of May 2020. This will continue until around the year 2140, when rounding the final satoshi down leaves a subsidy of exactly zero.

Well before the mining subsidy disappears, it will be inconsequentially small. Transaction fees currently only make up a small percentage of the total reward but even without any increase in fees, will be significant in only three more halvings and the majority of a miner’s income two halvings later. If Bitcoin adoption increases, fees can also be expected to increase also, potentially making fees the majority of a miner’s income even sooner.

Economically Active Nodes

It is argued that nodes that do not mine are not necessary. The counter-argument is that economically active nodes ensure that the rules of Bitcoin are properly decentralised. What does this counter-argument mean?

When transactions or blocks are broadcast across the network, they are validated by the nodes that receive them before passed on to other nodes. If they are invalid according to the rules of that node, they will not be passed on.

Because Bitcoin forms a mesh-network however, a node that runs significantly different rules to everyone else around it will simply be routed around. The fact that it doesn’t validate blocks and transactions isn’t meaningful. Unless of course, those transactions originate from that node. When the node is the originator of a transaction, it is economically active. If no other nodes accept transactions from it, then transactions that it tries to send will not be forwarded. Therefore, it is in the interest of each node to agree with the rules of at least some of the nodes around it and at least enough for its transactions to be forwarded by those nodes.

This also works in reverse. If a node is responsible for providing information to the wallet of the intended recipient of a transaction, it is also economically active. When the transaction is received but considered invalid by that node, it will never be seen by the wallet. This means that it’s also in the interest of each receiver to ensure that they agree with the rules of those who they are likely to financially interact with.

The ultimate outcome of this is that although rules are determined individually and no participant in the network can force rules on any another, each participant is encouraged to agree with the majority of other economically active participants. This is why Bitcoin is referred to as having consensus rules. Politically, it can be seen as a form of social anarchism rather than as a democracy as it is often portrayed.

It is sometimes argued that economically active participants that have disproportionately large shares of the economic activity are more influential. This is a fallacy. Although it’s true that a large player such as an exchange can decide on the rules for all of the users that it is holding the funds for, if they are unable to broadcast any transactions, the users will demand that they follow consensus in order for there to be continued business. The exchange may argue that their rule change is for the benefit of all and “if you want your money, you’ll agree” but as the customers of the exchange and the node operators on the network at most only have a very small overlap, this is not going to work in the exchange’s favour.

As this relates to increasing the block size, it should now be clear that since increasing the block size increases cost, nodes run by those with the least financial ability to do so will be the first to turn off, while those that are more financially capable can keep running them. Put more simply and directly: the larger the block size, the richer you have to be to run a node. This is inherently dangerous, since it means that that minority (people rich enough to run nodes) can then make decisions about network behaviour that may go against the wishes of the majority (who can no longer run nodes to enforce the rules they consider fair).

We can reconsider the example of the exchange as a node operator with a lot of financial resources. If they are in an environment where only themselves, other exchanges, and a few large businesses are capable of running nodes, they will have a significantly easier time enforcing their will than they do under the current environment.

It can be seen very clearly from this argument that non-mining nodes are not only important actors in the network but in fact play an even stronger role in setting the rules of the network than miners due to the rules’ consensus nature.

This argument therefore strongly supports position 1 or 2.

Off-Chain Scaling

A detailed analysis of whether off-chain scaling is feasible or not is outside the scope of this analysis, since there are many different approaches each with their own advantages and disadvantages.

As it is an active area of development by a large group of talented developers and companies that have invested significant time and money in to making it work, it would be disingenuous to dismiss it out of hand.

Equally however, as no off-chain scaling method is yet wide-spread, it could be argued that these are unproven technologies and scaling approaches should not be built around things that aren’t yet proven to work.

Taking these two arguments at face value, again we can only support the null action position 2 as the data appears inconclusive.

I intend to create a more detailed analysis of off-chain scaling technologies in the future.

Conclusion

After examining the economic and technical arguments, we find that:

  1. Position 1 may have some merit, but that many arguments in its favour are also in favour of position 3 which is an opposite approach and so has not yet met its burden of proof.

  2. Position 3 has a few arguments in its favour, but less so and – similarly – shares arguments with the position for the opposite approach. Position 3 can therefore be considered poor until further arguments can be made in its favour.

  3. Position 4 is a non-starter and can be discarded entirely.

  4. Position 2 – as the null action position – is the most defensible position in the absence of further evidence.

2 views0 comments

Recent Posts

See All