Consensus based block size retargeting algorithm (draft)



Summary:

The Consensus based block size retargeting algorithm is a method of altering the Bitcoin protocol maximum allowed block size using a consensus-based approach. The proposal was put forward by BtcDrak in 2015 as a potential way to adjust the block size limit in a democratic way without making it easy to game. One of the motivations behind this proposal is the perception that Bitcoin cannot easily respond to raising the block size limit if popularity suddenly increases due to a mass adoption curve because coordinating a hard fork takes considerable time, and being unable to respond in a timely manner would irreparably harm the credibility of bitcoin. Additionally, predetermined block size increases are problematic because they attempt to predict the future, and if too large could have unintended consequences like damaging the possibility for a fee market to develop as block subsidy decreases substantially over the next 9 years; introducing or exacerbating mining attack vectors; or somehow affecting the network in unknown or unpredicted ways. This proposal introduces a cost to increase the block size, ensuring that the mining community will collude to increase it only when there is a clear necessity and reduce it when it is unnecessary. Rogue miners cannot force their wishes so easily because not only will they have to pay extra a difficulty target, but they can also be downvoted at no cost by the objecting hash power.The initial "base block size limit" shall be 1MB, and miners can vote for a block size increase by signalling the proposed percentage increase of the "base block size limit" in the coinbase field. For the vote to be considered valid, the block they mine must meet a difficulty target, which is proportionally larger than the standard difficulty target based on the percentage increase they voted for. If a miner does not vote, or the vote is invalid, it shall be counted as a vote for no change.Every 2016 blocks, the maximum allowed block size will be recalculated by the average of all votes in the last 2016 blocks. Blocks that are larger than the calculated base block size limit are invalid and MUST be rejected. The maximum change up or down each retargeting period shall be limited to 10% of the base block size limit, and the maximum block size may not increase above 8MB.Votes shall be cast by adding the following human-readable multiplier to the coinbase string “/BXn.nnn/” where valid votes would exist between the ranges “/BX0.900/” (10% decrease) and “/BX1.100/” (10% increase). Invalid votes will be counted as a vote for no change: “/BX1.000/”.The proposal is based on ideas and concepts derived from the writings of Meni Rosenfeld and Gregory Maxwell, and the work is placed in the public domain. The living document is available at https://gist.github.com/btcdrak/1c3a323100a912b605b5.


Updated on: 2023-06-10T20:57:35.276433+00:00