Transaction volume is approaching the one-megabyte blocksize limit. We will never reach that limit, because several things will happen as we get close:
- Transaction confirmation times for transactions with a given fee will rise; very-low-fee transactions will fail to get confirmed at all.
- Average transaction fee paid will rise
- People or applications unwilling or unable to pay the rising fees will stop submitting transactions
- People and businesses will shelve plans to use Bitcoin, stunting growth and adoption
That will be a major economic shift from the status-quo of low transaction fees. See the preliminary BIP100 proposal: http://gtf.org/garzik/bitcoin/BIP100-blocksizechangeproposal.pdf for more discussion.
There is rough (but not 100%) consensus that at some point fees will rise "high enough" that the 1MB blocksize limit will have to be raised, but no consensus on what that point should be and no consensus on any process to determine what that point should be.
BIP 101 and the changes in this pull request are intended to keep the economic status quo (and keep Bitcoin growing) while acknowledging the engineering reality that networks do not have infinite bandwidth.
I addressed technical objections in a series of blog posts at http://gavinandresen.ninja/time-to-roll-out-bigger-blocks .
Any consensus rule change should have thorough code review and time for testing, so I am submitting this code now so that it has thorough code review and testing before transaction volume gets closer to the one megabyte limit.
Higher-level discussions on the merits of BIP 101 versus other proposals belongs on the bitcoin-dev mailing list (which just moved: https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev )-- please limit the conversation here to discussion of the code changes, and rest assured these changes will not be pulled into Bitcoin Core unless there is consensus around BIP 101.