As the rumblings of a potential upcoming hard fork of Bitcoin have gotten louder, customers have started to ask us what our plans are in the case of a miner-led fork of the network. Until recently, we didn’t ascribe a high probability to any such fork happening, however, we now must consider it as a distinct possibility.
Before addressing technical specifics, I would like to state the following: At BitGo, we think that any contentious hard fork (as we predict any near term fork would be) would be a huge net negative for Bitcoin and for every business in the ecosystem. We feel the user confusion and brand dilution alone would result in a loss of billions of dollars of market cap in aggregate across both sides of the fork. We are 100% supportive of the safe, tested SegWit functionality available for activation in core code today and believe it is by far the safest way to gain additional block space in the near term.
That said, BitGo will always have our customers’ best interests at heart; we will work diligently to ensure our customers get the best experience from Bitcoin that we can offer, given the circumstances. While we can’t predict how the future will unfold, we will act as quickly as possible to develop solutions that meet customers’ needs and protect their interests.
BitGo considers any hard fork which is rolled out without industry-wide consensus, and therefore splits the network, to be an altcoin, not Bitcoin itself. This is irrespective of how much hash power the forked coin may have. Ours is only one voice of many, but this is entirely consistent with the view currently taken by the economic majority of Bitcoin exchanges. If such fork were executed in a supportable way (see below), and there were sufficient customer and market demand for the new coin, we would add support via our API as soon as technically possible.
In order for us to actually technically support a hard fork, we consider that the following criteria must be met:
Bitcoin Unlimited does not meet the above tests for being a supportable fork today. In fact, it fails all three criteria. Additionally, there are serious problems with “emergent consensus,” which can result in ongoing network splits and chain reorganizations of arbitrary length, depending on how different groups of miners set their consensus parameters. Finally, there are serious concerns about the general code quality and peer review process of the Bitcoin Unlimited code base itself. As such, we will not be able to provide support for a hard fork caused by Bitcoin Unlimited in its current form. If the Bitcoin Unlimited team undertakes the efforts needed to make the fork in a supportable manner, our position on this would change accordingly.
In the case of an unsupportable fork (Bitcoin Unlimited as written today), we recommend taking the following steps:
In the case of a supportable fork, we recommend taking the following steps:
There is also the final possibility of a malicious forking action which aggressively acts to stifle the existing (minority) chain using excess hash power. This might result simply in a chain of empty blocks, or might manifest as an apparently working chain which suddenly experienced a chain reorganization many blocks deep. We consider this to be no different than a general 51% attack on the Bitcoin network. In this case, we recommend:
As always, feel free to contact us for clarification or questions.
Ben Davenport CTO, BitGo