Assumption: This article is for those, who already understand the bitcoin protocol and aware of the block size controversy. Details of the problem statement can be found in BIP 100. Satoshi's opinion regarding block size can be found here. I will be directly going into the solution without explaining the problem in details.
Solution: Difficulty changes at every 2016 block, i.e. at every 2016 block each full node does a calculation to find the next target. We will do just another calculation here. Nodes will also calculate what % of blocks in the last difficulty period is higher than 90% of the maximum block size, which is 1 MB for now. If it is found that more than 90% blocks in the last difficulty period is higher than 90% of the maximum block size, then double the maximum block size. If not, then calculate what % of blocks in the last difficulty period is less than 50% of the maximum block size. If it is higher than 90%, then half the maximum block size. If none of the above condition satisfies, keep the maximum block size as it is.
Please note that, while calculating the % of blocks, it is better to take into account the first 2000 of the 2016, than the whole of 2016. This helps to avoid the calculation mistake if some of the last few blocks get orphaned.
Reasoning: This solution is derived directly from the indication of the problem. If transaction volume increases, then we will naturally see bigger blocks. On the contrary, if there are not enough transaction volume, but maximum block size is high, then only few blocks may sweep the mempool. Hence, if block size is itself taken into consideration, then maximum block size can most rationally be derived. Moreover, this solution not only increases, but also decreases the maximum block size, just like difficulty.
Other Solutions of this Problem:-
Making Decentralized Economic Policy - by Jeff Garzik
Elastic block cap with rollover penalties – by Meni Rosenfeld
Increase maximum block size - by Gavin Andresen
Block size following technological growth - by Pieter Wuille
The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments - by Joseph Poon & Thaddeus Dryja
Please share your opinion regarding this solution below. For mail communication, feel free to write me at bitcoin [at] upalc.com. |