{"type":"rich","version":"1.0","author_name":"npub1lhe3qfx2q5m7mq5d39waepf9lzhsy0cdey66svn63fyk6rt6n7ps7zg7ed","author_url":"https://nostr.ae/npub1lhe3qfx2q5m7mq5d39waepf9lzhsy0cdey66svn63fyk6rt6n7ps7zg7ed","provider_name":"njump","provider_url":"https://nostr.ae","html":"📅 Original date posted:2015-08-28\n📝 Original message:I have received a lot of feedback on the original gist[1], reddit[2],\nML and IRC and have reworked the text somewhat.\n\nI also request the BIP maintainer for a BIP number assignment\n\n[1] https://gist.github.com/btcdrak/1c3a323100a912b605b5\n[2] https://www.reddit.com/r/Bitcoin/comments/3ibia0/bipxx_consensus_based_block_size_retargeting/\n\nPull request: https://github.com/bitcoin/bips/pull/187\n\n\u003cpre\u003e\n  BIP: XX\n  Title: Consensus based block size retargeting algorithm\n  Author: BtcDrak \u003cbtcdrak at gmail.com\u003e\n  Status: Draft\n  Type: Standards Track\n  Created: 2015-08-21\n\u003c/pre\u003e\n\n==Abstract==\n\nA method of altering the maximum allowed block size of the Bitcoin protocol\nusing a consensus based approach.\n\n==Motivation==\n\nThere is a belief that Bitcoin cannot easily respond to raising the\nblocksize limit if popularity was to suddenly increase due to a mass adoption\ncurve, because co-ordinating a hard fork takes considerable time, and being\nunable to respond in a timely manner would irreparably harm the credibility of\nbitcoin.\n\nAdditionally, predetermined block size increases are problematic because they\nattempt to predict the future, and if too large could have unintended\nconsequences like damaging the possibility for a fee market to develop\nas block subsidy decreases substantially over the next 9 years; introducing\nor exacerbating mining attack vectors; or somehow affect the network in unknown\nor unpredicted ways. Since fixed changes are hard to deploy, the damage could be\nextensive.\n\nDynamic block size adjustments also suffer from the potential to be gamed by the\nlarger hash power.\n\nFree voting as suggested by BIP100 allows miners to sell their votes out of band\nat no risk, and enable the sponsor the ability to manipulate the blocksize.\nIt also provides a cost free method or the larger pools to vote in ways to\nmanipulate the blocksize such to disadvantage or attack smaller pools.\n\n\n==Rationale==\n\nBy introducing a cost to increase the block size ensures the mining community\nwill collude to increase it only when there is a clear necessity, and reduce it\nwhen it is unnecessary. Larger miners cannot force their wishes so easily\nbecause not only will they have to pay extra a difficulty target, then can be\ndownvoted at no cost by the objecting hash power.\n\nUsing difficulty as a penalty is better than a fixed cost in bitcoins because it\nis less predictable.\n\n\n==Specification==\n\nThe initial block size limit shall be 1MB.\n\nEach time a miner creates a block, they may vote to increase or decrease the\nblocksize by a maximum of 10% of the current block size limit. These votes will\nbe used to recalculate the new block size limit every 2016 blocks.\n\nVotes are cast using the block's coinbase field.\n\nThe first 4 bytes of the coinbase field shall be repurposed for voting as an\nunsigned long integer which will be the block size in bytes.\n\nIf a miner votes for an increase, the block hash must meet a difficulty target\nwhich is proportionally larger than the standard difficulty target based on the\npercentage increase they voted for.\n\nVotes proposing decreasing the block size limit do not need to meet a higher\ndifficulty target.\n\nMiners can vote for no change by voting for the current block size.\n\nFor blocks to be valid the blockhash must meet the required difficulty target\nfor the vote otherwise the block is invalid and will be rejected.\n\nEvery 2016 blocks, the block size limit will be recalculated by the median of\nall votes in the last 2016 blocks. This will redefine the block size limit for\nthe next 2016 blocks.\n\nBlocks that are larger than the calculated base block size limit are invalid and\nwill be rejected.\n\nThe base block size limit may not reduce below 1MB.\n\n\n==Acknowledgements==\n\nThis proposal is based on ideas and concepts derived from the writings of\nMeni Rosenfeld and Gregory Maxwell.\n\n\n==Copyright==\n\nThis work is placed in the public domain."}
