Understanding the Differences Between Bitcoin ABC and BCHN

25 481
Avatar for jonald_fyookball
4 years ago

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.

4
$ 43.45
$ 17.13 from @Keith_Patrick
$ 13.37 from @molecular
$ 5.00 from @MarcDeMesel
+ 14
Avatar for jonald_fyookball
4 years ago

Comments

If you see my post, please upvote me... please dear

$ 0.00
4 years ago

"It's contentious because it's contentious". That was never a way forward. I was flabbergasted hearing these kind of arguments during the scaling debate, it is 1:1 the same logic as back then. And I would not make it that easy to say that it "introduces" politics necessarily. You could say as well that some weak but very prevalent arguments against it ("IFP is communism! / Hong Kong Shell Corp! Centralization! TAX!") introduced the politics and frankly I don't see why anyone, who actually thinks the IFP is neither of these things would bend over for to that.

That's why I totally understand that the voting mechanism was still put in. And frankly I believe enough in Bitcoin consensus mechanism and a dead straight market-based approach (despite what greenhorn-libertarians say about it) to yield good results.

The only thing left, as I repeatedly said during this time:

"They did it anyway, despite it being contentious!"

Yes, and we forked away from BTC, despite it. So? Aren't we glad we got rid of the mob, who simply were against scaling above 1MB even thought there were little to no good arguments for it? All the pro-ifp people who are now against it and think it is "not worth it" are in my opinion simply saying: "We know there is actually nothing bad to say about it, but because we didn't manage to convince a >loud minority< claiming to be the authority of community decisions I think we should scrap it all together.

I cannot understand how you can get there and I cannot understand how you can get from there to "ABC lost community confidence". Their judgement was right to ignore bad arguments, especially when most of the people don't even try to clarify on supposedly contentious things. And it is imo the inner circles bad judgement of letting people personally invested in attacking ABC or its lead dev amplify the narratives.

Another example of people trying hard to help but doing the exact opposite: Collins interview with you: "Keeping BCH Together - with Jonald Fyookball" If you guys think introducing an ANTI-IFP person without even trying to have someone from the other side invited and then not even at least doing another video with a pro-IFP person, what the hell do you expect? It was called "Keeping BCH Together" ffs. Now I thought you'd be neutral enough and explain both sides, but seeing how you essentially nod away half the things Collin said and even repeat one of the arguments here, I don't see it as "keeping BCH together" at all.

Anyway, let me emphasize: Scaling Bitcoin "introduced politics" as well. With which I mean it gave a cause to some destructive and frankly inveterate people to rally together and be loud to the point of making very unreasonable satetments. And that this was fueled by personal squabbles is self-evident. Even the "success" of all the other nodes is one super biased, super unreasonable investor, who has his own motives and an absolute abysmal judgement. If you are happy you "made" it, with people like him in the back, well then I feel sorry for the low bars you have set yourself up.

This was warned about prophetically years and months ago, before the IFP even happened. Even the first response from Mike in space was a no2x meme. It was very fitting. And it is very clear for anyone, who has a grasp of Bitcoin and stops patting themselves on the back for their "succesfull" decentralization cargo cult raindance, which effectively dropped BCH productivity until one of those nodes manages (if they can) to pull it up again, without relying on ABC (while kicking it's drained out body)

The last sentence of the article is rather grotesk and is very disagreeable in istelf. Their judgement was right. They are playing the infinite game, trying to build BCH and not looking back at arguments, that make no sense or are simply based in biased personal squabbles and which you won't get rid off, while so many of the anti-ifp force is playing the finite game of "wining over" by ousting ABC after 2.5 years of hard work, that still is mostly unpaid. I have no issue supporting other implementations and am happy that this worked out so well for most of them. But I am guessing that a community like this, almost directly trying to drain (even milk) ABC to the point of them leaving, finding all sorts of justifications for that, has lost my confidence in their judgement and I won't be the last one, that leaves that project being appaled and flabbergasted. It's a shame that people don't see it. We can argue all day long whether it was the IFP or anti IFP notion, that has split the community. Making one or the other terminal statement is unreasonable bias.

If "the community" which is frankly not much more but a small and rather arrogant circle in the US, putting themselves higher than the rest of the world, has decided to kick ABC out, then there are still 2.5years of work to be paid imo. 2.5 x 3million so to speak.

If I had someone working for me for 2.5 years on a building and doing actually a great job and if I would decide to end the contract with them right there for personal, ideological reasons or simply technical disagreements going forward, then I'd feel pretty dirty not paying them for the work they'd already done. I mean pretty pretty dirty.

$ 0.00
4 years ago

Thank you for shedding light on the difference between ABC and BCHN. I also say kudos for mentioning IFP and its controversial issues which later brought more popularity to BCH. Your work is interesting, inspiring and educative.

$ 0.00
4 years ago

I am all for multiple teams writing high quality node implementations. I actually hope both ABC and BCHN can improve, and make Bitcoin Cash the best possible currency it can be. However, the fact that ABC has left in the IFP code makes me question their judgement.

Once it was called off, and it was clear that a huge percentage of the community was adamantly against the IFP, it should have been removed. The fact that it is still there after multiple point releases says volumes.

$ 2.67
4 years ago

The fact that it is still there after multiple point releases says volumes.

I think you are reading too much into it. It just says ABC release schedule is valued more than the potential benefit of making a breaking change and removing it, now that bridges have already been burnt with its introduction in 0.21.0.

$ 0.20
4 years ago

It just says ABC release schedule is valued more than the potential benefit of making a breaking change and removing it

the release schedule wasn't valued before. if removing the code is to dangerous, just increase the voting limit to 100% instead of 66%

$ 0.00
4 years ago

Fair. Right now the risk of it being included is non-zero and opens an attack vector on BCH during the halvening. This is just irresponsible and easily could be fixed.

For the most part I have found people to over react about things ABC have done. In this particular case I see no benefit leaving that code in, and have to say I am genuinely disappointed by their response and lack of care about the opinions of the community.

$ 0.10
4 years ago

I would say @Bitcoin_ABC has shown enormous responsiveness to the opinions of the community. The evidence is visible at https://fund.bitcoinabc.org.

$ 0.00
4 years ago

you sound like their pr guy. oh wait... you are him.

and yes, transparency about funding needs and choice is exactly what contributors want. and you delivered that. thank you for that.

unfortunately I cannot bring myself to contribute to abc precisely because of past behavior, especially not removing or disabling the Ifp code. it's an affront to subject the community and coin to such risk. for no reason I can think of.

instead all my funds for infrastructure contributions will go to the other node projects, mainly bchn.

make a flipstarter for "remove ifp code: 3 million usd" and it has a chance

you fucked up imo. sorry, abc fucked up. you personally I cannot fault

$ 0.00
4 years ago

"Removing the IFP" would mean releasing a version of the Bitcoin ABC full node software with different consensus rules than Bitcoin ABC versions 0.21.0, 0.21.1, 0.21.2, and 0.21.3.

We can't just release a version with different consensus rules in the middle of an upgrade cycle.

$ 0.00
4 years ago

Once it was called off, and it was clear that a huge percentage of the community was adamantly against the IFP, it should have been removed.

agreed! what’s the point of leaving in useless code that nobody is “currently” asking for??

$ 0.00
4 years ago

to prepare for drive kind of blackmailing?

$ 0.00
4 years ago

Thanks for this article. Bitcoin Cash need a stable node without aggressive pursuit of money for their work and BCH Node's professionalism is what needed at the moment.

It's not common for any open source project to force monetization out of a previously free software. Node JS team didn't embed a credit card processing inside their runtime library! They created a side company (NPM) to provide additional services for a cost. That's a model worked successfully for many years in software industry for a reason.

$ 0.00
4 years ago

Comparing Node.js to Bitcoin ABC is apples to potatoes. Node.js is javascript. Bitcoin ABC is infrastructure. The former is very front-end, the other is all the way at the back.

Developers can more effectively sell their current or similar products and services by leveraging Node.js, not unlike how anyone can pick up WordPress and build a little business around that.

Bitcoin ABC would have to become a mining operation to achieve the same result. Mining operations have high sunk costs and require a significant up-front investment. This is not realistic.

Any activity that takes protocol developers away from developing the protocol is a complete non-starter. That's like saying, hey I need my car engine at peak efficiency to get to work on time every day, but I ain't paying for it. Mechanic, you should get another job because getting to work on time should be free for me.

Bitcoin Cash need a stable node without aggressive pursuit of money for their work

So you think we're going to build civilization-changing technology on a foundation of unpaid part-time ad hoc when-I-get-to-it volunteers?

I wish we lived in the Star Trek universe too, but in this one we will need liquid resources on hand to command the time and skills of others in order to achieve any given desired outcome.

Anything else is imagination and wishful thinking.

$ 0.05
4 years ago

George I don't think you really know what Node JS is, it's not front-end and definitely not anything like Wordpress. It's a runtime backend library, so basically it's software infrastructure for hundreds of millions of users.

Node JS is way bigger than BCH, being used by many critical web services on the internet. And it is just one out of many other similar software projects which are serving "public good" and they are made by "part-time ad hoc when-I-get-to-it volunteers" until they became big enough to start a foundation and receive community financial support to hire full time developers.

$ 0.00
4 years ago

Node.js may not be as frontend as Vue.js, for example, but it remains much closer to the front end than Bitcoin ABC's BCH full node software.

When I say front end, I am talking about the complete stack from beginning to end, not just the stack for developing web or mobile apps.

Node.js is not critical infrastructure securing billions of dollars in value that has the potential to materially change civilization as we know it. Not to diminish it, of course.

You have not refuted my points at all.

When we have hundreds of millions of Bitcoin Cash users, maybe then your comparison of Node.js to Bitcoin ABC will be slightly more apt.

But it remains apples and potatoes for now.

$ 0.00
4 years ago

Node.js may not be as frontend as Vue.js

node.js is as "Backend" as it gets. ask amaury

$ 0.00
4 years ago

In the web and mobile app world. Not in a stack built on Bitcoin Cash. Bitcoin ABC is "as backend as it gets" if you think of the whole thing from infrastructure to user, which is the perspective I am speaking from.

$ 0.00
4 years ago

10%+ of the blocks are now mined with ... BCHN

This recent report from freetrader says signaling for BCHN decreased.

https://read.cash/@freetrader/bchn-lead-maintainer-report-2020-03-31-1e0a4c39

You are assuming that signaling means mining.

Coindance says it is 3.8%. What is your source for 10% or more?

https://cash.coin.dance/blocks/summary

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.

What is your evidence for this claim?

You present a lot of things as facts here, Jonald, that are more appropriately identified as your personal opinions, or even just wishful thinking.

People asked Bitcoin ABC to do a fundraiser and we are doing that at https://fund.bitcoinabc.org/, complete with business plan, budget and ample feedback mechanisms.

We look forward to everyone's feedback and participation. Bitcoin ABC is committed to continuing on its mission to scale+adopt for 5 billion daily active Bitcoin Cash users, and materially change the world.

Who's in?

$ 2.80
4 years ago

ABC needed to bring someone in who has not been part of BCH until recently because they have fucked everyone in this community in their pursuit of power. You get to be that person. Good luck with the future spin attempts.

$ 7.60
4 years ago

This is demonstrably false, since I have discovered ally after ally of Bitcoin ABC in the course of my work over the last 6 weeks.

Still waiting for the data sources behind Jonald's figures. Did you have anything to say to that point?

~Are you the same guy who was sending me hate mail on Telegram? Looks like the same avatar. Very poor form.~ (See correction below, apologies to blockparty-sh.)

$ 0.00
4 years ago

I've never sent you hate mail. It would make sense you would start spreading rumors about this though, great form spin-man! No wonder you and Amaury get along so well.

$ 0.00
4 years ago

My apologies, it was kosinusbch. I wrote that before my coffee this morning.

Spin is what is happening in Jonald's article here. My response about BCHN blocks is factual and cites sources. Still standing by for any factual sources to support the numbers in the article.

$ 0.10
4 years ago

We look forward to everyone's feedback and participation. Bitcoin ABC is committed to continuing on its mission to scale+adopt for 5 billion daily active Bitcoin Cash users, and materially change the world.

Who's in?

kudos for stating community goal and presenting yourself as the only option to reach it. fact check... you aren't. that's because the community has another goal: diversity of implementation in order to avoid centralization of development by being able to fire a Dev team.

who's in?

$ 0.10
4 years ago

If BCH miners 100% volunteered to run the software with the donations built in, I think this claim would not need to be true:

" It changes the economic policy of the coin, it introduces contention and politics, and it further centralizes development. "

The contention and politics could be designed away by a team effort to make it win-win and automated. Anti-BCH forces will try to make sure it is true, so maybe there is no avoiding such a result when so many BCH fans fall for the deceptions making it seem true. These funds will be paid to miners by the protocol. An IFP that lets the miners determine where some of THEIR funds go does not affect the economic policy of the coin. Only the economics of the miners who earned the funds.

I love Mr Fyookball, but, I have to disagree with this opinion as well:

"... Infrastructure investments are important, but not a critical emergency that demands such a drastic and unpopular change. "

IMO, the ability of BCH to scale for massive worldwide adoption is being developed so slowly we are seriously risking failure of the dream. I see it as a critical emergency problem that is not being addressed. Of course, as I said above, this need not be a drastic and unpopular change. We should be working together to find a better implementation. Instead anti-BCH forces and belligerent BCH fans have successfully split the community and blocked that obvious route.

I agree the IFP, as it stands, should not be forced on the community even if it is a good enough plan to be helpful. With ABC help, the anti-BCH forces have won this round in my view. We will probably not have development funding and may lose important staff/volunteers needed to develop the emergency need for scalability.

$ 1.05
4 years ago