Resolving the IFP Situation

22 788

Currently, the Bitcoin Cash community is in a bit of quandary due to the proposed IFP (Infrastructure Funding Plan).  The lead implementation (Bitcoin ABC) is in favor of the proposal and has integrated it into their latest software release.  Yet the community (at least the western community) is overwhelmingly opposed to the plan, and a group of a dozen heavyweight developers have already created a forked version of the ABC software without the IFP, called Bitcoin Cash Node (BCN).

The main point of this article is to try to resolve this conflict peacefully, or at the very least, offer up some ideas and food for brainstorming that others can build on.  

Although my personal views are maybe not that relevant, I’ll share them anyway:   I’ve come full circle on the IFP. First, I thought it was a good idea. Then, it seemed bad simply because it was very controversial.   Finally, I came to generally oppose it on principle, because I believe this is tinkering with the protocol in such a way that introduces unnecessary human conflict (politics), and makes Bitcoin Cash less like sound money.  That we already have a huge conflict and the IFP hasn’t even launched, is evidence in favor of this theory.

Of course, the other side of the argument is that Bitcoin Cash cannot afford to neglect infrastructure, and it is true that one critical bug could bring down the network.  In a recent developer meeting, Amaury Sechet mentioned that he thinks the community can find a solution “that makes everyone happy.” That is good. It shows a willingness to want to amicably resolve this situation.

And I do think it should be resolved sooner rather than later.  It’s a bad idea to leave Bip9 voting on a minority chain. Plus, the lingering uncertainty around this may have a negative effect on price.

Joining Forces

At first, I thought that this was an impossible situation.  We don’t want to mess with the protocol and pay out of the coinbase, but at the same time, other ideas to support infrastructure haven’t panned out.  On top of that, some people are (understandably) upset with Bitcoin ABC right now. There is also a new node team that is opposed to IFP and believes the bip9 activation with 66% to be unacceptable.  ABC has their own perspective and perhaps are waiting for alternatives to be presented.

And then it hit me!  Why not have Bitcoin ABC and Bitcoin Cash Node join forces?   

Wait a sec, what?  Join forces? How? And how does that solve anything?

What Does Each Side Want?

First, we have to understand what each side in the conflict wants.  The “No-IFP” side wants Bitcoin ABC to release a new version that would eliminate the IFP.  This would create a great sense of relief and dispel market uncertainty, and allow the community to refocus on building.

Bitcoin ABC, although not the sole supporter of IFP, has control over the lead implementation software, so let’s call this the “ABC side”.  They want money. Perhaps this is a combination of wanting to fund infrastructure as well as wanting to pay some bonuses. So far, so good.

Amaury has often rightfully complained that many responsibilities have fallen to ABC and that others haven’t pulled their weight.  But now, we have BCH node developers pledging their time. The “no one stepping up” problem just got solved, assuming those developers follow through. Overall it’s a group I respect and have a lot of confidence in both their ability and integrity.  

The Idea of a Dual Team Model

In an article I wrote last year about Bitcoin governance, I explained the difference between having a lead implementation direct the protocol (as Bitcoin ABC has done), and having multiple implementations jointly making decisions.  Bitcoin Cash began as an attempt to take a multiple implementation approach, and fell apart almost from the start. (Whether you blame BU or ABC for this doesn’t matter.)

Bitcoin Cash Node has a credible team, and are the kind of people I believe could collaborate well with ABC.  They are already taking actions to gain node and mining share, and I believe they will have some success. The controversial nature of the IFP is the catalyst.  

Thus, the “dual team” model isn’t so much a proposal, as a description of what is happening.  Of course, the two teams would have to agree on the same rules (no IFP), and then we can all move forward.  And then in the future, hopefully consensus will be reached between the two groups on any major decisions involving the protocol. 

The fact that the codebases are common is a big benefit that would allow these two groups to maximize collaborative efforts, as well as avoid consensus bugs.

It’s All About Getting the Roadmap Done

Everyone has their own unique gifts, skills, and abilities.  As people in our community have mentioned many times, Amaury’s talents are in the technical realm, and not in management or communication.  Thus, Amaury is much more suited to be a lead engineer than a project leader or maintainer.

The dual group model allows this without asking anyone to change anything.  Amaury doesn’t have to give up any control of Bitcoin ABC.

Although perhaps Amaury wishes to have “5 high paid devs he can boss around” as some have alluded to, and maybe it sounds “fun” to him, I am fairly sure it would actually be stressful and draining for Amaury in practice.  It would also be inefficient and with high turnover.  

Maybe it is best if ABC stays small in terms of personnel.  Amaury can continue the great work that he’s doing, and other developers can work freely on the Bitcoin Cash Node, and changes can be ported to ABC.  If Bitcoin Cash Node is doing infrastructure work, then the original goal of having millions of dollars worth of infrastructure development is met.

With the help of Bitcoin Cash Node, ABC can get the roadmap done faster.  That should be what this is all about. ABC benefits greatly from being able to backport from Core, so if BCH Node also has high quality code, then ABC can port from them too.

Building Culture

Interestingly, it has been Amaury as a thought leader who first called attention to some of the issues facing our community and the need for better culture. Amaury has struggled to do this within his own organization for the simple reason that he’s not a natural project leader.   

I can attest to the fact that there is a much voluntary development that you get for free when you build a positive culture.  Just look at the Electron Cash and SLP sub-communities. This is all about attracting developers. In my opinion, the Bitcoin Cash Node team now has the responsibility to build culture and attract talent on the protocol level.

Sweeten the Pot

Of course, ABC wouldn’t be completely happy with a deal where they get nothing and we just say “BCH Node will handle infrastructure needs.”  We should give ABC some money, too. It can be for bonuses or whatever. But, the point is, it can be much less than the millions previously discussed, since BCH Node will be picking up a lot of the slack.  

If this seems like a “shameless bribe”, so what?  It’s voluntary and that’s the whole point, right?

More Money

I think there can also be additional fundraisers for BCHD, ABC, BCH Node, etc.  If ABC is able to meet the community by cancelling the IFP (even under a special deal) , there will be enormous goodwill generated and this opens the possibility for more money to come in.  

In Summary


The BCH Node was born out of controversy, but now presents itself as part of the solution in providing skilled developers that can assist with infrastructure efforts.  ABC and BCH Node should work together, with each group doing what it does best, and in addition we should find a way to offer ABC some amount of immediate funding as part of the solution.

If others in the community resonate with this article, their next steps should be to try to create a proper place/time to discuss such matters between key stakeholders.

3
$ 20.06
$ 5.00 from @majamalu
$ 5.00 from @zveda
$ 2.00 from @rosco
+ 15

Comments

I have no problem with anyone paying their own money to anyone else in the world :)

$ 0.62
4 years ago

I applaud this effort to try to heal the divide and keep the community together. Hero-level behavior as usual from Mr. Fyookball. Whether this succeeds or not, this kind of thinking is what BCH needs.

This Sounds great, in theory, if we get 5+ Mil worth of volunteerism, donations earmarked for important work + undesignated funding. I think shifting the supposed "power grab" from ABC to the BCN team can be OK. Designating where donations go would have issues, but, they need not be the disastrous kind of issues many claim. If BCN has control of the new funding, I hope they offer to take some of the responsibilities that are overburdening ABC off of ABC. I think this could be a win-win.

I am not sure BCN really has any plans to do more than just split off an ABC copy without IFP. If that is and remains their plan and they get the new funding with the intent to not do the work BCH needs the funding for, I am not sure that would be a good way to compromise.

I have never cared who does the work, but, I do care that we get BCH scaling for massive worldwide adoption ASAP. Many may not agree with my opinion on that, but, I would like to hear how any compromise will make progress to achieve that part of the work. I have no right to demand that info, I am just hopeful we may get a plan that has details like that.

Unimportant nitpicking: I believe claiming "the community (at least the western community) is overwhelmingly opposed to the plan" is an exaggeration influenced by a vocal minority that includes the anti-BCH social engineering forces working to make it seem like a majority want's to split the community. I would estimate it around 50/50 of the real Western BCH community. It does not really matter though, because there is a real split in the community now and that is not OK.

I am still concerned there are anti-BCH forces hiding in and behind the anti-IFP team, but, I agree many of those "stepping up" are very skilled and trustworthy. While they stay involved, they should be able to discover and block any attempts to sabotage BCH coming from inside their team.

$ 0.06
4 years ago

Wow what a great write up.keep up the good works

$ 0.00
4 years ago

I have to be brief because a little busy right now, but I'd like to say a few words in response.

I must disagree about the "Sweeten the Pot" section.

It's a free market, and who are we to decide the pay of ABC developers?

My stance is: I support all Bitcoin Cash developers earning high salaries for difficult work!

That includes Amaury, whose contributions have INSPIRED Bitcoin Cash in many ways and are STILL guiding us on the roadmap.

So let's get this done TOGETHER.

I fully support Jonald's "two-teams collaborating" approach - 100%.

Amaury and colleagues at ABC continue to have my highest respect for the technical work

We welcome any of them to join along with us to develop the roadmap further.

The Bitcoin Cash Node project and team stands together with them on the battle line against unsound money, and for the most robust, reliable and liberating peer to peer electronic cash.

For Bitcoin (Cash).

$ 12.01
User's avatar freetrader
This user is who they claim to be.
We have manually verified this user via some other channel.
Proof
4 years ago

Jonald in pure self-serving fashion says Amaury called attention to the need for better culture.

Well, Amaury said we have to ostracize bad actors. If a guy who tries to hotwire the protocol to pay himself is not a bad actor, then who possibly can be.

$ 0.00
4 years ago

pure self-serving fashion

I'm trying to resolve the situation for everyone. How is that self-serving? Your pot-stirring isn't helping here.

$ 0.00
4 years ago

To be fair, the miners initiated the IFP; and asked ABC to implement it. The way in which Amaury implemented it really sucked and caused a big backlash. We have to take things in perspective: without Amaury, there likely would be no BCH and the dream of of p2p electronic cash would be dead.

This is in no way comparable to Craig Wright (who Amaury was referring to in that quote, I think), who appeared out of nowhere, tried to scam a bunch of people, harassed more people, sued some people and was just a gigantic waste of time and space. His "contribution" was clearly a net negative.

$ 0.00
4 years ago

Do you also believe it was Jar Jar's idea to grant emergency powers to Senator Palpatine?

$ 0.25
4 years ago

I fully support Jonald's "two-teams collaborating" approach - 100%.

Sounds good. What sounds better is a 5 team collaboration. There are now 5 different full node implementations for Bitcoin Cash! I think the best results are had by them all aiming to work for the betterment of the coin.

$ 0.00
4 years ago

Well, we already collaborate with the others, so... my comment was purely in the context of what appears to be the present divide.

$ 0.00
User's avatar freetrader
This user is who they claim to be.
We have manually verified this user via some other channel.
Proof
4 years ago

Interesting proposal, kudos!

$ 0.50
4 years ago

I like how people start talking about how electron cash shouldn't be on the IFP whitelist, and here we are less than a week later with this.

$ 0.00
4 years ago

If you're tired of J-Stodd's spamming, you can go to his read.cash profile and block him like me.

$ 2.25
4 years ago

Noted.

$ 0.00
4 years ago

Jonald won't do that, I am certain of this. The article and Jonald is clearly not unbiased and it would have been prudent to include a warning of conflict of interest.

If you re-read the article you might notice that all suggestions are towards having Amaury keeping control, keeping the miners on ABC. Losing the battle in order to stay in the war.

I like the idea of miners using multiple clients, but notice that Jonald never suggests this, he writes that he wants miners to keep using ABC and good research is ported from Bitcoin-cash-node to ABC. While keeping Amaury fully in control over what code the miners run.

I think it is useful to remember the good old saying: fool me once, shame on you. Fool me twice shame on me. So, why would we want to have Amaury keep control over what the miners run?

$ 5.10
4 years ago

Jonald's plan would give bitcoin cash node a chance to actually be used by miners who don't trust Bitcoin ABC's leadership. If it turns out to be a reliable team, if they produce a positive track record, in the future it could put them in a position to actually be able to hard fork the network if ABC were to act in a way that was actually bad for BCH (as opposed to the current situation in which the only thing that you can trust BCH Node for is to duplicate Bitcoin ABC minus the IFP).

$ 0.00
4 years ago

"Finally, I came to generally oppose it on principle, because I believe this is tinkering with the protocol in such a way that introduces unnecessary human conflict (politics), and makes Bitcoin Cash less like sound money. That we already have a huge conflict and the IFP hasn’t even launched, is evidence in favor of this theory."

Exactly.

$ 0.05
4 years ago

Interesting idea. Having more developers actively involved in the code base of the reference node implementation is certainly helpful. Doing that via two distinct projects and github repositories may however be a new source of conflict. Who gets to make the call of which piece of code meets the standards? Are we going to see the code base diverge due to minor code style differences? Is each team going to trust the other team's review process, or will the code review effort be duplicated?

$ 0.00
4 years ago

If this two-teams work some day, I think the better could be : one team review the code of the other.

$ 0.00
4 years ago

Agreed 100% that this would be ideal. But then it would effectively be a single team, the two repositories would just be a useless extra complication.

This would require a governance mechanism to arbitrate conflict. And I really think the only practical governance in open source is a BDFL.

$ 0.00
4 years ago

The narrative of this article seems to put BCHN on the same footing as ABC, but the fact is that ABC has produced high quality, steady output for two years while experiencing non-stop adversarial conditions and inconsistent funding... and the BCHN fork has yet to be released.

I want to see the developer community reach consensus as much as anyone. But as an application developer, I also want to build on top of bug-free software, built by teams with a proven track record, which is making steady progress on the road map. I also want to know that the implementation I build on will be around and supported for the next two or more years. I want to build on the same software that the majority of hash power feels comfortable running too.

The unanswered questions in my mind:

  • Can any funding method other than the IFP lead to reliable financial contributions?
  • Can any team other than ABC consistently release bug-free code that I can build on?
  • Will a significant percentage of the hash power run an implementation other than ABC?

These questions can only be answered over a significant period of time. And that kind of time is something the community doesn't have. Funding has been an issue for a long time, and the IFP is a result of the BCH communities inability to properly address it for two years.

$ 1.15
4 years ago

bug-free proven track record

Nope. Were you around for May 2019? That cost miners a lot , and was not in BU. ABC also had a significant memory leak from January to April that constantly brought down my nodes rendering them ill suited for continuous operation, which echoed earlier BU problems.

A large part of the non-stop adversarial conditions and inconsistent funding turned out to be self-inflicted.

Admittedly the code is cleaner and the tests more robust, but that does not give free license to claim anything one wants. It's time people drop the half-truths, and face facts honestly.

$ 6.15
4 years ago