In Bitcoin Classic the block size is no longer limited by rules set by software developers. It is set by you, the person running the software.
This article explains how this works.
Picking the perfect Blocksize
In Bitcoin transactions are gathered in blocks which are structured in a chain. The reason we use a chain is because of the main innovation of Bitcoin which combines it with Proof of Work to have a global consensus about the transactions that are accepted.
The size of this block has never been relevant to this process and we can see that over the lifetime of Bitcoin the size of blocks has grown based solely on the requirements of the network.
Miners have always been the ones to decide on the block size, and they have always done this in a coordinated fashion. This is a natural consequence of the rather elegant (economic) design of Bitcoin.
- Miners earn more fee-based income when they produce bigger blocks.
- Miners take more risk of their blocks being orphaned with bigger blocks.
- Miners want to avoid emptying the memory pool every block as that removes a total need for users to pay fees.
- Miners want to make sure the mempool does not become backlogged because users that do not see their transactions confirmed will get disappointed and find other means to do payments. Which hurts the price and in effect hurts the miners income.
The genius of this balance has the natural consequence that blocks will not be made too big or too small, their size will be based on the amount of paying users and the state of technology. To get the most profit out of the system the miners will have to find a market-equilibrium for the block size. This market equilibrium also happens to be the best for owners and merchants of Bitcoin.
What does Classic do?
Bitcoin Classic has removed the 1 MB centrally planned maximum block size
limits from its software and gives tools to the miners and users to protect
themselves from malicious actors at the same time. We call that the
accept limit
.
Classic will accept blocks produced by all other current implementations of node software, including Core, Unlimited, etc. Blocks produced by Classic will be accepted by all other softwares, including Core, if less than 1 MB and by Unlimited and others but not by Core if blocks created are 1 MB or larger.
Classic will put the user-selected (or default) block size limit in the coinbase message in the form "EB3.7" where the number is the amount of megabytes per block this node accepts.
How do I configure this on my Classic node?
The main change is that a Bitcoin Classic node can now be configured manually to have any block size limit.
First there is the new blocksizeacceptlimit
config setting that
allows a user to limit blocks by size they will accept from the
network. For instance if the user would set blocksizeacceptlimit=4.2
this
states that any block over 4.2MB is rejected as too large.
The existing config option blockmaxsize
is unchanged and this is the option
that miners set to determine the maximum block size they would create.
Way forward
Classic has been in conversation with miners and other Bitcoin companies for some time and the way forward to breaking the 1 MB limit is clearly one where we move the control over the blocksize out of the hands of the software developers and make it a market-set property. That is the most healthy solution going forward.
How this is going to be done is an on-going conversation. It is very optimistic to know that people are in fact talking about how to solve this and in general agreement that it needs solving. Classic is there to make suggestions only, not to dictate policy or make decisions on which solution to pick.
Some things are for certain, a block size increase will happen and the planning and details will be made very public when they have been decided.
Either way, Classic will be part of the movement.