Académique Documents
Professionnel Documents
Culture Documents
2(4September2015)
byMichael_S(bitcointalk.org)
OpenPGPKeyID=0xCC7E7C99
AHybridMechanismforAdaptively
AdjustingBitcoin'sBlockSizeLimit
[BIP10X]
ShortOverview
[Version 0.1 / 2 Sept 2015 Version 0.2 / 4 Sept 2015]
Abstract
This BIP proposes replacing the fixed one megabyte block size limit with a dynamically controlled
block size limit that may increase or slowly decrease in 1 week intervals, depending on different
criteria and constrains. These are:
Motivation
Withincreasedadoption,transactionvolumeonBitcoinnetworkisboundtogrow.Iftheone
megabyteBlockSizeLimitisnotchangedtoaflexibleonewhichadaptstochangingnetwork
demandandtechnologicalprogress,BitcoinadoptionwillslowdownandtheBitcoinexperiment
mayeventuallyfail.Followinggraphshowsthechangeinaverageblocksizesinceinception:
https://blockchain.info/charts/avg-block-size?
timespan=all&showDataPoints=false&daysAverageString=1&show_header=true&scale=0&ad
dress=
The intention of this BIP is to permanently incorporate miner voting into the protocol instead of
doing de-facto voting within a protocol that does not actually support voting, by introducing hardforks into the network and let miner majority decide upon acceptance (=de-facto voting).
Integrating voting into the protocol should appease the minds and make future adaptations of the
BlockSizeLimit within the protocol the norm, based on market demands and technological
evolution. It should give planning security to all stakeholders, while developers can re-focus on
other important improvements. Constraints and growth rate limits shall further improve planning
1MichaS16UMKFgNjanKrtfD51HpBkqPAwD
[1of5]
Version0.2(4September2015)
byMichael_S(bitcointalk.org)
OpenPGPKeyID=0xCC7E7C99
Specification
This BIP proposes a combination of several carefully designed features:
[2of5]
Version0.2(4September2015)
byMichael_S(bitcointalk.org)
OpenPGPKeyID=0xCC7E7C99
ratesof+41%p.a/8%p.a.(i.e.factorx2each2years,factorx0.5each8years).
Incaseof80%votemajority,morerelaxedconstraintsareappliedtothelongtermevolution:In
thiscasethelimitsare+100%p.a/16%p.a.(i.e.factorx2each1years,factorx0.5each4years).
Rationale
Rationale Part 0: Miner Voting for Initial BlockSizeLimit to Start with
InsteadoffixingthestartBlockSizeLimitupfront,itismoreconsistentwiththeoverallideatoleave
thisdecisionstotheminers.Limitsof1to4MBaresettoavoidmisuse.The80%requirementis
chosentorespecttheneedsofmoreconservativeminersforthisinitialirrevocabledecision.
1MichaS16UMKFgNjanKrtfD51HpBkqPAwD
[3of5]
Version0.2(4September2015)
byMichael_S(bitcointalk.org)
OpenPGPKeyID=0xCC7E7C99
Rationale Part 2: Average Actual Block Size During the Voting Period
Thisconstraintisproposedbecauseminervotesshouldnotstandagainstreality.Thisisareality
check,soifminersproducealmostemptyblocksandatthesametimevoteforanincrease,orif
minersproducealmostfullblocksbutvoteforadecrease,thisisconsideredinconsistentbythe
protocol.Inthiscase,theactualblocksizetakesprecedenceovertheminersvote.
Notethatinasensethesearealsominervotes,becauseitisuptotheminerstodecidehowmucha
blockgetsfilled.
[4of5]
Version0.2(4September2015)
byMichael_S(bitcointalk.org)
OpenPGPKeyID=0xCC7E7C99
solutiontoonlyhaveamodificationintheheader],because[withBIP100]themaximumallowedsize
forablockdependsoninformationcontainedincoinbasetransactionsfrompreviousblocks(whichmay
notbeimmediatelyknownifblockcontentsarebeingfetchedoutoforderina'headersfirst'mode)
WiththisBIP'sapproachtoincludethevote(andothernewinfos)intheheader'sversionnumber
field,thisdisadvantageisavoided.
Theversionnumberfielditselfhas32bits,whichismuchmorethanwhatisactuallyneeded.
Hence,2unusedbytesofthisfieldcanbeusedforthisBIP'spurposeswithoutanynegativeside
effects.
Compatibility
ThisisahardforkingchangetotheBitcoinprotocol.Anybodyrunningcodethatfullyvalidates
blocksmustupgradebeforetheactivationtimetobeabletoworkontheminermajority'slongest
chain.
SPVwalletsarenotaffectedandrequirenochangeorupdate.
Deployment
SWcompliantwiththisBIPcanbedeployedanytime.Assoonasa75%supermajorityisachieved
(samepercentageasproposedinBIP101),consensusisreachedandthechangesofthisprotocol
willactivateaftera23weekgraceperiod,leavingotherminerssufficienttimeforupgradingtothe
newprotocolversion.
BIP100(v0.8.1)byJeffGarzik,http://gtf.org/garzik/bitcoin/BIP100
blocksizechangeproposal.pdf
BIP101byGavinAndresen,https://github.com/bitcoin/bips/blob/master/bip0101.mediawiki
BIP102byJeffGarzik,https://github.com/bitcoin/bips/pull/173/files
BIP103(?)byPieterWuille,https://gist.github.com/sipa/c65665fc360ca7a176a6
BIP1xxDynamicallyControlledBitcoinBlockSizeMaxCapbyUpalChakraborty
https://github.com/UpalChakraborty/bips/blob/master/BIPDynamicMaxBlockSize.mediawiki
ElasticblockcapwithrolloverpenaltiesbyMeniRosenfeldhttps://bitcointalk.org/index.php?
topic=1078521.0
Further References:
BitcoinNetworkCapacityAnalysisPart4:SimulatingPracticalCapacity
https://tradeblock.com/blog/bitcoinnetworkcapacityanalysispart4simulatingpractical
capacity
Asummaryofblocksizehardforkproposals,
https://lists.linuxfoundation.org/pipermail/bitcoindev/2015July/009808.html
1MichaS16UMKFgNjanKrtfD51HpBkqPAwD
[5of5]