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 rate.
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:
- Emergency Difficulty Adjustment
- 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 2015.
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.