BUIP063: Support Bitcoin Cash with an official implementation
Proposer: Andrew Clifford (@solex)
Submitted on: 2017-09-01
Status: passed


Bitcoin has forked. This was not the goal of Bitcoin Unlimited which has
long pursued consensus for Bitcoin onchain scaling through a combination
of debate and action. It was only the advent of the small-blocker UASF
which made a forking event inevitable with its rejection of blocks which
were not signalling for Segwit from 1st August 2017.

In order for Bitcoin users, full-node owners and miners to continue to
have a coherent voice for a Bitcoin without the highly controversial
Segwit software, BUIP055 was drafted and
voted upon by the BU membership. It has a block height for forking
during October 2017 as Bitcoin capacity would have been crippled for 1.5
years by that date. Already colossal damage has been done to its global
adoption due to high fees, unreliable confirmation times, and the
crushing of many use-cases including 0-conf retail.

A further event occurred. Because most of the Bitcoin ecosystem also has
serious concerns about crippled adoption the New York Agreement
(Segwit2x) was hammered out. Representatives of most miners and a number
of major Bitcoin companies made an agreement to increase the block size
limit to 2MB and activate Segwit. This is a very generous compromise
towards the small-blockers considering that 2MB is hopelessly inadequate
beyond 2017, based upon historical transaction growth rates. It has a
fundamental flaw which is that the increase to 2MB (the “2x”) is
delayed. Hence, there is scope for this part of the NYA to be derailed.

In a decentralized global ecosystem small initiatives can cascade into
large outcomes, BUIP055 was taken forward by a number of developers
(notably the BitcoinABC team), and with some mining support created a
spinoff, Bitcoin Cash. This has been warmly received by the global
cryptocurrency marketplace with a high valuation becoming the fastest
growing cryptocurrency both in terms of value and arguably in adoption

Bitcoin Unlimited was part of the Bitcoin Cash launch thanks to the BU
developers creating an unofficial release compatible with BitcoinABC,
possible because both were framed by BUIP055. The two most significant
differences from BUIP055 are:

  1. Emergency Difficulty Adjustment
  2. Two-way replay protection (NODE_CASH)

With the advent of Bitcoin Cash, a “larger blocks” version in line with
the original 2009 Bitcoin versions 0.1 and 0.2 now exists. The
divergence in UTXO sets between the legacy Bitcoin and Bitcoin Cash
since 1 August is in a large part due to a rebalancing of portfolios
where small-blockers have sold and large-blockers have bought.


The purpose of this BUIP is to regularise BU Cash as an official BU
implementation with equal status as the existing BitcoinUnlimited
implementation which has been advanced and maintained since November

If passed then BU Cash will be maintained on a permanent basis with
regular upgrades. It will also be subject to the BUIP process for
functional changes. Obviously, any protocol changes would have to be
done after consultation and discussion with all the other teams
providing Bitcoin Cash full node software.


Maintenance of the BU Cash implementation would be funded in the same
approved manner as the BitcoinUnlimited implementation has always been.


There is no economic case for an artificially capped version of Bitcoin
successfully competing with a scalable version. Therefore, it is very
possible that the Bitcoin Cash blockchain overtakes the legacy version
in total proof-of-work and develops the larger ecosystem becoming
globally known as “Bitcoin”.

Bitcoin Unlimited should remain positioned to be a part of that future.