Multiple Implementations and Cooperation in Bitcoin Cash
Bitcoin ABC develops the leading full node software for Bitcoin Cash, which is used to produce more than 95% of all BCH blocks ever. As such, we sometimes are asked our position on having multiple full node software implementations in the Bitcoin Cash ecosystem.
Bitcoin ABC very much welcomes new developers and full node implementations to Bitcoin Cash. We would like to coordinate and cooperate in an open and collaborative process. Multiple BCH full node implementations is ultimately good for Bitcoin Cash.
The Major Proponent
In fact, Bitcoin ABC has been the major proponent of Bitcoin Cash’s multiple implementations model.
Bitcoin ABC chose a name that purposefully differentiates itself from Bitcoin Cash. This is important to separate one particular implementation from the protocol as a whole. It required more work but it helped create an environment where other nodes can thrive.
Bitcoin ABC participated in a meeting in London with other implementations soon after the 2017 fork to ensure that we can have a common roadmap to work towards.
Bitcoin ABC participates in regular developer meetings inclusive of other full node implementations so that matters of consensus and other policies can be agreed upon.
Bitcoin ABC has created many ad hoc workgroups on various topics to facilitate coordination between different developers and teams.
Bitcoin ABC, until recently, was the primary team writing Bitcoin Cash specifications for the longest time - until the recent formal specification effort, which we are happy to see moving forward.
Bitcoin ABC has taken many steps to ensure that Bitcoin Cash can accommodate multiple, thriving full node implementations.
“I can say that ABC has helped out BCHD whenever we had questions or were working on protocol upgrades. The experience with the ABC team in this regard has been excellent and there is no doubt they value the work done by the BCHD developers.” - Josh Ellithorpe #
Competition or Cooperation?
It is important however to understand the proper roles of competition and cooperation with respect to full node implementations.
Should Bitcoin Cash full node projects engage in some kind of ruthless cutthroat competition? If yes, then the steps Bitcoin ABC has taken, noted above, would be irrational. You would expect Bitcoin ABC to instead attempt to crush the competition.
The reality is that BCH full node implementations must cooperate on network policies and consensus rules.
Competition best happens between chains, not within.
Network Predictability is Good
Take the example of zero-conf transactions. The term “zero-conf” or “0-conf”, refers to transactions that have yet to be included in a block, i.e., have zero confirmations so far. Zero-conf transactions can be subject to some risks, such as double-spending and other attacks, if network policies across all, or almost all, miners are not in sync.
If there is intra-network competition, meaning ruthless cutthroat competition among BCH implementations, then it can lead to inconsistent network policies. These inconsistent policies would result in the destruction of value for all users, as hostile actors leveraged our disagreements to attack us, particularly through double-spend attempts made possible by our inconsistencies.
Consistent network policies also increase miner efficiency and lower the miners’ risk of falling out of consensus.
Network predictability is good, and that is achieved through intra-network cooperation. Not competition.
If we can agree on intra-network cooperation, then no winners need be declared, and there is room for multiple implementations in a non-zero-sum game. No winner means everyone wins.
The Need for a Winner
If however there has to be intra-network competition, then there has to be a winner. The end result is further centralization of the network in the hands of the leading implementation.
The need to identify a winner means the competing implementations need to spend time and other resources on an internecine struggle that benefits no one but those who seek to capture Bitcoin Cash or hamper its growth.
The constant drain on resources from such an ongoing fight constitutes a net negative for BCH and reduces the resources available for it to compete with other coins.
Multiple implementations is great. It is only the idea that these implementations must compete at the protocol and policy level that is harmful to the BCH ecosystem as a whole.
Two Different Ideas
It is critical to separate two ideas here that sound similar but indeed are quite different.
Multiple Bitcoin Cash implementations are good.
Bitcoin Cash implementations must fight to see who wins.
We can all support no. 1. It is inherently beneficial for Bitcoin Cash.
No. 2, however, leads to a struggle to see who will control the protocol. This is an inherently destructive process. We spend time fighting each other instead of building Bitcoin Cash so we can compete with other coins and flippen Bitcoin Core BTC.
Bitcoin ABC supports no.1. We oppose no. 2.
Until we gain clarity on this, BCH will remain stuck in limbos, not being able to execute on its roadmap in a way that is compatible with its ambitions of becoming global money — possibly becoming irrelevant in the process or simply losing years of adoption.
The Roadmap
Bitcoin Cash is about achieving the Bitcoin Cash roadmap, which most major BCH players participated in creating. We want to create P2P electronic cash to serve billions of daily users. We have a plan to make this happen.
We must execute on this plan. Debating it endlessly will not get us there. Debate may be intellectually stimulating, but at the end of the day nothing gets done unless we stop debating and start working. This does not mean there should be no debate, it simply means that we most focus on making forward progress.
Disagree with the roadmap if you please. If you think another plan is better, then please execute it on its own coin.
If you think feature-rich smart contracts are the thing, for instance, then join the ETH community. BCH made the choice to have more limited smart contract features so that it can have an architecture that scales better.
If you think that BCH needs to experiment with governance mechanisms by making decisions via X or Y, then try Tezos or a similar coin. BCH is about P2P electronic cash. It already has a roadmap.
There is nothing wrong with any of these ideas. In fact, they are important ideas that demand rigorous exploration. But they are not part of Bitcoin Cash. The purpose of BCH is to become P2P electronic cash by creating a scalable blockchain with fast confirmation times using pre-consensus techniques.
If we want to spend more time debating matters which are already settled; if we want to talk about doing rather than just doing; if we want to foment one rebellion after another; then Bitcoin Cash will continue in its current limbo. Other coins will keep moving forward while we lag behind. Someone else will flippen BTC. The Bitcoin Cash project will fail.
We must execute on the Bitcoin Cash roadmap now and without further delay.
Constant Improvement
Bitcoin ABC aims to constantly improve. We know some people want to make this competitive. We don't see it that way. We just aim to do better today than we did yesterday in the quest for achieving our vision and realizing our values.
That said, Bitcoin ABC is the best implementation available right now, and miners have been choosing it. This is why it is important that ABC be funded now. This is why we are inviting those who want to scale Bitcoin Cash to billions of daily users to donate to our fundraiser at fund.bitcoinabc.org.
Ideally, there will be more production-ready implementations in the future.
ABC is focused on building the best software it can, providing value to BCH businesses and users, and on advancing the roadmap. We are happy to cooperate with other node implementations in advancing these goals.
We have big challenges ahead to gain mainstream adoption, and minimal resources to focus on them.
Let’s all move forward with an open and collaborative approach to growing Bitcoin Cash.
Join Us
Join the Bitcoin ABC team in building censorship-resistant P2P electronic cash for billions of daily users and realizing the vision that is Bitcoin Cash!
Visit fund.bitcoinabc.org to find our business plan, budget, delivery timeline, funding options and feedback mechanisms.
We can only do this together.
Got questions? Ask us below.
Stay Informed
Sign up here to get email updates on Bitcoin ABC.
Other Articles in The Building Series
Read the Fundraising Series
Start here to read the 15 articles in the Fundraising Series.
This article includes the assumption that the ABC Roadmap is the only way to go. So, we all must cooperate to follow the ABC lead. This attitude is what has helped make the current controversy significant. I love the roadmap and ABC, but, I suggest you add a mechanism for proposing changes to the Roadmap and the strategy for implementing it. An effort to show willingness to consider the different opinions of others is missing from this article and much of the ABC writings. I would guess there is some willingness to hear other ideas, that willingness is just not translating into a clear statement that such opportunities are available. I may not have stated this as clearly as I had hoped, but, I think people will get the gist of it.