Totaloutput
3 min readNov 3, 2018

About Bitcoin Cash coming November hard fork.

We all know by now, Bitcoin Cash will be hard forking by November 2018, if you don’t know what is hard fork, read here.

From the 2 clients source code, they both have this part in place:

//Bitcoin ABC code:
// Nov 15, 2018 hard fork
consensus.magneticAnomalyActivationTime = 1542300000;
//Bitcoin SV code:
// Nov 15, 2018 hard fork
consensus.magneticAnomalyActivationTime = 1542300000;

Before we dive into coding, some basic background information about Bitcoin Cash and different clients.

BCH (Bitcoin Cash) was a fork itself from BTC (Bitcoin Core), it’s the #4 biggest crypto by market cap, as of this writing, it’s valued at around $8 billion. It has 3 different implementation in C++, they are Bitcoin ABC, Bitcoin Unlimited (the developer found the bug of CVE-2018–17144 is from BU) and Bitcoin SV (Satoshi Version). In terms of how many full nodes each client is running, here is a simple chart from https://cash.coin.dance/nodes

This just to give some background information about the full node distribution of different type of BCH clients. Just another data point, BTC (the bitcoin core) has about 10K full nodes.

Full nodes are not miners, full nodes are the nodes that’s running the code that agrees on the consensus rule, mostly by community user or exchange or merchant. It reflect roughly how big is your network, or how wide is your crypto adopted roughly.

As for Hashrate, BTC is currently at 51Eh/s, vs. BCH is at 3.8 Eh/s. So there are around 15x more miner in BTC compare to BCH. I don’t know how much BCH miner are running ABC vs. SV though.

Now let’s look at different BCH clients. We will call them ABC, BU and SV clients. The hard fork is between ABC and SV, the BU’s position is to support both eventually, the details are proposed in BIP135 voting. Here is from BU’s GitHub:

https://github.com/BitcoinUnlimited/BitcoinUnlimited/blob/5fd8162239b431eb6061d711ae02226c8786a208/doc/bip135-guide.md
With BIP135 a miner can vote for individual features of the ABC and SV November forks. This is meant as an option to let miners compromise on the incompatible forks, for example by activating uncontroversial features but delaying controversial changes.

Back to changes of ABC vs. SV, from the GitHub changes, it is called: MagneticAnomaly. If you need to understand more about what is MagneticAnomaly, here is a reddit post and translation in Chinese.
https://www.reddit.com/r/btc/comments/9ehll3/a_technical_dive_into_ctor/
https://zhuanlan.zhihu.com/p/44885236

ABC included a bunch of changes that will make CTOR better, it’s really not a big deal, it’s a building block to make the future changes easier and to make bitcoin-cash better.

SV doesn’t like it, in stead of simply just NOT doing that feature, they introduced another 128MB change to make the hard fork more look like a hard fork. This is not really that sexy as we don’t even see many 8 mb blocks yet.

Hard fork is becoming “the new normal”, once a specific developer group propose a change, community can buy in or not. Once the change is implemented, the community can decide to upgrade or not. It’s open source and free market, everyone can participate and decide run or not run the upgraded code. In this case, ABC proposed a change, SV can just simply not participate if they don’t agree. Propose another change at around the same time with no technical reason is purely the fight in the layers above coding (politics).