Professional Documents
Culture Documents
1(2September2015)
byMichael_S(bitcointalk.org)
OpenPGPKeyID=0xCC7E7C99
AHybridMechanismforAdaptively
AdjustingBitcoin'sBlockSizeLimit
[BIP10X]
ShortOverview
[Version 0.1 - 2 September 2015]
Abstract
This BIP proposes replacing the fixed one megabyte block size limit with a dynamically controlled
block size limit that may increase or decrease in 1 week intervals, depending on different criteria
and constrains. These are:
PDF file for download with Proof of Existence (version 0.1 from 30 August):
https://www.dropbox.com/s/vlo0q5h0mxfb5np/ProofOfExistence_BIP10X_BIP10Y_v01_201
5-08-30_EnvelopeContainer.zip?dl=0
Motivation
Withincreasedadoption,transactionvolumeonBitcoinnetworkisboundtogrow.Iftheone
megabyteBlockSizeLimitisnotchangedtoaflexibleonewhichchangeswithchangingnetwork
demand,BitcoinadoptionwillhamperandBitcoin'sgrowthmayslowdown.Followinggraph
showsthechangeinaverageblocksizesinceinception:
https://blockchain.info/charts/avg-block-size?
timespan=all&showDataPoints=false&daysAverageString=1&show_header=true&scale=0&ad
dress=
1MichaS16UMKFgNjanKrtfD51HpBkqPAwD
[1of5]
Version0.1(2September2015)
byMichael_S(bitcointalk.org)
OpenPGPKeyID=0xCC7E7C99
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
hard-forks 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 the norm, based on market demands and technological evolutions. 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 security by
ruling out sudden swings of the BlockSizeLimit from the start.
So, no overarching control is given to miner votes. Actual block occupancy is taken into
consideration, and after all, fixed long-term (roughly one-to-two year) change rates of the
BlockSizeLimit are avoiding too arbitrary variations.
Finally, the motivation of this BIP is to also have means for elastic reaction to short-term
temporary demands for traffic increase on the Bitcoin network while avoiding mis-use.
Specification
This BIP proposes a combination of several features:
[2of5]
Version0.1(2September2015)
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.1(2September2015)
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.1(2September2015)
byMichael_S(bitcointalk.org)
OpenPGPKeyID=0xCC7E7C99
solutiontoonlyhaveamodificationintheheader],becausethemaximumallowedsizeforablock
dependsoninformationcontainedincoinbasetransactionsfrompreviousblocks(whichmaynotbe
immediatelyknownifblockcontentsarebeingfetchedoutoforderina'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
(samevalueasproposedinBIP101),consensusisreachedandthechangesofthisprotocolwill
activateaftera23weekgraceperiodthatleavesotherminerssufficienttimetoupgradetothenew
protocolversion.
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]