Barely a year into existence, Bitcoin Cash appears headed for a hard fork, with nChain’s Craig Wright and Bitmain’s Jihan Wu on opposite sides.
One week after celebrating the first anniversary of bitcoin cash’s split from bitcoin, Bitcoin ABC laid the groundwork for another schism. On August 8, the full node, which nearly 2/3 of bitcoin cash nodes run on at any one time, published planned changes to the network’s consensus protocols.
Craig Wright, one of the most prominent figures in the BCH community, didn’t like them. As chief scientist for nChain, the self-described “global leader in research and development of blockchain technologies,” Wright’s opinions carry weight with many bitcoin cash enthusiasts, despite (or perhaps because of) his assertions that he is Satoshi Nakamoto.
So, nChain announced on August 16 that it would launch its own full node, Bitcoin SV (for Satoshi‘s Vision). That full node contrasts directly with Bitcoin ABC in three main ways.
First, Bitcoin ABC wants to use a new opcode (or command), OP_CHECKDATASIG, which would “enable uses such as the use of oracles and cross-chain atomic contracts.” In short, Wright wants to curb the adoption of any opcodes that would litter the network with non-cash transactions. For Wright, cash is the network’s primary utility.
Second, Bitcoin ABC introduces canonical transaction ordering in v0.18.0. Canonical transaction ordering reduces how much data needs to be sent between nodes. The transition to this type of ordering may help scale the network in the future.
But that’s too late for big block supporters, because the final and most important disparity between the software is block size. Bitcoin SV wants the maximum block size to be set at 128MB. Bitcoin ABC, meanwhile, sees the current 32 MB as a more reasonable limit for now.
Is All This Really Necessary?
Imagine that the Bitcoin Cash network is a small town with no stoplights. Should it construct a 4-lane highway with wide shoulders (so it can add lanes later) or is it better to build that 16-lane freeway right now in anticipation of the millions who might one day move there? Clearly, Wright has a vision for a widely used cash network. But the current blocks are nowhere near that size. Blockchair’s lead developer Nikita Zhavoronkov took to Twitter to call Wright’s proposed changes “unnecessary and dangerous,” before concluding: “Almost all proposed changes are premature optimizations; no demand for that; this will only hurt the ecosystem.”
Whether or not the changes are, in fact, dangerous is up to debate, but the core of the argument seems to be that the speed of growth will require code changes that may leave security holes if not carefully implemented.
The Miners Decide, but Who Are the Miners?
With Bitcoin Cash, it’s governance by hashrate; Miners ultimately vote for what they want with their hash power. Therefore, all eyes are on what the major mining pools will do.
Coingeek, currently the largest pool, is aligned with nChain. In fact, as Coingeek founder Calvin Ayre explains, Coingeek is behind the push for Bitcoin SV:
“Because miners should drive the roadmap in the Bitcoin space, CoinGeek and other miners asked nChain to create a professionally-driven implementation of the Bitcoin full node software (for use on BCH) that restores the original Bitcoin protocol. CoinGeek is sponsoring the project and intends to mine with Bitcoin SV.”
Other mining pools are aligning with Bitcoin ABC. These are spearheaded by Bitmain founder Jihan Wu, who operates the BTC.com and Antpool mining pools. Wu made waves recently by calling Wright “a fake Satoshi” on a private group chat, suggesting the nChain pitchman’s article on opcodes was nonsensical.
ViaBTC, another pool which has received Bitmain investment, is likely with them. ViaBTC CEO Haipo Yang has previously sparred with Craig Wright over block times. (Yang wanted them to drop to 1 minute, instead of staying at 10 minutes, which is a holdover from prior to the BTC/BCH split.) After Yang expressed support for keeping block size to “a reasonable limit,” he and Wright engaged in a Twitter dialogue that ended with Wright providing perhaps the worst insult in BCH land: “You ARE being core.”
Yet it’s unclear how much hash rate each side controls. According to figures compiled by Coin Dance, Coingeek controls anywhere from 27 to 29 percent. BTC.com, AntPool, and ViaBTC collectively control 16 to 21 percent. BTC.com’s own pool distribution numbers, however, are showing huge strides by Coingeek. Over the past three months, it’s claimed 20 percent; the last month nearly 30 percent; the past three days over 38 percent. Yet it removed unknown mining pools from the total; Coin Dance, on the other hand, classifies 27 to 30 percent of pools as unknown.
Still, supposing that BTC.com’s numbers are accurate – and if Coingeek can persuade the mining pools that have not stated their position – Craig Wright may yet win this battle. What “winning” means in this context, however, is unclear. The Bitcoin Cash name won’t be worth anything if the changes are as disastrous as Zhavoronkov implies.
To Split or Not to Split?
Craig Wright has done little to avoid a hard fork, but not everyone is eager to play a game of crypto chicken. Bitcoin Unlimited, the second largest Bitcoin Cash node (about one-third of total use), is trying to play peacemaker. Andrew Stone (who goes by theZerg on the Bitcoin Forum) published a compromise on Tuesday, August 21. In it, he diagnoses the problem:
“It is ironic that these changesets are mutually compatible, yet both groups reject the other’s changes… Given the “no changes, no matter how reasonable, except mine” strategy being pursued by both of these organizations, I can only sadly conclude that this is again about power and ego not about technical merit and end user adoption.”
He then puts forward a reasonable solution:
“I would like to propose a strategy for Bitcoin Unlimited for the near future. In essence, our message will be ‘run Bitcoin Unlimited to vote for compromise’. The Bitcoin Unlimited client will incorporate features from both organizations and allow these features to either be activated via BIP135 (a generalized form of BIP9 miner voting via version bits), explicit configuration, or (development time and feasibility permitting) emergent consensus.”
Who will take the compromise? At the moment, at least, Bitmain’s pools seem locked in to Bitcoin ABC’s updates. (It’s already available for download, but network upgrades won’t go into effect until November 15.) And Coingeek, as the funder of Bitcoin SV, is doubling down on the nChain product it sponsored.
Meanwhile, some outside the bitcoin cash community are suggesting a split might not be that bad:
Of course, Amaury Séchet (aka Deadalnix), lead developer at Bitcoin ABC, has his share of detractors, as well – and Bitcoin Unlimited’s Andrew Stone strikes a neutral tone, laying the blame not with any one party, but with both. But commentators like Gün Sirer and Buterin have a point: Wright is hardly the ideal standard bearer for a cryptocurrency community. Better, perhaps, to let him go.
When in Doubt, Do Nothing
To muddy the waters, another (unlikely) name has suggested a solution. On August 23, Cøbra, the Bitcoin.org owner, announced Cobra Client, a “user activated no fork” that “is not impacted by any of the controversial new features of chain forks and respects all of the existing features and established consensus.” In other words, it’s the same Bitcoin Cash protocol currently being used.
Although it’s unclear whether the anonymous luminary is trolling or at least half-serious, they maintain a rational philosophy: “When there can be no consensus, the best option is to make no change at all.”
That proposal may not be enough to avert a Wright-led hard fork, but perhaps it’s enough to stir Roger Ver, Bitcoin Cash’s biggest cheerleader and most influential user. So far, Ver has stayed out of the fray. Asked on reddit on Thursday, August 23, what his “stance on the ABC/BU/SV-thingy” was, Ver (u/MemoryDealers) responded with, “Still evaluating.”
The clock is ticking, Roger.