I told myself I wouldn’t do this, that I had more important things to do, that I’d spent more than enough time on this already.
But it keeps coming up and nobody else seems to be willing to oblige the demand for a point-by-point refutation.
— Charles Arthur (@charlesarthur) January 18, 2016
Charles Arthur, this post’s for you. A compromise: this post will be lazy. The prose will be sloppy, and I will make statements that some readers might find unconvincing unless they take the effort to research the references for themselves. Oh well, I’ll live with that. I’m hoping something is better than nothing, and I don’t want to spend a second more on this than I feel I have to (even though I’m probably setting myself up to get dragged into it further).
At the same time, it’s paradoxically easier to go beyond point-by-point to line-by-line because it’s all those filler lines that Mike uses to manipulate his audience, and so commenting on them to illustrate just how much manipulation is going on is relevant.
Warning: this will get ugly, fast. When you call out so much deception it naturally starts to look like an ad hominem attack to outsiders. Imagine if you knew a person who was pathologically dishonest, and you had to explain their years of dishonesty to someone who did not know the situation. It would look like an ad hominem attack (“Liar! Liar!”). This is one of the reasons why nobody (?) has taken the time to write a full point-by-point refutation of Mike’s post. I ask therefore that you withhold such judgment until you’ve taken the days (or weeks or months depending on your technical level) necessary to read all the links in this post and all the sub-links, and the sub-links within the sub-links.
Mike’s dishonesty can be summarized like so: he doesn’t want you to know that virtually every one of his attempts to modify Bitcoin would lead to its centralization (a real death for Bitcoin).
“The resolution of the Bitcoin experiment”
Many people have incorrectly understood this title to mean that Mike was declaring Bitcoin to be dead. Yes I know that’s what he does later in the post, but based on my understanding of his history, I do not believe this interpretation is at all correct.
More accurately, as a redditor observed, “Bitcoin didn’t fail. Mike Hearn’s plan did.”
I’ve spent more than 5 years being a Bitcoin developer.
True-ish. To be clear, Mike has spent 5 years being a developer in Bitcoin. He has not spent 5 years working on Bitcoin itself, but he did write a very popular Java SPV library for Bitcoin (his primary claim to fame in the Bitcoin world).
But this doesn’t stop him from promoting himself a “Bitcoin Core Developer”. On his website we find:
And he never seems to correct anyone who refers to him as “one of the pre-eminent core developers”:
— Greg Slepak (@taoeffect) January 15, 2016
Ad hominem? No. Your honor, this goes to the credibility of the witness and how that faux credibility has been used to manipulate others.
The term “Bitcoin Core Developer” has a real technical meaning. It refers to those who work on Bitcoin Core and have made meaningful contributions to it. The truth is that Mike has made hardly any contributions to Bitcoin Core. There he is, at the bottom of the GitHub contributors graph, with 3 token commits accepted (amounting to maybe a couple days worth of coding by line count):
It is on this basis from which he promotes himself as a Core Dev.
The real Core Developers are at the very top. This is what their contribution history looks like, several orders of magnitude difference:
It should be acknowledged that Mike did (allegedly) write code that never made it in to Bitcoin Core, but at least some of it didn’t make it in for very good reasons: it included a centralized Tor blacklist, which he says is “not a blacklist but a de-prioritization list”. This is utter nonsense. It was and is a blacklist. A de-prioritization list can be equivalent to a blacklist. Just imagine a jam-packed bar with bouncers that “prioritize” only those patrons who are not wearing red polka dotted shirts. That’s Bitcoin’s future in terms of SPV-fullnode connections (especially with Mike’s block size proposals). It’s an anti-anonymity blacklist.
Back to the post:
Bitcoin is an experiment and like all experiments, it can fail.
This is Mike’s parting shot at Bitcoin. He does not have the authority to talk about Bitcoin in this way (only Satoshi can). It’s his personal opinion (imagine an “IMO” in front of that sentence and it becomes more accurate).
But despite knowing that Bitcoin could fail all along, the now inescapable conclusion that it has failed still saddens me greatly.
OK, now the truth is being bent even further. He’s building up this 100% false notion that Bitcoin has failed. Except it didn’t fail when he wrote the post, nor has it failed since. Nothing, except for the price, has changed. It’s still chugging along, doing exactly what it’s supposed to be doing, moving millions of dollars around the world in a single transaction without breaking a sweat and doing it cheaper than its dinosaur predecessors.
Mike Hearn declaring Bitcoin dead is the same as you or I declaring Bitcoin dead. It means absolutely nothing. The only reason anyone is paying attention is because some journalists and news organizations have zero integrity and still have a ways to fall before everyone stops paying attention to them.
The fundamentals are broken and whatever happens to the price in the short term, the long term trend should probably be downwards. I will no longer be taking part in Bitcoin development and have sold all my coins.
Read: “Mad! I’m very mad at Bitcoin! Grrrgh Bitcoin!”
Why has Bitcoin failed? It has failed because the community has failed.
Ah, some truth, but not how most people will interpret it. Yes, Mike’s experimental coup attempt failed because the Bitcoin community rejected it. Boo hoo.
What was meant to be a new, decentralised form of money that lacked “systemically important institutions” and “too big to fail” has become something even worse: a system completely controlled by just a handful of people.
It’s true, Bitcoin is controlled “by just a handful of people”, but not the way Mike explains it. More accurately, it is controlled by a handful of groups spread across the globe. See this for a more accurate picture.
Worse still, the network is on the brink of technical collapse.
This is 100% false.
The mechanisms that should have prevented this outcome have broken down
and as a result there’s no longer much reason to think Bitcoin can actually be better than the existing financial system.
That’s nice, Mike. Lots of people, including folks who are more honest and less deceptive than you, completely and entirely disagree.
Think about it. If you had never heard about Bitcoin before, would you care about a payments network that:
- Couldn’t move your existing money
Bitcoin can move your existing money.
- Had wildly unpredictable fees that were high and rising fast
This is total nonsense. They’re predictable today and aren’t rising fast. As far as tomorrow, well, tomorrow brings in the Lightning Network (LN; code recently released), and fees on the LN should be predictable and are unlikely to “rise fast”. Besides, even if they did, a solution would present itself or people would abandon Bitcoin. Most likely a solution would present itself. Mike presents exactly zero evidence to suggest otherwise.
- Allowed buyers to take back payments they’d made after walking out of shops, by simply pressing a button (if you aren’t aware of this “feature” that’s because Bitcoin was only just changed to allow it)
Lightning Network is designed to prevent this.
Replace-by-fee (RBF, the “feature” he mentions) has nothing to do with Lightning Network or sidechains (which are the Core Devs plan to scale Bitcoin), and if you’re curious about it read this post and the links therein.
- Is suffering large backlogs and flaky payments
Mike is wildly speculating here without any substance. This is certainly not true today with how Bitcoin is supposed to be used, and as Bitcoin evolves with LN and sidechains it will continue to be untrue with how Bitcoin is used then.
- … which is controlled by China
Yes, China could technically 51% attack Bitcoin at this point in history. However, this is detectable, and moreover, Mike doesn’t propose any solution to the fundamental problem of 51% attacks. He does make plenty of blocksize-related suggestions on how to make them worse, though.
In terms of China’s dominance, that may not necessarily be the case going forward. Companies like 21 could change the playing field, and sidechains can potentially play a role as well.
— Greg Slepak (@taoeffect) January 17, 2016
- … and in which the companies and people building it were in open civil war?
If anyone is in “open civil war”, we have mostly Mike to thank for it. I know some might find that hard to believe, but spend a few weeks browsing through Hearn’s multi-year involvement in the Bitcoin community and then get back to me.
Sure, not all of the blame for this “civil war” rests on his shoulders.1 Some of it also rests with those who unquestioningly read his posts and took him at his word while ignoring or failing to understand the arguments the Core Devs were making.
I’m going to hazard a guess that the answer is no.
I’m going to state you’re full of it, Mike.
Deadlock on the blocks
The block chain is full.
No it isn’t, and even the graph in Mike’s post shows that. Even if it were it still isn’t a big deal. Given the great work on scalability from the core devs and LN devs, it’s certainly nothing to have a hard fork or a “civil war” over.
EDIT: To be clear, when Mike published his post the average block size was 693KB, and when this post was published the average block was 641KB. Some blocks are full, and some are almost empty. This is perfectly fine. All it means is that the age of completely free transactions is coming to a close. This isn’t news, it’s entirely expected. To keep fees low, Core is increasing the capacity (safely and intelligently). Bitcoin’s success is their success.
…put in place as a temporary kludge a long time ago, has not been removed and as a result the network’s capacity is now almost completely exhausted.
Some backpedaling. Now we’re at “almost completely” (he says this like it’s a scary thing).
FYI, on calculating fees see Cohen’s post and this tweet from a LN dev:
fraud_proofs++ Also allows SPV nodes to optionally compute fee estimates w/o relying on centralized servers. https://t.co/B5nLdNqXlY
— Olaoluwa Osuntokun (@roasbeef) December 15, 2015
So that level, about 700 kilobytes of transactions (or less than 3 payments per second), is probably about the limit of what Bitcoin can actually achieve in practice
It’s not clear that this is true even without LN, but it’s certainly false with it. That attack was very expensive and the network can auto-adjust its fees to protect itself from DoS attacks. It’s possible the attacker simply ran out of cash before hitting the network’s limit.
Regardless, it’s impossible to use block size to scale Bitcoin (while keeping decentralized) so this entire point is moot.
When networks run out of capacity, they get really unreliable.
Here Mike links to another post of his. It takes at least 10x the amount of effort to refute BS than it does to produce it, so I will skip going point-by-point through two blog posts. I will say that any sort of node stability problems (if they even exist) are addressed not by fiddling with block sizes but by fixing any bugs or issues in how nodes and thin clients handle blocks that are filling up (which they are going to do and it will be perfectly OK!).
Mike then quotes a post from a Bitcoin-related business:
The issue is that it’s now officially impossible to depend upon the bitcoin network anymore to know when or if your payment will be transacted, because the congestion is so bad that even minor spikes in volume create dramatic changes in network conditions. To whom is it acceptable that one could wait either 60 minutes or 14 hours, chosen at random?
Obviously that’s not acceptable, but neither is centralizing Bitcoin (which was Mike’s solution to this problem). The Core Devs’ have better solutions called Segregated Witness, Lightning Network, and Sidechains.
Once upon a time, Bitcoin had the killer advantage of low and even zero fees, but it’s now common to be asked to pay more to miners than a credit card would charge.
False. He links not to a Bitcoin fee but to a fee from a Bitcoin-related company. That’s not a Bitcoin transaction fee. Today Bitcoin fees, as others have observed, are still, as far as I know, lower than credit cards (they are so low I’m not going to spend time looking up what credit cards actually charge).
Why has the capacity limit not been raised? Because the block chain is controlled by Chinese miners, just two of whom control more than 50% of the hash power.
Although miners do have a say, the real reason that the limit has not been changed because the core devs don’t want to damage the network and cause it to centralize beyond how centralized it already is.
Next, Mike concedes this point.
Why are they not allowing it to grow? Several reasons. One is that the developers of the “Bitcoin Core” software that they run have refused to implement the necessary changes.
Ignoring the scare quotes around “Bitcoin Core”, you might notice that Mike doesn’t actually answer his own question here. He doesn’t tell you why the Core Devs are telling him to bugger off. He just wants you to think the Core Devs are crazy unreasonable people (unlike him), so he doesn’t link to any of their responses.
And the final reason is that the Chinese internet is so broken by their government’s firewall that moving data across the border barely works at all, with speeds routinely worse than what mobile phones provide.
Yes, that is true. And we should respect the Chinese ability to participate in securing the network. As well as those behind Tor. Oops. I guess Hearn forgot to mention Tor. And Raspberry Pi devices. You’ll find that Hearn conveniently forgets to mention a lot of things.
Ensuring the ability to run a full validating node behind Tor is a high priority for the Core Devs, and an important one.2
This gives them a perverse financial incentive to actually try and stop Bitcoin becoming popular.
Hearn is confusing popularity with a debate about block size while simultaneously being ridiculous.
The resulting civil war has seen Coinbase — the largest and best known Bitcoin startup in the USA — be erased from the official Bitcoin website for picking the “wrong” side and banned from the community forums.
To be clear, it certainly doesn’t help outsiders get a good impression of the Bitcoin community when people are complaining about rampant censorship on r/Bitcoin.
On the other hand, Coinbase is on the “wrong” side, especially in their decision to promote a pathologically dishonest person’s attempt to literally steal control of Bitcoin and appoint himself dictator. So I can understand why the subreddit mods decided to ban such toxic and dangerous-to-Bitcoin people (EDIT: actually, they haven’t banned Hearn, here he is today, still commenting).
— Greg Slepak (@taoeffect) August 21, 2015
Again, go nuts. Spend weeks on this (like I did) if you want to get to the bottom of it.
When parts of the community are viciously turning on the people that have introduced millions of users to the currency, you know things have got really crazy.
Yes, and we have Mike to thank for it.
Nobody knows what’s going on
Oh my god this is taking forever.
Most people who own Bitcoin learn about it through the mainstream media.
It’s true, if you get your Bitcoin news from the mainstream media you will not have any clue what’s going on.
In August 2015 it became clear that due to severe mismanagement, the “Bitcoin Core” project that maintains the program that runs the peer-to-peer network wasn’t going to release a version that raised the block size limit.
What Hearn calls “severe mismanagement” I call remarkable conscientiousness and excellent stewardship. People who are angry at the Core Devs are utterly clueless as to how grateful they should be to them. Out of all the alternative implementations of Bitcoin, the Core Devs have been saints in terms of what matters: preserving Bitcoin’s decentralization.
They’re doing a fantastic job. Thank your lucky stars you have them and they haven’t left out of spite from the mountain loads of ignorant and lazy mud that’s been thrown their way.
Where was I? Oh, Mike, right.
So some long-term developers (including me) got together and developed the necessary code to raise the limit. That code was called BIP 101 and we released it in a modified version of the software that we branded Bitcoin XT.
*One*. One long-term developer out of about 10 joined you.
And Bitcoin XT was not BIP 101. Bitcoin XT was BIP 101 plus a Tor blacklist, and total revolution in Bitcoin from being a decentralized system to 100% centralized in the hands of one person, Mike.
Why did you leave that part out? Seems kinda important?
The release of Bitcoin XT somehow pushed powerful emotional buttons in a small number of people.
But when XT launched, he made a surprising decision. XT, he claimed, did not represent the “developer consensus” and was therefore not really Bitcoin.
Well, he (theymos) was right. I mean, what can you have against him for being right?
Why on earth would anyone, including users, want people who have literally zero understanding of how Bitcoin works making critical decisions as to its functioning?
— Greg Slepak (@taoeffect) January 18, 2016
Hope it’s OK with you if I skip over Mike’s angry ranting about how his attempted coup failed.
Why is Bitcoin Core keeping the limit?
Yes, Mike’s got a problem with people who want to keep Bitcoin decentralized.
The idea that Bitcoin is inherently doomed because more users means less decentralisation is a pernicious one.
Who said anything about Bitcoin being doomed? Not Maxwell. Pure logic suggests that it doesn’t make sense for Maxwell and the other core devs to be pouring their souls into this project if they believe it’s doomed.
No, they don’t think it’s doomed. Stop twisting their words. They are saying Bitcoin can be scaled, but that the way Mike wants to do it is deadly to Bitcoin. And they’re right.
And it leads to an obvious but crazy conclusion: if decentralisation is what makes Bitcoin good, and growth threatens decentralisation, then Bitcoin should not be allowed to grow.
More nonsense. Bitcoin can grow in the right way. LN is growth. Sidechains are growth. And at some point you reach a point beyond which growth is impossible. All of these are “right growth” that preserve decentralization, you reckless lunatic (OK, that was ad hominem :-P).
But it quickly became apparent that the Bitcoin Core developers were hopelessly at loggerheads.
Ad hominem for ad hominem? Fair trade? 😉
They insisted that nothing be done without “consensus”.
That thing that you’re carelessly putting in scare quotes? That’s the very foundation of what it means for the developer side of Bitcoin to be decentralized.
Meanwhile, the clock was ticking.
For you to get your as—never mind.
The Scaling Bitcoin conferences were anything but “bogus”. They were incredible. If the Bitcoin community has anything to thank Mike for, it’s that his attacks on Bitcoin brought the community together and made it stronger.
and moreover, with the start of the winter growth season there remained only a few months to get the network upgraded.
There’s that totally false sense of urgency. This is the tool that Mike effectively exploited to split the community and cause all of the drama in Bitcoin for the past 12 months or so.
Wasting those precious months waiting for conferences would put the stability of the entire network at risk.
Conferences are over and the network is perfectly stable. The conferences were super productive too.
The fact that the first conference actually banned discussion of concrete proposals didn’t help.
I’m curious what Mike is referring to here. If anyone knows please comment. So far as I can tell no talks were banned, and plenty of people talked about raising the block size.
But too late. Whilst the community was waiting, organic growth added another 250,000 transactions per day.
OH NO!!! 😱
Somebody quick! Check Bitcoin! It’s been another day! Is it still there?
Jeff Garzik and Gavin Andresen, the two of five Bitcoin Core committers who support a block size increase
*ALL* Bitcoin Core developers support block size increase. The only way in which they disagree is on what constitutes a “safe” increase. Block size increases are endorsed by the roadmap that came out of Scaling Bitcoin. Capacity increases via SegWit have been implemented and are now being prepped for launch via the testnet.
So that is quite a disingenuous statement.
I’m more of a tell-it-like-I-see-it kinda guy
And an omit-it-when-it’s-inconvenient-kinda-guy.
Core block size does not change; there has been zero compromise on that issue.
That doesn’t matter. What matters are capacity increases. The block size can be totally irrelevant to that, and it’s capacity increases that are what matters. Core Devs are delivering exactly that, like responsible adults who care about the well-being of a multi-billion dollar network.
In an optimal, transparent, open source environment, a BIP would be produced … this has not happened
Um, perhaps I’m misunderstanding what’s being asked for here, but there is a BIP, here it is. The rest of the stuff post-SegWit will surely, as usual, also result in BIPs. That is how Bitcoin must be modified, after all.
One of the explicit goals of the Scaling Bitcoin workshops was to funnel the chaotic core block size debate into an orderly decision making process. That did not occur.
Yes it did.
In hindsight, Scaling Bitcoin stalled a block size decision
No it didn’t.
while transaction fee price and block space pressure continue to increase.
This, (1) doesn’t seem to be meaningfully true (I certainly haven’t noticed a meaningful increase in the transaction fees I’ve been sending for successfully confirmed transactions), and (2) is an example of that same false-sense of urgency that Mike has been using (to great effect) to split the community around a topic that needs probably about an order of magnitude less drama surrounding it.
EDIT: See also this followup post that explains (in simple terms) how RBF elegantly addresses “stuck” transactions that can occur should blocks become full for a prolonged period.
As an example, the plan Gavin and Jeff refer to was announced at the “Scaling Bitcoin” conferences but doesn’t involve making anything more efficient, and manages an anemic 60% capacity increase only through an accounting trick (not counting some of the bytes in each transaction).
I will copy/paste Bram Cohen’s response:
Hearn criticizes the block increase made possible by segregated witness as being an ‘accounting trick’ as if that means anything, and complains that it’s ‘incredibly complicated’. As it happens segregated witness is primarily about addressing the problem of transaction malleability, which has been a real problem in Bitcoin since the beginning (mt.gox blamed it for their accidentally all the coins). That’s why it’s called ‘segregated witness’ and not ‘increasing the block size’. During development of segregated witness it was noticed that it could both be used to introduce vastly improved hooks for future extensions and to have a significant one-time de facto increase in the block size limit, as ‘bonus’ features which happen to be very compelling in their own right. Whether Hearn honestly doesn’t understand this and thinks that all the complexity is in service of a block size increase or he’s just being disingenuous I honestly don’t know.
Instead of doing a simple thing and raising the limit,
it chooses to do an incredibly complicated thing that might buy months at most, assuming a huge coordinated effort.
While I can’t speak to how much effort SegWit will involve (I’m pretty sure Hearn is exaggerating, but for a fair analysis ask the Core Devs), I can say that the concept of buying months is bogus.
Fees are going to rise and it won’t be the end of the world. Most people will not do everyday latté purchases on-chain.
Replace by fee
Lattés. Not. Happening. On. Chain.
Not unless Bitcoin-NG is adopted, at least. And Mike isn’t advocating for Bitcoin-NG. He’s advocating for stupidity.
I’m going to skip Mike’s Conclusions section because I’m getting a headache and need to go for a walk and be done with this. If there was anything profound in there that I left out I’m sorry. I doubt it, somehow.
I stand with Peter Todd when he says:
The RBF section of Mike Hearn's "Leaving Bitcoin" post reminds me I'm not going to miss working with blatant liars. https://t.co/Jl4Rb5be6O
— Peter Todd (@petertoddbtc) January 14, 2016
I stand with a slightly less-politically correct version of this Andreas Antonopoulos tweet:
I disagree with Mike Hearn's analysis and concerns (see LTB show next week). I thank him for all his work and wish him all the best. Onwards
— AndreasMAntonopoulos (@aantonop) January 15, 2016
I stand with all those who are laughing at the “Bitcoin is Dead” blog posts that come out periodically:
Bitcoin is such a robust system it works despite being dead.
— Edan Yago (@EdanYago) January 18, 2016
I stand with Bram Cohen (inventor of BitTorrent) when he says:
— Bram Cohen (@bramcohen) January 14, 2016
I stand with Martijn and Nick Szabo (who RT’d this tweet) in declaring contentious hard forks to be a terrible idea:
"Bitcoin Classic" is a mendacious name for an altcoin that intends to do a contentious hard fork away from Bitcoin as it exists today.
— Martijn Meijering (@mmeijeri) January 12, 2016
And I stand with everyone in laughing at and condemning irresponsibly inaccurate journalism.
— Alex B. (@bergalex) January 18, 2016
Other Rebuttals To Hearn (AKA Time Wasted)
If you aren’t tired of this by now, you should get yourself checked out.
Anyway, for the masochists out there:
Am I calling all the past 12 months of drama in Bitcoin land over block size pretty much total nonsense? Yep.
Do your own research! And don’t trust shady people from QinetiQ!
"We're sorry sir the club has failed, it's done, over." "But the door is open, there are people dancing, there's even a line going into it…"
— Greg Slepak (@taoeffect) January 22, 2016
- I put “civil war” in scare quotes because at least among Core Devs, there isn’t a civil war.
- If anyone has a good link for this part please let me know. I know there were a few discussions on GitHub about this for example, but am too lazy to hunt them down.
- On March 9, 2016 this link was updated to a better post. Previous link went here.