[FoRK] Experimental

Gregory Alan Bolcer greg at bolcer.org
Thu Jan 14 19:34:26 PST 2016


https://medium.com/@octskyward/the-resolution-of-the-bitcoin-experiment-dabb30201f7#.uwhuucm3z

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 
civil war?

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 
common.

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 
random?

     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 
money everyday?

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 
really crazy.
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 
artificial limit.

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?

People problems.

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 
December 2014:

     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 network.”

     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 
system.
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.

Deadlock.

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.
Bogus conferences

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.
A non-roadmap

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 
Settlement”.

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 
that issue.

     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 
anything.

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?
Conclusions

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 mailing list