The Bitcoin block size limit is a parameter in the Bitcoin protocol that limits the size of Bitcoin blocks, and therefore the number of transactions that can be confirmed on the network approximately every 10 minutes. Although Bitcoin was launched without this parameter, Satoshi Nakamoto, who is still the lead developer of the project, added a further 1 MB block size limit. This converts to around three to seven transactions per second, depending on the size of the transaction.
In 2017, Bitcoin's block size limit was replaced by a block weight limit of 4 million "weight units". This changes the way data in a block is "counted": some data is heavier than others. Perhaps more importantly, it also represents an increase in the effective block size limit: bitcoin blocks now have a theoretical maximum size of 4 megabytes, and a more realistic maximum size of 2 megabytes. The exact size depends on the type of transaction contained.
Why is the block size limit controversial?
Block size limits are controversial because there is disagreement as to whether such limits "should" be part of the Bitcoin protocol, and whether and how large they should be.
Satoshi Nakamoto has never publicly stated why he added a block size limit to the Bitcoin protocol. It is speculated that he intended it as an anti-spam measure to prevent attackers from overloading the Bitcoin network with artificially large Bitcoin blocks full of forged transactions. There is also speculation that he intended it as a temporary measure, but it is unclear how he foresaw that the block size limit would be increased or removed on a temporary basis or under what conditions. The code to enforce the block size limit itself is certainly not temporary.
A few years after Satoshi Nakamoto left the project, developers and users began to reach a consensus on the timeliness and necessity of block size limits. As the Bitcoin user base grew, some felt it was time to increase or raise the block size limit altogether, especially before Bitcoin blocks started filling up with transactions. Others believe that the block size limit represents an important security parameter for the protocol, and argue that it should not be removed, or at least that it should be removed more conservatively. Still others argue that the 1 megabyte set by Satoshi Nakamoto is actually too large, and therefore argue for a reduction in the block size limit.
Because Bitcoin is decentralised, it adds more complexity and there is no specific group or individual responsible for decisions such as increasing or decreasing the block size. The disagreement over how such decisions should be made, by whom or at all, has caused at least as much controversy as the block size limit itself, but this aspect of the debate is beyond the scope of this paper.
Why can't bitcoin blocks be too small?
Note: There is almost always debate about the block size limit on Bitcoin and the risks of it being too big or too small, but these are some of the more general arguments.
If bitcoin blocks are too small, the bitcoin network will not be able to handle many transactions. In a broad sense, proponents of increasing the block size limit argue that this will have two negative effects.
Not enough empty space?
Firstly, smaller bitcoin blocks would mean that there wouldn't be enough space to include everyone's transactions in those blocks, and a "bidding war" for transaction fees to ensure that transactions are confirmed would put most people off bitcoin altogether. Instead, this could lead to a future in which only bank-like institutions can transact with each other, while the average user has an account with one of these institutions. In turn, this would open the door to fractional reserve banking, transaction censorship, and many of the traditional financial problems that many in the bitcoin industry would like to get rid of.
Blocking adoption
Secondly, this may be a more pressing concern for many "big blockers". Because the blocks are so small, users will simply abandon bitcoin altogether. Perhaps users will switch to competing cryptocurrencies, or they will give up on the technology altogether.
Why should bitcoin blocks not be too big?
Note: There is almost always debate about Bitcoin's block size limit and the risks of it being too big or too small, but these are some of the more common arguments.
Opponents of increasing the block size limit ("small blockers") argue that there are three risks if blocks are too large, each with a number of "sub-risks" and nuances.
Increased cost of bitcoin nodes
The first of these risks is that larger blocks increase the cost of operating a Bitcoin node. It adds to this cost in four ways.
1. as the blockchain grows faster, this increases the cost of storing the blockchain.
2. downloading and uploading all transactions and blocks of data increases the cost of bandwidth.
3. This increases the CPU cost required to validate all transactions and blocks.
4. The larger the total number of blockchains, the longer it takes to bootstrap a new node on the network: it must download and validate all past transactions and blocks.
If the cost of operating a Bitcoin node is too high, and users have to use a lightweight client, they will no longer be able to verify the validity of the transactions they receive. For example, they could receive a transaction from an attacker that creates coins out of thin air. Without knowing the entire history of the Bitcoin blockchain, it is impossible to tell the difference. In this case, the user will only discover that their coins are forged when they try to spend them later. Even if the user does confirm that the block that includes the transaction has been fully mined, the miner may collude with the attacker.
This could pose an even greater risk if, as time passes, so few users choose to run bitcoin nodes that fraudulent coins are discovered too late or not at all. In that scenario, the Bitcoin protocol itself would actually be affected by the changes imposed by miners. Miners can increase the supply of coins or spend coins they don't own. Only a healthy ecosystem with a large number of users verifying their transactions can prevent this.
In the Bitcoin white paper, Satoshi Nakamoto acknowledges these problems and suggests that light clients can be secured by a technical solution called "proof of fraud". However, he does not elaborate on the exact meaning of these proofs of fraud, and so far, no one has been able to figure it out.
Centralization of mining
The second risk of larger blocks is that they could lead to mining centralization. Whenever a miner finds a new block, it sends that block to the rest of the network, and under normal circumstances, larger blocks take longer to find their way to all the other miners. However, when the block finds its way, the miner who finds it can immediately start mining it himself at the top of the new block, which gives him a lead in finding the next block. The larger miner (or pool) finds more blocks than the smaller miner and thus gains more of a lead. This means that smaller miners will be less profitable and will eventually lose their competitive edge, leading to a more concentrated mining ecosystem. If mining becomes too concentrated, certain miners could end up in a position where they can attack the network51.
That said, this is probably the most complex, nuanced argument for smaller blocks. For one thing, even large miners have an incentive to discourage the creation of blocks that are too large: while they could benefit from a lead, too much delay could hurt them, as competing blocks could move through the network faster and other miners would instead mine on that block. There are also technical solutions that can speed up block relaying and also provide some technical solutions to limit the damage caused by mining centralization itself, but these solutions need to be weighed against trade-offs.
Lower overall subsidies may lead to lower network security
A third and final risk of large block transactions is that they may inhibit users' incentives to increase transaction fees. As long as block space is limited, users will have to bid against each other to include their transactions in blocks, and as Bitcoin's block subsidy decreases, this will have to become a more important part of the block reward to support Bitcoin's security model. There is no block size limit and this incentive will be removed. While individual miners would still have the option to include only the minimum fee, other miners would still have an incentive to include transactions below that threshold, thus ultimately reducing the fee incentive.
The careful reader will note that the last argument applies particularly to both approaches. While "big blockers" see high fees as a problem because they make Bitcoin less attractive, "small blockers" see high fees as a boon because it will benefit Bitcoin's security.
Will Bitcoin Core developers increase the block size limit?
Bitcoin Core is the primary Bitcoin implementation used on the Bitcoin network today. As such, many "big blockers" have been looking for Bitcoin Core developers to implement increases.
With the Segregated Witness protocol upgrade, Bitcoin Core developers did indeed increase the block size limit. By replacing it with a block weight limit, blocks now have a theoretical limit of 4 megabytes and a more practical limit of 2 megabytes. Cleverly, this is a backwards-compatible upgrade to the soft fork protocol, meaning that users can choose to change it without having to split the network. However, precisely because this is a soft branch, rather than the hard branch that many "big blockers" dislike, they sometimes don't "count" for this increase at all, as the block size limit increases completely.
In fact, Bitcoin core developers have not yet deployed block size limit increases via hard forks, which are backwards incompatible protocol upgrades. This would either require a consensus of all Bitcoin users or potentially split the Bitcoin network in two: a version of Bitcoin with the current block weight limit and a version of Bitcoin with the increased block size/weight limit. Users of the current block-weight-limited version of Bitcoin may not even consider the hard-forked version of Bitcoin to be "Bitcoin" at all. They may refer to it as a "Bitcoin Core Coin" or something similar.
Perhaps more importantly, the current group of Bitcoin core contributors does not seem to want to dictate the rules of the Bitcoin protocol, nor do they want to split the network. As such, they are unlikely to deploy a hard fork across the Bitcoin user base without a broad consensus to upgrade such a protocol. Given the contentious nature of the block size/weighting parameters, such a consensus is unlikely to form soon, but may happen in the future.
Alternative solutions
There are alternative solutions to increasing Bitcoin's block size limit, such as extended blocks, and solutions that can achieve similar functionality, such as "big block" sidechains. It is unclear whether any of these solutions will be available soon. The current focus seems to be more on "second layer" scaling solutions, such as the Lightning Network.