A brief history of the Bitcoin block size war

in #bitcoin2 years ago (edited)

I've already made some posts on this topic; there is currently a schism in the Bitcoin community - although most Bitcoiners have common visions, there is much hostility on how to deal with the current capacity crisis. Currently the community is divided, I call one camp the "small-blockers" and the other block the "big-blockers". Although I'm trying to keep this objective, it will probably shine through that I'm a moderate big-blocker with a preference for the SegWit2X "compromise".

Here is a brief history of the attempts on getting the block size limit increased:

Early history

  • In 2009 Satoshi introduced a 1 MB block size limit. The biggest blocks at that time was some few kilobytes big. There exists no official documentation on why the limit was introduced, no comments in the code explaining the rationale, and this limit was committed together with a batch of other changes. Gavin Andresen has explained it was to prevent miners from performing a DoS-attack and only meant to be a temporary measure. During the recent years, people like Gregory Maxwell has suggested it was meant to be a permanent limit preventing the blockchain from becoming too big.
  • Jeff Garzik proposed to lift the limit already in 2010, claiming the low limit was a "marketing issue". Theymos (correctly) identified the risk of a chain fork as non-upgraded software would still reject big blocks. Satoshi wrote that the time wasn't ripe for an increase, but that it could be done by hard coding the change to apply from some future (in his example, 2011) timestamp or block height, giving people sufficient time to upgrade.
  • During 2010-2014 there was much discussions; some people where annoyed having to carry the cost of storing gigabytes of gambling spam forever. The concepts of "soft fork" and "hard fork" was introduced. (See also my forks for dummies article) The notion "hard forks are inherently unsafe and we need absolutely full consensus to implement that" came into existence.
  • Sidechains and Lightning was hailed as the solutions to scaling in 2015, and Lightning is still hailed as the silver bullet today.

2014 - 2015: first real attempts to deal with the block size limit

  • The first major push to get the limit increased came in May 2015 as Gavin Andressen and Mike Hearn proposed to increase the block size limit to 20 MB. After discussions with miners, the proposed limit was decreased to 8 MB. Actually, at that time, any actual block sizes above 1 MB would give quite big advantages to the biggest Chinese miners/pools. (Lots of improvements were made after this, making block sizes of 8 MB perfectly safe).
  • Mike Hearn rightly predicted that the maintainers of the Bitcoin Core github repo would veto any block size increase, and decided to force through BIP-101, a 8 MB + a road map of future upgrades though a hard fork (XT). He got vilified by the Core community, and many found his road map for future upgrades to be far too aggressive. In hindsight, opting for a long-term road map with very big blocks in the future was probably one of his biggest mistakes, the other big mistake was underestimating how much the community would balk at such a "takeover attempt". It was said that Mike wanted to claim the role as the "benevolent dictator" of Bitcoin.
  • The moderation of the r/bitcoin reddit sub started getting out of hand at this point, with any discussions of XT being branded as "out-of-scope altcoin discussion". This was probably the biggest reason why the environment got so divided; if free discussions had been allowed we would most likely agree on some compromise already in 2015.
  • An upgrade to 8 MB block size without any road map for future upgrades were preferred by many of the miners.
  • There was also BIP-100, which actually had more than 50% mining support at some point, outlining a way for miners to vote over changes to the block size limit. (There was an attempt to revive BIP-100 later).
  • It was shown that block size limits at 4 MB and above probably would give the Chinese miners an unacceptable advantage. (Those research reports are still used in the argument as of today - but they are mostly obsoleted due to various software optimizations and methods for reducing the orphan rate).
  • Jeff Garzik came with his "2 MB upgrade ASAP" plan (BIP-102). It was also rejected.
  • Situation was for a long time stalemated due to the many different different proposals out there. In hindsight, had the "big-blockers" joined forces earlier and worked together for one proposal, we'd probably had bigger blocks today.
  • Blockstream, MIT and others started sponsoring the Scaling Bitcoin workshop. Only technical talks was allowed, no "politics", no decisions was to be made; any calls for increasing the block size limit was specifically off-topic. Peter R Rizun was allowed to hold a speech at the Montreal conference September 2015 telling that the block size limit could safely be removed, but he was not invited to the follow-up Hong Kong conference in December 2015.
  • Peter R Rizun and Andrew Stone started working on Bitcoin Unlimited (initial release January 2016)
  • Peter Wuille presented SegWit at the Scaling Bitcoin Hong Kong workshop in December 2015, and it was at first branded as a "4X block size increase through a softfork" - though this did not hold up to scrutiny, and in the slides the capacity increase for a normal transaction is given to be 1.75x.
  • The Bitcoin Core scalability roadmap was written up, it contained lots of optimizations, making the Bitcoin Core software require less resources (and hence making it safer to increase the capacity) - but the only promises of a capacity increase was the theoretical ~1.7x capacity increase offered by SegWit.

2016 - the long stalemate

  • In the Hong Kong roundtable consensus an agreement was made on a roadmap with SegWit first and a 2 MB block size increase later. Some people considered the agreement void already days after it was made. With Core denying to support a block size increase, and miners denying to implement SegWit before being promised a block size increase, it was efficiently a long-lasting stale-mate.
  • Gavin attempted to force through a "compromise" 2 MB upgrade (BIP-109) through his Bitcoin Classic fork. Gavin was thoroughly vilified after this. BIP-109 never got much traction, but it got more traction than XT.
  • With BIP-109 being dead, there was the push for "Emergent Consensus" as implemented in Bitcoin Unlimited. Eventually, most big-blockers agreed on supporting EC, and it did get almost 50% miner consensus at some point.
  • Apparently, a smear campaign against SegWit was launched - the hostility against SegWit started becoming intense at the big-blocker side of things. Maybe because neither Bitcoin Unlimited, BitcoinXT nor Bitcoin Classic supported it. Hence we got into a situation where the smallblockers (as always) were more obsessed with keeping the 1 MB block size limit than to push through SegWit, and where the bigblockers were more obsessed with blocking SegWit than with getting the block size limit increased.

2017 - UASF, SegWit2X, ASICBOOST, Bitcoin Cash

  • The small-blockers started being upset that the miners didn't activate SegWit, the narrative pushed was that high fees and congestion issues was due to the miners depriving the community for the much needed SegWit upgrade. "UASF" was proposed, a highly dangerous "our way or the high way" attempt to force through the SegWit upgrade - some described it as a sybil attack. Anyone running Bitcoin Core with UASF enabled would ignore blocks from miners not supporting SegWit. If less than 50% of the miners would support UASF, we would get a network split, with one UASF-network and one non-UASF-network disagreeing on the history. It would be a real mess. The really ironic thing is that most of those people supporting UASF had been arguing heavy against "dangerous hard forks" just months earlier.
  • It was revealed that the biggest mining operator Bitmain was using some patented "covert asic boost"-method for mining faster, thus having an edge over other miners. The method is incompatible with SegWit, hence this may be the explanation why they were blocking SegWit. Quite some people switched side over to the small-blockers after learning this news.
  • Due to the long-lasting stalemate and with the upcoming UASF disaster getting closer by each day, the SegWit2X compromise was proposed by Jeff Garzik and others. This was basically a revival of the Hong Kong roundtable agreement. Miners and other major industry actors got together and promised to support the SegWit2X initiative and use alternative software in the unlikely event that Core wouldn't support the 2MB upgrade.
  • The BitcoinABC project was made as a contingency-plan should the UASF-disaster become real or the SegWit2X-initative fail for other reasons. In a surprise move, it forked off as "Bitcoin Cash" at the 1st of August. Perhaps this was wrong, perhaps we would have been united around a compromise if all the energy put down into the Bitcoin Cash project would have been spent on supporting the Segwit2X compromise.
  • The "small blockers" invented the short-form "BCash" and actively started on a rebranding-effort.
  • The "small blockers" largely ignored SegWit2X up to the fork date, claimed a "full UASF victory" as SegWit was activated ("I told you it UASF would be a safe upgrade didn't I?"), and as soon as it was locked in they started vilifying Jeff Garzik and the SegWit2X-initiative, declaring that it was a horrible compromise, that Core would not support it, and even that it was an "obvious corporate takeover". In mid-August it seemed obvious that Core and its supporters would find themselves voluntarily marooned on a desolated island where virtually no on-chain-transactions would go through after the 2X hardfork.
  • Once again, the vilification tactics mixed with the "our way or the high way"-approach seems to have gone rather well. Things got very toxic, industry actors that had promised to support SegWit2X was forced to distance themselves from the project. Even the software project btc1 was a failure (despite being a fairly simple project), mostly due to lack of resources. What should have been a nearly-smooth network upgrade got very controversial, and as the major exchanges declared they would continue using the "Bitcoin"-brand on the 1X-chain right after the fork, a 2X-upgrade would be very messy. In the end, the initiative was dropped.

After the SegWit2X-initiative was dropped, the propaganda efforts from the small-blockers have mostly been targeting "BCash".

To me, it seems fairly obvious that Bitcoin has failed. Rather than supporting it, we should try to agree on what crypto currency hold the most potential as a successor leading crypto currency and unite on it. I'm not at all sure Bitcoin Cash is the right solution.

Sort:  

REALLY don't understand why this post isn't a top post on Steemit, very well done. Would suggest a few edits tho:

#1 Definitions: somehow we got lost in some terminology... we'll have to read this again to figure out who "small blockers" are, what "UASF" is, and the type of people who represent "Core". Maybe more solid examples? We remember Coinbase founders favored XT and didn't win, but who are they in all this? Core? small-blockers?

Makes us wonder which things Szabo supported. It's past it's "earning" date, but our article "did Nick Szabo..." is about uncovering more evidence on Satoshi Nakamoto, and since we think he's at LEAST 1/3rd if not 100% Satoshi, we'd be curious where he stands (he's iffy on the "difficulty" algo inside bitcoin, which is interesting!). Anyway, check out our article, as we are birds of a feather who like crypto-history.

#2 Simple typo you can edit out:
"Bitmain was using some patented "covert asic boost"-method for mining faover other minerster"

#3 More please!
in the comments, can you post what you think are your top candidates for becoming the transactionally-top cryptocurrency, given what you know about the history and the players? Noted: Charles Lee of Litecoin fame seems to favor Bitcoin Cash these days, but obviously he's ALWAYS been transactionally-minded or he wouldn't have created Litecoin and pushed hard for Segwit and Lightening. Ironically tho, he's ALWAYS ALSO been the guy identifying bitcoin as "gold", which maybe means he's always supported it as such. If he now favors Bitcoin Cash, is it because he's INDIRECTLY shilling for Litecoin, as in Bitcoin Cash would be weaker than Litecoin so he'd win? Or is he legitimately pulling for BCH out of goodness of his heart? Charles Lee also never admitted how much bitcoin he owns, and now that he's sold all his Litecoin that becomes more important for his overall integrity, no?

Our opinion is that the candidates are the following:
bitcoin, BCH, ethereum, NEO, PIVX, bitshares/Eos
and have reasons supporting each we won't get into at the moment to keep this comment smaller than it's already gotten.

going to reread this now.

Re #1 above, the "small-blockers" vs the "big-blockers" are a quite central thing going through all of it. I have tried explaining this concept a bit better at the top. I think this phrasing is the most objective and accurate. I haven't seen writings from Szabo hinting on where he would have been in this debate, but that doesn't mean such writings doesn't exist. The coinbase CEO is a moderate big-blocker I believe. UASF is just mentioned in a bullet point, I've tried explaining better in that bullet point what it is and why it's dangerousl

#2 - thanks for that one. On one of my laptops I have a very sensitive touchpad, while typing normally on the keyboard it often registers a "click", and my text ends up somewhere completely else than where it should be. I've tried to fix up..

#3 ... here I get most of my hints from my local crypto currency trading activity, being a market maker for converting bitcoins to and from bank payments, cash and gold locally. Most of my customers still wants Bitcoins, but the typical questions of the day is "can you transfer it to binance?" and "what altcoin would you recommend buying today?". People buy bitcoin just because it's the most common "jump coin" for buying other cryptos. My ether trading volume is increasing for every day, that's the second crypto people ask for, and it seems like it will soon be number one. It's used mostly for the same purpose, moving funds to binance ... though some people hold it as an investment. I thought Bitcoin Cash would take over, but, no, I have very little trading activity on Bitcoin Cash.

Regarding Charlie Lee, I haven't checked him out. I may be quite biased since I get a fair amount of information from the toxic r/btc sub on Reddit. My perspective is that the true vision of Litecoin was "let's get rich". As I see it, Litecoin was just a clone of Bitcoin with no real value proposition, some parameters were tweaked, but no big deal. "If Bitcoin is Gold, then Litecoin is Silver" is the saying ... but what kind of value proposition is that? In reality the crypto currency space got inflated - and I'd say we're experiencing a real run-away crypto currency inflation now, there are thousands on thousands of different crypto currency projects each having their own token, and people spreading their money all over the board.

In the Bitcoin space, Charlie Lee is a strong small-blocker - and that's of course the best strategy ever for promoting Litecoin as a "silver". He also sold all of his litecoins to avoid a "conflict of interest" recently, while it may seem like an admirable move ... for me, crypto currencies are to be used and not just hodled, and I'm a big supporter of the "eat your own dogfood" principle. Of course he also cashed out at the all time high ...

yep, reread the post, and still don't understand the "Definitions" i listed above. UASF and "small blockers" sorta comes out of nowhere, but maybe we need to go back and read one of your earlier posts.
Still think it best to edit some explanations for each term.

Also, which forks would you have supported? Seems like you're a Segwit2x guy?

Also, which forks would you have supported? Seems like you're a Segwit2x guy?

I supported XT, Classic and Bitcoin Unlimited, and I did support the Segwit2X initative.

There's another alternative:
In the near-term the BCH fork creates/created two viable coins.
BTC is used like gold, sparingly, with high transaction costs and low # of transactions mostly of large $ size.
BCH becomes the medium of exchange, especially small sizes.

This can come about bc the miners will be drawn back to BTC anytime the price is high, and then they can collect not only high fees but high payouts for mining. There will be an ebb and flow to both coins, as miners TRY to support BCH when BTC price falls, but keep getting drawn back when BTC rises via outside means.

Longer term:
Our take is that something will change with Coinbase fully accepting BCH in late December 2017. Large institutions will likely continue to favor BTC as the transactions costs are negligible, whereas the minnows will put money into BCH and whatever coin doesn't "mining-fee-to-death" their balance.
So THEN the question becomes, who's bigger? Institutional crypto investors doing $100mm at a time, or leagues of smaller minnows at $1,000 and $5,000 per punt? In the beginning, we think institutional is bigger, and we saw that with the rise from $5,000 to $19,000 at the end of 2017. But eventually the rise of crypto prices will draw in minnows which drown out institutions, and this will favor BCH as well as low-mining-fee altcoin alternatives to BOTH BCH and BTC. In the end, crypto currencies which can climb high without high mining fees, will win. Which ones are those?

Knock, Knock...
Who's there?
Bitcoin Cash...

Thanks, that was very informative.

Informative and also the style of writing is simply awesome, it seems like you reading a story.
Good work, I follow you 👍

i think bitcoin very nice for all...
i read your history...
i think somedays rising all coin...
but, Will this be good if we fight this?
thanks for sharing great post...

Thanks for commenting on my comment, it led me to your blog to find this fantastic article. Following.

Good FRIENDS are hard to find, harder to leave, and impossible to forget Lovely Can you follow me @abdsamadsakhi

DON'T let the past hold you back, you're missing the good stuff