Extension Block Story

We’re caught up in a shit storm. Here’s the story.

People in the community think ‘bitcoin marketplace’ when they hear about Purse. Our mission was to make bitcoin useful. Like most of you, we love Bitcoin: we get paid in BTC, we pay each other for lunch in BTC, and spend way too much time reading Reddit. We have most of our savings in BTC too.

We focused on improving our product, listening to our customers, and celebrating project milestones. We took the minimum risk path when it came to choosing a stance on the block size debate for three years: neutral. If anything, we were pro-Core and implemented SegWit.

A few months ago, we launched bcoin and migrated Purse’s wallet infrastructure to it. It gave us the flexibility to do cool bitcoin stuff on Purse.


Last 30 days

Last month, we started to get really concerned about the future of Bitcoin: the quality of scaling proposals were deteriorating. We approached it like any other problem. We started talking to users, exchanges, miners, and developers. We talked to representatives from 21, Bitcoin.com, BitPay, Bitmain, Blockstream, BTCC, BTCD, Coinbase, DCG, Ledger, Lightning, Kraken, etc. We talked to both sides to get the full picture. I’ll be blunt here — no one had great things to say about Core’s social relations.

We started with a list of requirements that would make everyone happy: SegWit, softfork, and bigger blocks.

I gathered two of the smartest individuals I knew who shared this common concern. We made sure they had plenty of coffee, tea, and food. I thought maybe if they sat in a room long enough, they would come up with a solution.

After a day, they concluded Extension Blocks was the only viable option. I asked them how long it would take. “At least 6 months to specify and code,” they responded. “Damn,” I thought to myself thinking there wasn’t enough time.

3 weeks ago

We faced the inevitable and started preparing for how we’d handle customer funds in case of a hard fork. But JJ refused to give up. He wrote a draft spec for Extension Blocks in one day and working code in another. Amazed, I called up Joseph and said, “Umm, JJ did it, he has working code.”

2 weeks ago

We started talking to companies to gauge interest, a standard practice in any product development process. We had technical conversations focused on architecture, features, and edge cases. We thought we had a fair shot since we had talked to companies and users about what they wanted first. The challenge was not too many people were familiar with the concept of extension blocks first proposed by Johnson Lau, but the initial feedback was all positive.

We were especially encouraged by Stephen’s feedback in particular and decided to continue circulating the idea, and JJ continued to code. Last Thursday (3/31), we flew to China to talk to miners. After hearing stories about the HK Agreement, we were worried they would be wary of ideas from Western developers. We shared the idea and a draft of the specification with several mining pools, and they all seemed to like the idea too.

This Week

After a 12 hour flight back to SF on Monday morning (4/3), we started thinking about making the idea public. We wanted to make sure it was proposed in as neutral of a way as possible, so we avoided standard practice in Bitcoin Core (BIP) and Bitcoin Unlimited (BUIP). The plan was to publish the spec, circulate the announcement with press, and request community feedback to discuss technical merits.

Then it started to get weird.

Before we had a chance, Samson tweeted saying we had received $300k from Bitmain. It’s a blatant lie. We have not received a dime from Bitmain. Samson was a friend, and he could have easily asked me. Worried that this would paint the idea biased, we rushed out the announcement, specification, and code.

They continued the lies. People I looked up to and even thought were friends started propagating the lies. People were believing lies made up by influencers and trolls alike. The most annoying lies are ones without evidence that can’t be disproved — they persist forever. The narrative was playing out perfectly: evil Chinese miners were funding development.

Some thoughts so far

We were all too naive. It seems we stepped on some toes. We thought that’s what this community was about — decentralized development where anyone could contribute new ideas. Instead, it’s a monopoly spending time, energy and capital defending it.

Regardless, we still believe Extension Blocks is the best scaling proposal on the table. It’s safe, it scales, and it gives everyone what they want. Before Core’s anger, everyone we talked to liked it.

Our goal was not to anger Core, our goal was to do our small part in helping make Bitcoin greater than it has ever been.