In November, Bitcoin Cash (BCH) will go through another hardfork. As always, there are heated discussions in the run-up. This time it’s about a new algorithm for mining difficulty, which in itself is a necessary improvement. But ABC side developer Amaury is once again turning the community against him.
It has become a tradition in Bitcoin Cash (BCH) that the semi-annual hardfork becomes the subject of discussions, which are always heated and sometimes constructive, sometimes bitter. After all, it is about what belongs in the protocol of Bitcoin Cash, and this should be critically argued about.
In the Cryptocurrency community BCH (or Bcash how many call it) gets a lot of hate and it is rarely used. There are currently no crypto debit cards (find some reviews here) that accept it for example.
It is also part of the tradition that Amaury Sechet’s self-important demeanor always offends the other developers. The chief developer of Bitcoin ABC and self-proclaimed “founder of Bitcoin Cash” can’t let it go this time either.
The reason is the choice of a new “Difficulty Adjustment Algorithm”, read more here. This means the algorithm that determines the difficulty that miners work against. This difficulty must adjust to the hashpower used by the miners so that the production of new blocks runs regularly. For Bitcoin (BTC), the algorithm adjusts every two weeks.
However, for a coin that uses the same hashing algorithm as Bitcoin (BTC, read more here), like Bitcoin Cash (BCH), but pays out much lower rewards to miners due to the much lower market price, this is not enough: the hashrate would oscillate far too much as miners come and go depending on profitability, and the intervals between blocks fluctuate between extremely short and extremely long. A time lapse would alternate with an ice age.
The current spat has a long history
Therefore, Amaury already gave Bitcoin Cash a new DAA with the initial hardfork in 2017. It was good enough to prevent the blockchain from becoming completely unusable, but was so simplistic that miners soon exploited it. In the early months, Bitcoin Cash had extremely erratic block production, which severely limited usability.
That didn’t change until the introduction of a new algorithm in the fall of 2017, where Amaury first had other developers up in arms with an “NIH” mentality. NIH means “Not Invented Here,” and refers to a not-so-rare condition among developers – they only accept what they themselves have invented.
Initially, the discussion of the new DAA took place openly on a mailing list. Tom Harding of Bitcoin XT had developed an algorithm and had it reviewed by an altcoin developer who had a lot of experience with difficulty algorithms. Enthusiastically, Tom shared the extremely positive verdict on a mailing list. However, Amaury and his ABC co-developers withdrew from the discussion, only to announce shortly thereafter that they had decided to use an algorithm developed by Amaury for the upcoming fork. This is Bitcoin Cash’s current algorithm, which, while a major advance, continues to incentivize miners to switch between BTC, BCH, and Bitcoin SV (BSV) depending on difficulty. As a result, block intervals continue to fluctuate significantly.
ASERT vs. Grasberg
Now the same thing is repeated in green. Instead of Tom Harding, Jonathan Toomim proposed a new algorithm two weeks ago. This one is called ASERT.
ASERT is based on the exponential moving average (EMA). According to Toomim, it reduces the loss a constant BCH-mining miner makes compared to a miner who always jumps on the most profitable blockchain from 6 to 0.35-0.65 percent. This would make the incentives to destabilize Bitcoin Cash for a little profit extremely low. Among the extensive series of tests Toomim conducted, ASERT proved to be the algorithm that ensured the most stable block protocols. Therefore, he implemented the code for the BCHN (Bitcoin Cash Node) node software, sent it to Amaury and its ABC developers, and proposed to activate it with the November hardfork.
ASERT is well received. The Bitcoin Cash community is very interested in a new DAA, as the problems with the old algorithm have been known for a long time. Amaury admits as much on a post on read.cash four days ago: “The Bitcoin Cash community has shown a lot of interest in improving the DAA.” And as if Jonathan Toomim’s proposal never existed, he continues, “Although there is wide discussion about possible DAA, ABC does not have a proposal at this time, which means we don’t have enough time to sufficiently simulate and test and discuss it before we freeze the features [for the hardfork] on August 15.”
It’s quirky for Jonathan Toomim to hear Amaury pretend he doesn’t know ASERT. But it is no less surprising when Amaury then shows that the rules he set up apparently do not apply to himself. He pulls a new algorithm out of the bag that no one knows yet and bags it as what needs to go into the hardfork: “Therefore, Bitcoin ABC will proceed with Grasberg DAA.” This algorithm was apparently developed by Amaury without telling anyone about it in the extensive discussions on DAA. Grasberg builds on Toomim’s ASERT – which Amaury apparently does know about – and suddenly introduces “drift correction.”
With the drift correction, Amaury wants to correct something that is the consequence of the old DAA he introduced: Because the miners changed the chain so often, the difficulty was a bit too low on average, which is why a bit more coins were generated than actually intended. Grasberg is expected to correct that by slightly throttling block issuance for the next few years – apparently by 12.5 percent – until it’s back on the original curve.
Then Amaury explains that Bitcoin ABC is already testing the algorithm, “but invites the other parties to reproduce the results – hopefully – or not.” For him, the algorithm no longer seems to be up for discussion.
Missed the chance to be a good leader
The community is outraged and, with few exceptions, on Jonathan Toomim’s side. Why can’t Amaury make an effort to be a good team leader at least once? Why can’t he discuss his proposal like everyone does? Why, without waiting for agreement with the other teams, does he have to introduce it to ABC, risking a split in the blockchain when it comes to fork? Who has ever wanted drift correction? And doesn’t he realize he’s already overplayed his hand with the mining tax? And so on. The exasperation fills many blogposts and threads on Reddit r/btc.
Some BCH developers argue technically. ASERT is much simpler in code, and will be much simpler in implementation. For example, Grasberg apparently requires all SPV wallets to be upgraded, possibly breaking some smart contracts. Also, increasing block intervals until the “drift” is corrected does not sit well with many. After all, it makes Bitcoin Cash slower and reduces the rewards for miners. In addition, ASERT has already been simulated and tested in more detail and is already programmed, while Grasberg is currently still being constantly changed by the ABC developers.
More than the technical details – which speak quite rather for ASERT than for Grasberg – however, the community should be outraged that the “founder of Bitcoin Cash” has once again missed an opportunity to show that he can cooperate with other teams. But perhaps the Bitcoin Cash community also needs this very tension in order to lively and controversially discuss what goes into the minutes.