The Future of “Bitcoin Cash:” An Interview with Bitcoin ABC lead developer Amaury Séchet
If all goes according to plan, August 1st will see the launch of a new cryptocurrency, described as an “airdrop altcoin,” a “spinoff-coin,” a “fork-coin,” a “clone-coin,” or — as the people behind the project call it — “a new version of Bitcoin:” Bitcoin Cash (“BCC”). Anyone who holds bitcoin (BTC) on this day, at 12:20 UTC precisely, will automatically receive the equivalent amount in BCC, attributed to their Bitcoin private keys.
Bitcoin Cash is the realization of the “User Activated Hard Fork” (UAHF) that was first announced as Bitmain’s contingency plan in case of a chain-split caused by the BIP148 user activated soft fork (UASF) — although the mining hardware producer has sent out mixed signals about the project since.
A first software implementation of the Bitcoin Cash protocol, called Bitcoin ABC, was recently revealed by its lead developer, Amaury “Deadal Nix” Sechét at the Future of Bitcoin conference in Arnhem, the Netherlands. Sechét worked at Facebook for the past years and decided to focus on Bitcoin full time earlier this year.
Bitcoin Magazine spoke with Sechét about his vision for Bitcoin Cash.
Anyone in favor of increasing the block size could have forked off for years now. What took you so long?
Well, I wasn't expecting the whole situation to last this long. Bitcoin Classic seemed to get a lot of traction last year, and then the Hong Kong Roundtable Consensus happened, so it seemed like things were working well enough for a while…
This year I started to do research on a scaling solution for Bitcoin myself, at first focusing on extension blocks. Bitcoin ABC was initially a base I could use to build various experiments on top of. I was later contacted by “Freetrader," a developer on the r/btcfork subreddit, who wanted to implement an adjustable block size limit on top of Bitcoin ABC.
Then the whole UAHF plan was proposed by Bitmain. Freetrader and I both thought it was a good idea, so we implemented it.
What is your relationship with Bitmain? Are they funding you in any way?
I got a sponsorship from the Bitcoin Development Grant to do my scaling research. This was mostly thanks to other research I’d done prior. I’m not funded to work on Bitcoin ABC specifically. That was not the original plan; but sometimes you can't predict where things are going to lead.
The BIP148 UASF seems to have been made obsolete by BIP91. Why is this “UAHF” still happening?
That BIP148 was made obsolete only became clear very recently. Uncertainty remained even after SegWit2x [the scaling proposal based on the New York Agreement, and backed by a number of Bitcoin companies and mining pools] was released. Depending on how fast miners would adopt it, the UASF could happen or not. So we continued to push forward with the UAHF.
By the time it was known that the UASF wouldn't happen, it was also very clear that there was strong market demand for the UAHF anyways.
What made that clear to you?
A lot of people contacted us and wanted to launch Bitcoin Cash.
“Random” people? Or also companies, miners or perhaps well-known individuals in the space?
All of the above. But I do not wish to mention anyone specifically. Some, like ViaBTC and OKCoin have gone public. If others want to do that too, they'll have to do it themselves.
More to the point, then: Bitcoin Cash will remove Segregated Witness (SegWit) and will have a default block size limit of 8 megabytes. Why eight, not two or seven or unlimited?
There is a judgment call there. Eight megabytes is large enough to make sure we have a mechanism to adjust it by the time we get anywhere close to the limit. On the other hand, you don't want to go unlimited cowboy style. As the size of blocks grow, there is a lot of work to be done to ensure they keep being processed efficiently.
What if 8 megabyte blocks fill up very fast? It seems evident that the Bitcoin network endured a lot of spam over the past year, for example, that could happen again...
It could, and increasing the block size to 8 megabytes is not a perfect solution in this sense, but it's an improvement. At least at 8 megabytes it’d be more expensive to keep the attack going.
It would be even more expensive to spam blocks full at 16 megabytes. Yet, you won’t increase the blocks to 16 megabytes when the 8 megabyte limit is hit quickly?
I think most people are going to use the default settings at first, so that’s 8 megabytes. After this fork is behind us, we'll make sure to deploy some mechanism to handle the block size so we don't need to play central planners.
What kind of mechanism will that be?
Perhaps BIP100, or one of the other many proposals that have been made.
BIP100 hands control over the block size to miners, which is also controversial. Do you think it will be hard to get everyone to agree on a solution?
I think that people will come to an agreement. The reason there is a split now, is because people have different ideas of where they want Bitcoin to go. Once blocks on Bitcoin Cash fill up, people will still want to go to the same place, so I'm confident they'll stay in the same boat.
Where do you see Bitcoin Cash in relation to SegWit2x?
When I got into this, my idea was that either SegWit2x will fail and we'd get a UASF chain and a UAHF chain. Or SegWit2x would succeed and we’d get neither the UASF or the UAHF. But as mentioned, a lot of people will value the UAHF even with SegWit2x. I don't want to speak for everybody, but concerns about SegWit2x range from the 2x part not being acted upon, some feature of Segregated Witness hurting long-term scalability or simply thinking that the conflict is just delayed and will restart later on.
I do hope we can have a friendly relation with the SegWit2x team. Whoever is better wins in the end.
So that brings me back to my previous question. Those in favor of a block size limit increase hard fork are rallying behind different proposals. And that’s not even taking into account Bitcoin Unlimited’s “Emergent Consensus” and other ideas. If you can’t agree on a single way forward now, what makes you think you can when blocks fill up?
I see all these different proposals as the symptom of a fast moving environment. When I started Bitcoin ABC with Freetrader, SegWit2x and the UAHF did not even exist yet.
Besides, I could say the same for the other side. There was the Hong Kong Roundtable, then SegWit-only, then the UASF, and now SegWit2x which is kind of a compromise between the two sides.
Bitcoin Core has a pretty clear and consistent policy: no contentious hard forks. Without such a policy, don’t you see a cryptocurrency splitting into factions for each disagreement?
That's possible. But Ethereum did a contentious hard fork once as well and did not split any further after that. There is a strong incentive to stick together: People will split only if there is a strong difference of vision.
You’re not the first to have a “difference of vision” for Bitcoin’s direction. Litecoin was created to offer a better payment experience. Dogecoin was, likewise, lauded for its micropayment potential. Why not just use an altcoin, instead of forking away from Bitcoin?
Litecoin developers seem to mostly have the same vision as Bitcoin Core developers, so I don't think that’s a good substitute. Dogecoin has infinite inflation, which doesn’t make for a sound money. I could go on for each altcoin, but that'd be a very long list.
Let me slightly re-phrase the question, then: Why not create a new altcoin from scratch, specifically designed for the purpose you have in mind?
Most altcoins try to do something more than Bitcoin, which is fine. But we aren’t. Bitcoin decided to take a road with Segregated Witness and off-chain solutions. We are trying to continue to do what Bitcoin has been doing for some time.
I also ask this because the name “Bitcoin Cash” could be confusing for people, to the point where some consider it misleading or even fraudulent…
I did not come up with that name, but I like it. People will complain no matter what. This project wants to continue Bitcoin and grow it to become a peer-to-peer electronic cash used worldwide. Adding “Cash” seemed like a good way to differentiate and also convey the vision.
According to Merriam-Webster, “cash” means either “ready money” or “money or its equivalent (such as a check) paid for goods or services at the time of purchase or delivery.” How does that not apply to Bitcoin itself?
The second definition in particular doesn't quite work with high fees. If I buy something for $5 and I pay a fee of 50 cents, that's a big deal. Too much friction.
“Low fees” or “low friction” is not part of either definition.
But I want bitcoin to be a widely used electronic cash. A cryptocurrency that is used for day-to-day inexpensive stuff, as well as expensive purchases.
Because of the risks presented by bigger blocks, Bitcoin Core developers generally prefer to offload the day-to-day inexpensive stuff to layers built on top of the blockchain. Does Bitcoin Cash have no plans to adopt SegWit, or the Lightning Network, or other second-layer technologies at all?
I’m not against Layer 2 technologies themselves, they can add value. I’m just against not growing the base layer.
Bitcoin Cash will probably not see SegWit in its current shape, not as a soft fork. But fixing malleability and enabling Layer 2 solutions will happen. Technology to enable building blocks over time, such as weak blocks, is also important to improve 0-confirmation security and scale to bigger blocks.
Another reason some rallied behind SegWit is that it would block covert use of the patented AsicBoost mining technology. Do you have any plans to block AsicBoost?
I crunched the numbers for the potential benefit that miners can get from AsicBoost, and I think SegWit doesn’t change that much. It’s a lot of noise for nothing. I don’t really plan to spend much time to either help or hinder it. There are more interesting and important things to do.
Who’s going to be developing Bitcoin ABC, or the Layer 2 solutions you mention? Because, let’s be honest, you don’t have much support from Bitcoin’s development community so far.
We do not plan to develop Layer 2 technologies; we plan to enable them. We ourselves will focus on the protocol itself, so on malleability and weak blocks. We have enough people to make it happen.
Apart from myself and Freetrader, Bitprim has been helping. That is a company that's building infrastructure for Bitcoin. Bitcoin Unlimited developers Andrea “Sickpig” Suisani and Antony Zegers have been helping out with Bitcoin Cash as well. And like other open-source projects, we have a kernel of people that contribute on a regular basis and even more that add a patch or two or help us with a specific problem.
The Bitcoin Unlimited developers in particular don't exactly have a pristine track record, with network-wide node crashes caused by bugs. Will this be any better for Bitcoin Cash?
We have a very different way of doing development than both Bitcoin Core and Bitcoin Unlimited, mostly derived from my work at Facebook as well as LLVM where I worked prior. We focus on doing many small incremental changes rather than fewer, bigger changes. This makes code review easier.
Surely Bitcoin Core has a lot more review happening though, simply because they have more developers?
Core has a lot of developers, but also a process that is slow. Slow processes generally tend to have fewer errors, but also make errors more costly because the slow processes also apply to fixing errors. There is a sweet spot between those two. I think we strike a good balance with Bitcoin ABC.
Let’s assume you are right about being being capable of maintaining a multi-billion dollar project — but wrong about it ever becoming a multi-billion dollar project. What if users don’t choose Bitcoin Cash over Bitcoin? Are you committed to Bitcoin Cash even as a smaller coin?
“What if I’m wrong?” That's a question I'm asking myself all the time. In fact, this is the very reason I think it is misguided to bake economic constants, such as the 1 megabyte limit or the weight system, into the protocol. Not only do I know I may be wrong, but I'm also convinced that most people don't know any better than I do. Figuring out what the market wants is a fool's errand. You got to try to do what you think is best and adapt as the situation changes.
I think it is pretty much inevitable that BCC starts as a minority coin. But longer term, it will either overtake Bitcoin or it will create an incentive for Bitcoin to scale. In either case, that'd be a win.
Yet, I may be wrong. Maybe the value of BCC will quickly drop to zero or close to zero. But unless it does, I will continue to work on Bitcoin Cash.
Disclosure: Aaron van Wirdum, the author of this article, holds BTC and will therefore also own BCC on August 1st.
August 1st - 6:22 pm UTC Update:
No Bitcoin Cash blocks have yet been mined. If six consecutive Bitcoin Cash blocks take more than twelve hours to be mined, difficulty for the block after that is decreased by 20 percent. Sechét remains hopeful that the chain will get rolling eventually.
"So far, it looks like the blocks are going to be slow the first week until difficulty readjusts, then it should be good," he told Bitcoin Magazine.