Gregory Alan Bolcer
greg at bolcer.org
Thu Jan 14 19:34:26 PST 2016
The resolution of the Bitcoin experiment
I’ve spent more than 5 years being a Bitcoin developer. The software
I’ve written has been used by millions of users, hundreds of developers,
and the talks I’ve given have led directly to the creation of several
startups. I’ve talked about Bitcoin on Sky TV and BBC News. I have been
repeatedly cited by the Economist as a Bitcoin expert and prominent
developer. I have explained Bitcoin to the SEC, to bankers and to
ordinary people I met at cafes.
From the start, I’ve always said the same thing: Bitcoin is an
experiment and like all experiments, it can fail. So don’t invest what
you can’t afford to lose. I’ve said this in interviews, on stage at
conferences, and over email. So have other well known developers like
Gavin Andresen and Jeff Garzik.
But despite knowing that Bitcoin could fail all along, the now
inescapable conclusion that it has failed still saddens me greatly. 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.
Why has Bitcoin failed? It has failed because the community has failed.
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. Worse still, the network is on the brink of technical
collapse. 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.
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
Had wildly unpredictable fees that were high and rising fast
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)
Is suffering large backlogs and flaky payments
… which is controlled by China
… and in which the companies and people building it were in open
I’m going to hazard a guess that the answer is no.
Deadlock on the blocks
In case you haven’t been keeping up with Bitcoin, here is how the
network looks as of January 2016.
The block chain is full. You may wonder how it is possible for what is
essentially a series of files to be “full”. The answer is that an
entirely artificial capacity cap of one megabyte per block, 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.
Here’s a graph of block sizes.
The peak level in July was reached during a denial-of-service attack in
which someone flooded the network with transactions in an attempt to
break things, calling it a “stress test”. 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
NB: You may have read that the limit is 7 payments per second.
That’s an old figure from 2011 and Bitcoin transactions got a lot more
complex since then, so the true figure is a lot lower.
The reason the true limit seems to be 700 kilobytes instead of the
theoretical 1000 is that sometimes miners produce blocks smaller than
allowed and even empty blocks, despite that there are lots of
transactions waiting to confirm — this seems to be most frequently
caused by interference from the Chinese “Great Firewall” censorship
system. More on that in a second.
If you look closely, you can see that traffic has been growing since the
end of the 2015 summer months. This is expected. I wrote about Bitcoin’s
seasonal growth patterns back in March.
Here’s weekly average block sizes:
So the average is nearly at the peak of what can be done. Not
surprisingly then, there are frequent periods in which Bitcoin can’t
keep up with the transaction load being placed upon it and almost all
blocks are the maximum size, even when there is a long queue of
transactions waiting. You can see this in the size column (the 750kb
blocks come from miners that haven’t properly adjusted their software):
When networks run out of capacity, they get really unreliable. That’s
why so many online attacks are based around simply flooding a target
computer with traffic. Sure enough, just before Christmas payments
started to become unreliable and at peak times backlogs are now becoming
Quoting a news post by ProHashing, a Bitcoin-using business:
Some customers contacted Chris earlier today asking why our bitcoin
payouts didn’t execute …
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
It’s ludicrous that people are actually writing posts on reddit
claiming that there is no crisis. People were criticizing my post
yesterday on the grounds that I somehow overstated the seriousness of
the situation. Do these people actually use the bitcoin network to send
ProHashing encountered another near-miss between Christmas and New Year,
this time because a payment from an exchange to their wallet was delayed.
Bitcoin is supposed to respond to this situation with automatic fee
rises to try and get rid of some users, and although the mechanisms
behind it are barely functional that’s still sort of happening: it is
rapidly becoming more and more expensive to use the Bitcoin network.
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.
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. At a recent conference over 95% of hashing power was
controlled by a handful of guys sitting on a single stage. The miners
are not allowing the block chain to grow.
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. Another is that the miners refuse to
switch to any competing product, as they perceive doing so as
“disloyalty” —and they’re terrified of doing anything that might make
the news as a “split” and cause investor panic. They have chosen instead
to ignore the problem and hope it goes away.
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.
Imagine an entire country connected to the rest of the world by cheap
hotel wifi, and you’ve got the picture. Right now, the Chinese miners
are able to — just about — maintain their connection to the global
internet and claim the 25 BTC reward ($11,000) that each block they
create gives them. But if the Bitcoin network got more popular, they
fear taking part would get too difficult and they’d lose their income
stream. This gives them a perverse financial incentive to actually try
and stop Bitcoin becoming popular.
Many Bitcoin users and observers have been assuming up until very
recently that somehow these problems would all sort themselves out, and
of course the block chain size limit would be raised. After all, why
would the Bitcoin community … the community that has championed the
block chain as the future of finance … deliberately kill itself by
strangling the chain in its crib? But that’s exactly what is happening.
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. 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
Nobody knows what’s going on
If you haven’t heard much about this, you aren’t alone. One of the most
disturbing things that took place over the course of 2015 is that the
flow of information to investors and users has dried up.
In the span of only about eight months, Bitcoin has gone from being a
transparent and open community to one that is dominated by rampant
censorship and attacks on bitcoiners by other bitcoiners. This
transformation is by far the most appalling thing I have ever seen, and
the result is that I no longer feel comfortable being associated with
the Bitcoin community.
Bitcoin is not intended to be an investment and has always been
advertised pretty accurately: as an experimental currency which you
shouldn’t buy more of than you can afford to lose. It is complex, but
that never worried me because all the information an investor might want
was out there, and there’s an entire cottage industry of books,
conferences, videos and websites to help people make sense of it all.
That has now changed.
Most people who own Bitcoin learn about it through the mainstream media.
Whenever a story goes mainstream the Bitcoin price goes crazy, then the
media report on the price rises and a bubble happens.
Stories about Bitcoin reach newspapers and magazines through a simple
process: the news starts in a community forum, then it’s picked up by a
more specialised community/tech news website, then journalists at
general media outlets see the story on those sites and write their own
versions. I’ve seen this happen over and over again, and frequently
taken part in it by discussing stories with journalists.
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. The reasons for this are complicated and discussed
below. But obviously, the community needed the ability to keep adding
new users. 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. By running XT, miners could cast a vote for changing
the limit. Once 75% of blocks were voting for the change the rules would
be adjusted and bigger blocks would be allowed.
The release of Bitcoin XT somehow pushed powerful emotional buttons in a
small number of people. One of them was a guy who is the admin of the
bitcoin.org website and top discussion forums. He had frequently allowed
discussion of outright criminal activity on the forums he controlled, on
the grounds of freedom of speech. But when XT launched, he made a
surprising decision. XT, he claimed, did not represent the “developer
consensus” and was therefore not really Bitcoin. Voting was an
abomination, he said, because:
“One of the great things about Bitcoin is its lack of democracy”
So he decided to do whatever it took to kill XT completely, starting
with censorship of Bitcoin’s primary communication channels: any post
that mentioned the words “Bitcoin XT” was erased from the discussion
forums he controlled, XT could not be mentioned or linked to from
anywhere on the official bitcoin.org website and, of course, anyone
attempting to point users to other uncensored forums was also banned.
Massive numbers of users were expelled from the forums and prevented
from expressing their views.
As you can imagine, this enraged people. Read the comments on the
announcement to get a feel for it.
Eventually, some users found their way to a new uncensored forum.
Reading it is a sad thing. Every day for months I have seen raging,
angry posts railing against the censors, vowing that they will be defeated.
But the inability to get news about XT or the censorship itself through
to users has some problematic effects.
For the first time, investors have no obvious way to get a clear picture
of what’s going on. Dissenting views are being systematically
suppressed. Technical criticisms of what Bitcoin Core is doing are being
banned, with misleading nonsense being peddled in its place. And it’s
clear that many people who casually bought into Bitcoin during one of
its hype cycles have no idea that the system is about to hit an
This worries me a great deal. Over the years governments have passed a
large number of laws around securities and investments. Bitcoin is not a
security and I do not believe it falls under those laws, but their
spirit is simple enough: make sure investors are informed. When
misinformed investors lose money, government attention frequently follows.
Why is Bitcoin Core keeping the limit?
When Satoshi left, he handed over the reins of the program we now call
Bitcoin Core to Gavin Andresen, an early contributor. Gavin is a solid
and experienced leader who can see the big picture. His reliable
technical judgement is one of the reasons I had the confidence to quit
Google (where I had spent nearly 8 years) and work on Bitcoin full time.
Only one tiny problem: Satoshi never actually asked Gavin if he wanted
the job, and in fact he didn’t. So the first thing Gavin did was grant
four other developers access to the code as well. These developers were
chosen quickly in order to ensure the project could easily continue if
anything happened to him. They were, essentially, whoever was around and
making themselves useful at the time.
One of them, Gregory Maxwell, had an unusual set of views: he once
claimed he had mathematically proven Bitcoin to be impossible. More
problematically, he did not believe in Satoshi’s original vision.
When the project was first announced, Satoshi was asked how a block
chain could scale to a large number of payments. Surely the amount of
data to download would become overwhelming if the idea took off? This
was a popular criticism of Bitcoin in the early days and Satoshi fully
expected to be asked about it. He said:
The bandwidth might not be as prohibitive as you think … if the
network were to get [as big as VISA], it would take several years, and
by then, sending [the equivalent of] 2 HD movies over the Internet would
probably not seem like a big deal.
It’s a simple argument: look at what existing payment networks handle,
look at what it’d take for Bitcoin to do the same, and then point out
that growth doesn’t happen overnight. The networks and computers of the
future will be better than today. And indeed back-of-the-envelope
calculations suggested that, as he said to me, “it never really hits a
scale ceiling” even when looking at more factors than just bandwidth.
Maxwell did not agree with this line of thinking. From an interview in
Problems with decentralization as bitcoin grows are not going to
diminish either, according to Maxwell: “There’s an inherent tradeoff
between scale and decentralization when you talk about transactions on
The problem, he said, is that as bitcoin transaction volume
increases, larger companies will likely be the only ones running bitcoin
nodes because of the inherent cost.
The idea that Bitcoin is inherently doomed because more users means less
decentralisation is a pernicious one. It ignores the fact that despite
all the hype, real usage is low, growing slowly and technology gets
better over time. It is a belief Gavin and I have spent much time
debunking. 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.
Instead, Maxwell concluded, Bitcoin should become a sort of settlement
layer for some vaguely defined, as yet un-created non-blockchain based
The death spiral begins
In a company, someone who did not share the goals of the organisation
would be dealt with in a simple way: by firing him.
But Bitcoin Core is an open source project, not a company. Once the 5
developers with commit access to the code had been chosen and Gavin had
decided he did not want to be the leader, there was no procedure in
place to ever remove one. And there was no interview or screening
process to ensure they actually agreed with the project’s goals.
As Bitcoin became more popular and traffic started approaching the 1mb
limit, the topic of raising the block size limit was occasionally
brought up between the developers. But it quickly became an emotionally
charged subject. Accusations were thrown around that raising the limit
was too risky, that it was against decentralisation, and so on. Like
many small groups, people prefer to avoid conflict. The can was kicked
down the road.
Complicating things further, Maxwell founded a company that then hired
several other developers. Not surprisingly, their views then started to
change to align with that of their new boss.
Co-ordinating software upgrades takes time, and so in May 2015 Gavin
decided the subject must be tackled once and for all, whilst there was
still about 8 months remaining. He began writing articles that worked
through the arguments against raising the limit, one at a time.
But it quickly became apparent that the Bitcoin Core developers were
hopelessly at loggerheads. Maxwell and the developers he had hired
refused to contemplate any increase in the limit whatsoever. They were
barely even willing to talk about the issue. They insisted that nothing
be done without “consensus”. And the developer who was responsible for
making the releases was so afraid of conflict that he decided any
controversial topic in which one side might “win” simply could not be
touched at all, and refused to get involved.
Thus despite the fact that exchanges, users, wallet developers, and
miners were all expecting a rise, and indeed, had been building entire
businesses around the assumption that it would happen, 3 of the 5
developers refused to touch the limit.
Meanwhile, the clock was ticking.
Massive DDoS attacks on XT users
Despite the news blockade, within a few days of launching Bitcoin XT
around 15% of all network nodes were running it, and at least one mining
pool had started offering BIP101 voting to miners.
That’s when the denial of service attacks started. The attacks were so
large that they disconnected entire regions from the internet:
“I was DDos’d. It was a massive DDoS that took down my entire
(rural) ISP. Everyone in five towns lost their internet service for
several hours last summer because of these criminals. It definitely
discouraged me from hosting nodes.”
In other cases, entire datacenters were disconnected from the internet
until the single XT node inside them was stopped. About a third of the
nodes were attacked and removed from the internet in this way.
Worse, the mining pool that had been offering BIP101 was also attacked
and forced to stop. The message was clear: anyone who supported bigger
blocks, or even allowed other people to vote for them, would be assaulted.
The attackers are still out there. When Coinbase, months after the
launch, announced they had finally lost patience with Core and would run
XT, they too were forced offline for a while.
Despite the DoS attacks and censorship, XT was gaining momentum. That
posed a threat to Core, so a few of its developers decided to organise a
series of conferences named “Scaling Bitcoin”: one in August and one in
December. The goal, it was claimed, was to reach “consensus” on what
should be done. Everyone likes a consensus of experts, don’t they?
It was immediately clear to me that people who refused to even talk
about raising the limit would not have a change of heart because they
attended a conference, and moreover, with the start of the winter growth
season there remained only a few months to get the network upgraded.
Wasting those precious months waiting for conferences would put the
stability of the entire network at risk. The fact that the first
conference actually banned discussion of concrete proposals didn’t help.
So I didn’t go.
Unfortunately, this tactic was devastatingly effective. The community
fell for it completely. When talking to miners and startups, “we are
waiting for Core to raise the limit in December” was one of the most
commonly cited reasons for refusing to run XT. They were terrified of
any media stories about a community split that might hurt the Bitcoin
price and thus, their earnings.
Now the last conference has come and gone with no plan to raise the
limit, some companies (like Coinbase and BTCC) have woken up to the fact
that they got played. But too late. Whilst the community was waiting,
organic growth added another 250,000 transactions per day.
Jeff Garzik and Gavin Andresen, the two of five Bitcoin Core committers
who support a block size increase (and the two who have been around the
longest), both have a stellar reputation within the community. They
recently wrote a joint article titled “Bitcoin is Being Hot-Wired for
Jeff and Gavin are generally softer in their approach than I am. I’m
more of a tell-it-like-I-see-it kinda guy, or as Gavin has delicately
put it, “honest to a fault”. So the strong language in their joint
letter is unusual. They don’t pull any punches:
The proposed roadmap currently being discussed in the bitcoin
community has some good points in that it does have a plan to
accommodate more transactions, but it fails to speak plainly to bitcoin
users and acknowledge key downsides.
Core block size does not change; there has been zero compromise on
In an optimal, transparent, open source environment, a BIP would be
produced … this has not happened
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. In hindsight, Scaling Bitcoin
stalled a block size decision while transaction fee price and block
space pressure continue to increase.
Failing to speak plainly, as they put it, has become more and more
common. 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). It requires making huge changes to nearly every piece of
Bitcoin-related software. 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.
Replace by fee
One problem with using fees to control congestion is that the fee to get
to the front of the queue might change after you made a payment. Bitcoin
Core has a brilliant solution to this problem — allow people to mark
their payments as changeable after they’ve been sent, up until they
appear in the block chain. The stated intention is to let people adjust
the fee paid, but in fact their change also allows people to change the
payment to point back to themselves, thus reversing it.
At a stroke, this makes using Bitcoin useless for actually buying
things, as you’d have to wait for a buyer’s transaction to appear in the
block chain … which from now on can take hours rather than minutes, due
to the congestion.
Core’s reasoning for why this is OK goes like this: it’s no big loss
because if you hadn’t been waiting for a block before, there was a
theoretical risk of payment fraud, which means you weren’t using Bitcoin
properly. Thus, making that risk a 100% certainty doesn’t really change
In other words, they don’t recognise that risk management exists and so
perceive this change as zero cost.
This protocol change will be released with the next version of Core
(0.12), so will activate when the miners upgrade. It was massively
condemned by the entire Bitcoin community but the remaining Bitcoin Core
developers don’t care what other people think, so the change will happen.
If that didn’t convince you Bitcoin has serious problems, nothing will.
How many people would think bitcoins are worth hundreds of dollars each
when you soon won’t be able to use them in actual shops?
Bitcoin has entered exceptionally dangerous waters. Previous crises,
like the bankruptcy of Mt Gox, were all to do with the services and
companies that sprung up around the ecosystem. But this one is
different: it is a crisis of the core system, the block chain itself.
More fundamentally, it is a crisis that reflects deep philosophical
differences in how people view the world: either as one that should be
ruled by a “consensus of experts”, or through ordinary people picking
whatever policies make sense to them.
Even if a new team was built to replace Bitcoin Core, the problem of
mining power being concentrated behind the Great Firewall would remain.
Bitcoin has no future whilst it’s controlled by fewer than 10 people.
And there’s no solution in sight for this problem: nobody even has any
suggestions. For a community that has always worried about the block
chain being taken over by an oppressive government, it is a rich irony.
Still, all is not yet lost. Despite everything that has happened, in the
past few weeks more members of the community have started picking things
up from where I am putting them down. Where making an alternative to
Core was once seen as renegade, there are now two more forks vying for
attention (Bitcoin Classic and Bitcoin Unlimited). So far they’ve hit
the same problems as XT but it’s possible a fresh set of faces could
find a way to make progress.
There are many talented and energetic people working in the Bitcoin
space, and in the past five years I’ve had the pleasure of getting to
know many of them. Their entrepreneurial spirit and alternative
perspectives on money, economics and politics were fascinating to
experience, and despite how it’s all gone down I don’t regret my time
with the project. I woke up this morning to find people wishing me well
in the uncensored forum and asking me to stay, but I’m afraid I’ve moved
on to other things. To those people I say: good luck, stay strong, and I
wish you the best.
More information about the FoRK