If you follow the Bitcoin Cash community, you may have noticed that 10%+ of the blocks are now mined with an alternative implementation called BCHN, instead of the reference client (ABC).
What is BCHN? Where did it come from and why? And what will happen next? This short explainer article may help answer those questions.
The existence of BCHN (also called “Bitcoin Cash Node”) arose from a controversy over the Infrastructure Funding Plan (IFP). So, first we need to understand the IFP.
What is the IFP?
The IFP was a plan that sought to introduce a new consensus rule that would require miners to donate 5% of their mining reward to development teams in Bitcoin Cash. It was first officially proposed by Jiang Zhuoer (from BTC.TOP) after being recommended by Electron Cash developer Jonald Fyookball on behalf of Bitcoin ABC. The purpose was primarily to raise funds for Bitcoin ABC.
But, after a huge backlash from the community, both Fyookball and Zhuoer withdrew their support for the plan. Roger Ver (chairman of Bitcoin.com) was one of the names on the initial proposal and also withdrew support. The IFP, at this point, has little support from the community. In fact, the rejection of the IFP has been so strong that a group of Bitcoin Cash developers created an alternate node implementation called Bitcoin Cash Node (BCHN).
Reasons for the IFP Rejection
Initially, the IFP seemed to be a smart idea. Paying developers out of the coinbase could provide useful funding for Bitcoin Cash while avoiding both the “freeloader” problem as well as the problem of corporate capture.
However, it is a radical change from how Bitcoin has operated for 11 years and is arguably incompatible with Bitcoin Cash’s desired identity as the legitimate continuation of the Bitcoin project. It changes the economic policy of the coin, it introduces contention and politics, and it further centralizes development. Many high quality people would leave the project if the IFP is activated.
Even those in the community who are sympathetic to the plan believe that it is simply not worth it, if it is going to wreck the community or cause a split. Infrastructure investments are important, but not a critical emergency that demands such a drastic and unpopular change.
Bip9 Voting and ABC Response
The IFP requires a Bip9 voting (miner voting) to activate. The activation requires 66% of blocks to vote in favor of the IFP in any given period of 2016 blocks. While this seems reasonable and “leaves it up to the miners”, the problem is that Bitcoin Cash is a minority fork of BTC, and thus it would only require about 2% of the total SHA-256 hashrate to cause IFP to activate.
If any substantial group of SHA-256 miners wanted to maliciously cause IFP to activate (just to create drama or controversy), they could do so.
Despite this danger, despite the community being against the IFP and asking ABC to remove it, despite the fact no miners are saying they want it, and even despite Jiang Zhuoer saying he will use his personal hashrate to vote against the IFP, Bitcoin ABC has refused to remove the IFP from their software.
They have given no explanation for this decision, leaving the community to speculate on the possible internal motivations for their bizarre behavior.
In addition, Bitcoin ABC controls the Bitcoincash.org Website and BitcoinCashorg github repository where a developing specification for Bitcoin Cash is being worked on. On Bitcoincash.org, ABC only lists their own implementation as “compatible” with the May 15th 2020 upgrade since none of the other implementations (Bitcoin Unlimited, Bitcoin Verde, BCHD, Flowee, BCHN) will implement the IFP.
Worse, ABC has forcefully pushed the IFP into the work-in-progress specification for Bitcoin Cash, despite it being highly controversial, unpopular with essentially no support outside of ABC, and over one month beyond the deadline for specification changes that ABC itself created.
Key Differences Between ABC and BCHN
Bitcoin Cash Node (BCHN) was created as a recent fork of ABC, but without the IFP. Thus, the codebases are nearly identical, but with the absence of the IFP.
Also, there is a new team taking charge of BCHN, which includes developers from several alternative node implementations, including former ABC developers.
Migration from ABC to BCHN
As blocks are already showing, there is a migration underway to abandon the ABC client as the main reference and mining implementation for Bitcoin Cash. There are two reasons for this.
First, there is still a risk of IFP activating. If the IFP activates, it will almost certainly cause a chain split. Running BCHN is the less risky option because it will follow the longest chain and only contribute to a split if there is significant hashpower behind it. ABC on the other hand, will reject any BCHN blocks that do not have the compulsory “tax” included.
Secondly, by refusing to remove the IFP from their code, Bitcoin ABC is behaving recklessly and demonstrating poor leadership, if not outright participating in an attack on Bitcoin Cash. Although Bitcoin ABC should be respected for their efforts so far over the last 2.5 years, the community has lost confidence in their judgement and is calling for their replacement.