On the choice of a new difficulty algorithm for Bitcoin Cash

49 1148
Avatar for freetrader
Written by
This user is who they claim to be.
We have manually verified this user via some other channel.
Proof
3 years ago

The following is a personal opinion / suggestion. I am explicitly not speaking for others in Bitcoin Cash Node (BCHN) here.

In recent weeks and days there has been intense activity around evaluating candidates for a new difficulty algorithm in BCH.

One such algorithm is "ASERT", about which Jonathan Toomim wrote an article and which is being implemented by some developers.

Another is "Grasberg", which Bitcoin ABC announced on July 23 and declared that they would be "moving forward with it".

This declaration has obviously caused some anxiety in the community as the Bitcoin Cash ecosystem must sooner or later choose one of these algorithms if it is to avoid some kind of split.

Failing to settle on a clear choice would result in either

  • not choosing a new algorithm for November

  • two or more teams "moving forward" with different solutions

My strong hope is that both these outcomes can be avoided. The first one would lead to continued poor block confirmation times and bad user experiences on BCH, kicking the problem down the road until some unspecified future time. The second one has the clear potential for a split, which would again be very detrimental to BCH.

Let me be clear: I don't think the Bitcoin Cash ecosystem is well served at all by being pressured to pick the first "available" solution to which one person or team commits itself. This has been tried before and it's why today we have a need to fix the DAA. 🤷

To avoid a recurrence, I want to propose a plan on how to settle on a clear, better informed choice.

This won't take all that much effort, but it will save tremendous costs and allow scarce development resources to be channeled to more productive things than implementing two or more algorithms in every software that validates difficulty. If the ecosystem does not "get its act together" and express what it wants to happen, then those really using Bitcoin Cash have to make plans that cover several outcomes, at greater cost to themselves and their customers.

The good news is there is still time to create a good outcome.

Suggestion for a plan

Step 1: Collect proposals until feature freeze on August 15

Right now, both ASERT and Grasberg are still in the review, testing and specification processes.

15 August 2020 is the so-called "feature freeze" date by which proposed upgrades to BCH should be submitted as specifications accompanied by reference implementations (i.e. code).

The ecosystem should afford all participants the chance to submit their candidate solutions by that date. It is up to entrants to supply their proposals with as much information as possible to allow others to evaluate and be convinced of the proposal's merits.

Since the DAA problem is urgent, unless some big difficulties are found in the current crop of candidates, I would not recommend that the August 15 deadline be extended. This is because much work still has to be done by many people once a choice is made.

Step 2: Review proposals, choose and make your choice known

After August 15, there would be a brief (but not too brief) period where stakeholders review the submitted solutions and then make their voices heard about which one they prefer.

Voting would be on technical solutions, and NOT about particular node clients.

Miners / pool should express their opinions on chain. They can freely change their voting (signal) until some cut-off date when their votes on chain -- and those of other stakeholder signaling on or off chain -- are counted up.

I would suggest that the entire voting period could take 2 weeks -- from August 15 until the end of August -- which should give deciders enough time to consider and express a choice.

Businesses making use of BCH would signal whichever way they usually present similar opinions. For example, via company website, blog posts or verifiable statements from company officers or spokespersons. Main point: send a clear signal to everyone.

Individual holders who wish to demonstrate their opinion could sign statements like "I prefer algorithm X" with some verifiable amount held.

No central authority is needed - we have a decentralized blockchain on which anyone can write. We have cryptographic signatures to give reasonable confidence that a certain party wrote something.

Nobody should feel obliged to justify their stated preference when they express it. Any feedback might however help those who proposed the solutions to do better in future.

Awareness of the process can be spread via the usual media (news sites, social platforms).

Step 3: Collecting the results

This isn't rocket science.

Several people can work together to speed the process up.

They would collect results in a shared public resource that cites the appropriate source references along the listed opinions and counts up the votes for each proposed solution.

A few days (a week at most) should be enough for this, esp. if some planning and coordination is initiated ahead of time.

Step 4: Further actions based on the results

If a clear favorite emerges from the data, then it is "congratulations to BCH community for choosing new algorithm!" and the projects that need to implement can now get on with their job. That's what the time between August and November (realistically, up to about end of October) is for - to implement the upcoming changes expected at the freeze date.

There will still be a lot to do before November to get the new algorithm into all the software that needs to be modified (nodes, SPV wallets, other libraries). But if there is a clear signal, that work has just become a lot simpler.

What if there is essentially a tie between the contending algorithms?

I will hazard the opinion that this is unlikely, as most realize that it would be a more difficult path to resolve.

Essentially, if it does happen, then it boils down to BCH miners deciding this (no, this doesn't have to result in a split - they can resolve it before November).

It's essentially up to the miners what that process will look like.

I'm not a miner, so again this is only my opinion. I'd be strongly in favor of some kind of on chain miner voting to settle things before November.

Why? Firstly, in order that the rest of the BCH ecosystem can verify what happens and secondly, that the wider cryptocurrency community can see that BCH miners value their coin and take an active interest in its health.

There are multiple options in which on-chain voting by miner can be done:

  • coinbase "signs" like /aserti3-2d/ or /Grasberg/ or /noDAAchange/

  • voting bits if they can agree on which bit refers to which proposal

  • BMP (could be a good first real use of this technology)

Again, a situation where miners need to make the decision situation would only be needed if no clear preferred solution has emerged from the previous consultation period. Otherwise this complexity and uncertainty can be avoided.

I believe this also means that the earlier the miners get involved with making their opinions heard, the better for the whole process. They are the deciders of last resort on technical questions whether they like it or not - through running the software that implements whatever choices are made available, they determine the chain's rules.

If there is no clear outcome by end of August, then until the mining preferences have further crystallized through on-chain signalling, software teams could take precautionary steps to protect their users regardless of the outcome in November.

Full node developers could construct software releases which implement two algorithms and let their users select the active one through a software parameter. Non-mining users of full node software could in this way easily switch to whatever miners decide, hopefully ahead of the upgrade.

If miners do well and narrow the choice down before November, software teams can easily remove the algorithmic capabilities that are no longer needed ahead of the upgrade and we all enjoy a smooth upgrade.

What if there is a vocal minority that does not accept the ecosystem's choice?

This is the case where there is a clear, but not overwhelming, favorite solution (e.g. 65-70% supported) but a vocal minority (of 25-30%) announces that it will not honor the results.

I believe it boils down to how much hashrate actually backs that minority, which may be a different figure and vary in the days leading up to November.

Thus, while it is essentially out of the hands of most Bitcoin Cash users, it is still in the hands of mining pools to affect the course of such a faction and to make the odds of success of an attempted split low.

One thing to remember is that is it is fairly well established that in the event of a split, the minority hashrate chain does not keep the name and symbol of the currency from which it broke off. Any minority would have to take this into careful consideration when thinking about whether it is worth it to them to depart from Bitcoin Cash.

I do not believe big BCH miners are incentivized to split Bitcoin Cash, nor are they incentivized to pick a worse solution if given the choice. After all, it is important to all users, including the mining operations, that there is stability not only in the performance of the difficulty algorithm, but also the reliability of the chain and currency to businesses who want to build on a stable Bitcoin Cash.


Lead image: Photo by patricia serna on Unsplash

129
$ 21.87
$ 13.37 from @molecular
$ 1.00 from @lugaxker
$ 1.00 from @im_uname
+ 13
Avatar for freetrader
Written by
This user is who they claim to be.
We have manually verified this user via some other channel.
Proof
3 years ago

Comments

But we are not in boxing rihg, let's agree, and that would be all choosing one of both algorithms, which would be the one with the highest speed and lowest costs, for the participants. that at the end the miners align themselves according to their interests.

$ 0.00
3 years ago

How do you know ABC won't split off as a minority chain? What makes you so sure that exchanges won't assign the BCH ticker to ABC in the event of a fork? Especially the BCH unfriendly exchanges.

$ 0.00
3 years ago

What is your plan how to get amaury to agree to submit himself to the result of the vote, or the miners to run something else than abc?

How fast can we get the holders parliament up?

$ 0.00
3 years ago

the outcome of the vote reflects miners choice. so if they honor their own choice they would switch implementation and it wouldn't matter where amaury stands, right?

$ 0.00
3 years ago

you are talking about miners voting (BMP) right? that is described in the section "What if there is essentially a tie between the contending algorithms?", as a fallback mechanism, not the primary voting mechanism. If it were the primary voting mechanism, you would be right.

but also please remember that "if [miners] honor their own choice ", is a big IF - historically we know they dont - even though they wanted to increase the block size, voted for BU, but then chickened out and stayed with core.

$ 0.00
3 years ago

About your first question:

It's not up to me to "get Amaury on board".

I hope he all agree that a split should be prevented, but based on noises that ABC developers, their "spokesperson" / business development manager and some supporters are making on social media, I would not put a high probability on that.

What is your plan how to get [...] the miners to run something else than abc?

Rest assured, miners and exchanges are in contact with implementations other than ABC.

IMHO the Grasberg algorithm has serious disadvantages compared to ASERT and this should become clear to BCH users the more information is published.

$ 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
3 years ago

well ..this seems like either an extremely naive non-answer or like you want a split, even if you end up being minority.

How fast can we get the holders parliament up? (the social media opinions counting is a complete joke)

How fast can you get non-ABC hashrate to >60% ? (yes i know you are talking to miners, Hearn was as well, thats not an answer)

How fast can you get to >60% hashrate on BMP?

Without very solid answers to these questions, the wish of Amaury camp surely being vocal minority is a bit ridiculous.

$ 10.00
3 years ago

if decision is made in this way, I am happy with Grasberg or asert. I just don't like the dictating by abc.

thanks so much for this suggestion. let's do it!

$ 0.05
3 years ago

stay tuned with BCH

$ 0.00
3 years ago

I hope the Bitcoin Cash communities will get it right this time in order not to delay what is worth done. Thanks.

$ 0.00
3 years ago

I'm newbie here

$ 0.00
3 years ago

Keep sharing

$ 0.00
3 years ago

Nice plan you are created. It's so helpful for those who are interested about BCH.This amazing article is more informative also

$ 0.00
3 years ago

Keep sharing

$ 0.00
3 years ago

keep earnings

$ 0.00
3 years ago

Interesting article

$ 0.00
3 years ago

Good article

$ 0.00
3 years ago

Very nice article. It could be a good opportunity for everyone to learn something. Such a great platform it is. I loved it

$ 0.00
3 years ago

good foundation. Waa you're article was really good, thank you for the information, pleased to read alsooo. More articles and informations coming from youu.

Its great

$ 0.00
3 years ago

Wow what a beatiful picture?

$ 0.00
User's avatar Rom
3 years ago

nice keep posting and sharing good articles

$ 0.00
3 years ago

keep posting.

$ 0.00
3 years ago

keep posting.

$ 0.00
3 years ago

Keep it up

$ 0.00
3 years ago

I'm loving the article but can someone explain to me what he meant by bitcoin cash node ??

$ 0.00
3 years ago
$ 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
3 years ago

Great

$ 0.00
3 years ago

Heya, thanks for this positive way of approaching the issue of one bad apple.

I do agree strongly that the best way forward is to have a general agreement that we should make based on actual finished proposals (preferably a written spec). And then go and have all stakeholders make this very clear to the community.

Where I stray from your suggestion is that you want to ask the miners to make a decision. And this misunderstands the way that Bitcoin works. See, miners are essentially paid by the holders. If they mine a set of rules that nobody wants, they don't get paid because they can't sell those coins they mined.

Miners indeed follow the group consensus, miners don't write rules. From historical evidence it becomes clear that indeed they dont want to be judges (which is why the BMP isn't lifting off). Because this is turning it around. Miners have to decide what to mine in order to sell those coins to us. So if they mine something we don't want, its useless.

The holders are the ones that have to give a clear signal to the miners what they want. We did this loud and clear with the IFP, we can do this again.

I agree with most of what you write, except for the mining voting, as explained above. I think its great to have people state what they want, make it clear what the community (or ecosystem) prefers. Don't even have to wait for August 15th. Start making this clear now and tell your favorite miner to please vote for BCHN today :)

$ 0.02
3 years ago

Miners indeed follow the group consensus, miners don't write rules. From historical evidence it becomes clear that indeed they dont want to be judges.

Five on-chain evidences of Executive Hashpower. https://read.cash/@JavierGonzalez/executive-hashpower-97e56ffb

$ 0.15
3 years ago

Thanks for the link, this shows the point I was making.

At least to those of us who were around for those events. In practically all of those events the miners acted on the wishes of the community. They didn't act first, they acted after consulting with or after a request from the community.

$ 0.00
3 years ago

you are both right, every company has shareholders and executives. ppl are way overthinking this.

$ 0.01
3 years ago

its been great,keep sharing

$ 0.00
3 years ago

This article is well informative and it really help people like us that love BCH and other coins. Miners will never be a detector in crytocurrency. I think is better that way. I look forward for more of your article.

$ 0.00
3 years ago

This article helps me a lot about understa

$ 0.00
3 years ago

This article is very useful especially for newbies like me in the Crypto-World. BCH is one of the curriences that has been introduced to me through online browsing and I loved it! Looking forward to read more articles from you.

$ 0.00
3 years ago

Great

$ 0.00
3 years ago

a perfect imformative and a very nice article. keep it up

$ 0.00
3 years ago

Keep sharing. its great

$ 0.00
3 years ago

Sounds like a great proposal to me.

$ 0.00
3 years ago

Thanks for the article

$ 0.00
3 years ago

It is a DAA. Lets just use what works and move on to more important issues.

$ 0.00
3 years ago

Interesting

$ 0.00
User's avatar By
3 years ago

Keep sharing

$ 0.00
3 years ago

Nice job

$ 0.00
3 years ago

Thank you for considering the BMP as a voting mechanism tool to resolve conflicts.

Related: https://read.cash/@JavierGonzalez/why-bitcoin-cash-need-the-bmp-1a6ab975

$ 0.10
3 years ago

Interesting article

$ 0.00
3 years ago