Bitcoin Cash’s November 2018 fork
A community divided
Recall that Bitcoin Cash is a cryptocurrency spun out of Bitcoin in August 2017 in an effort led by ViaBTC, a mining pool led by Haipo Yang with close ties to Bitmain, and Bitcoin-ABC, a node implementation led by Amaury Séchet. The project strives to be decentralized without formal leadership, but so far has empirically followed the roadmap Bitcoin-ABC has laid out. Bitcoin Cash has attracted a number of Bitcoin supporters who felt disenfranchised by Bitcoin Core’s belief that the base layer cannot and should not scale.
Bitcoin Cash is facing a contentious situation with its planned hard fork upgrade on November 15th, 2018. Rather than being a routine upgrade, as the fork in May 2018 was, this time two camps within the Bitcoin Cash ecosystem disagree about the technical direction of Bitcoin Cash. Both are digging in their heels and have different consensus changes planned.
On one side, Bitcoin-ABC first scheduled a November hard fork on July 5th, 2018. On the other, Bitcoin-SV (Satoshi’s Vision) is a newly created client from nChain, led by Craig Wright. Bitcoin-SV has vowed not to accept the hard fork changes, but prefers its own hard fork changes.
Craig Wright is not messing around and has promised a “hash war.” That is, they plan to attract more mining power on their chain implying that it is the true Bitcoin Cash by becoming the longest or most worked chain. They’ve also implied that they’re willing to attack the Bitcoin-ABC chain by mining empty blocks on it — preventing people from using it.
Led by Amaury Séchet, Bitcoin-ABC has until now been the de facto leader of the Bitcoin Cash project. They propose a number of changes to take effect on November 15th, 2018.
The largest change is enabling canonical transaction ordering (CTOR) which is a major consensus change and breaks certain assumptions in some wallet software. This change is the crux of the hard fork. At the core is its ability to radically simplify block propagation. It enables cutting edge algorithms like Graphene, a method developed by Gavin Andresen for reconciling transaction information between machines, to work more efficiently. For any group of transactions, CTOR allows only a single ordering. You can think of it as requiring transactions to be sorted. This is significant as we no longer need to have the overhead of determining the ordering when distributing blocks. The problem is reduced to determining which transactions to include, and then the order can be inferred rather than explicitly communicated.
Also included are new opcodes (OP_CHECKDATASIG and OP_CHECKDATASIGVERIFY) that allow oracle data to be imported from outside the blockchain. Other small changes such as a minimum transaction size are included to remove problematic edge cases and sources of malleability.
Businesses: Coinbase, Binance, Bitcoin.com
Pools: Antpool, BTC.com, ViaBTC, Bitcoin.com (~24% of hash rate as of November 14th, 2018)
Led by Craig Wright and nChain, this is a fork of Bitcoin-ABC that was just released. Interestingly, rather than stick to the current BCH implementation, they have their own hard fork plans. They plan to increase the maximum block size by a factor of 4 and enable certain scripts that were in the original Bitcoin implementation but later removed for safety.
Craig’s stated ultimate goal for Satoshi’s Vision is to revert the consensus rules on Bitcoin Cash to the original Bitcoin 0.1.0 protocol implementation. Wright contends that Bitcoin was perfect when it launched and developers have been modifying it to its detriment ever since. Craig Wright believes that limiting transaction throughput with a block size limit is a grave mistake, and that engineers tend to make network upgrades unnecessarily complex.
While Satoshi himself did add the block size limit, Satoshi likely intended for it to be a temporary measure, and even suggested a way to increase it when necessary.
Pools: SVPool, Coingeek, BMG, okminer (~60% of hash rate as of November 14th, 2018)
Some developers argue that the removal of the topological transaction ordering breaks certain software expectations. Topological transaction ordering means that transactions spending 0-conf inputs must come after the transactions that create those outputs. Here is a nice summary of the issue. Refer to the hard fork spec discussion for some of the objections to this change.
While there are valid objections to CTOR, Craig Wright has also picked a battle with OP_CHECKDATASIG which would allow the reliable importing of information from outside the blockchain allowing things like oracles. This is a relatively small change and enables novel use cases, but these opcodes did not exist in the original Bitcoin protocol.
Bitcoin-SV’s intention to increase the block size limit to 128MB has many in the industry scratching their heads, as nearly everyone finds this to be a premature change.
A chain split could very well occur leading to multiple assets. Binance and Coinbase support suggest that the Bitcoin-ABC implementation will survive and retain the BCH moniker. Bitcoin-SV could survive but currently appears to have little support outside of Craig’s personal friend, the billionaire Calvin Ayre behind Coingeek.
Throwing an interesting wrench into the mix is the idea of adopting neither modification to the consensus rules. Longtime Bitcoin supporter Cobra has released a client that will do exactly that.
The market will ultimately decide which chain people will want to own. It’s the investors and users that ultimately support the value of a cryptocurrency. Assuming miners are economically and not ideologically driven, hash rate should follow the price. However, Craig is promising to destroy the Bitcoin-ABC chain and we may see miners mine to their own detriment for quite some time to support their ideology.
Disclaimer: Jordan Clifford is a Managing Director of Scalar Capital Management, LLC, an investment manager focused on cryptographic and blockchain related assets. Scalar Capital holds and may invest further in assets mentioned above.