Last week BitPay published an advisory1 regarding a double spend risk2 for developers using non-Segwit compatible nodes of our Bitcoin development platform Bitcore3. We recommended that these developers mitigate double-spend risk by installing a Segwit-compatible boundary node. As our boundary node instructions used the BTC14 version of Bitcoin, this naturally upset some people that support a rival implementation of Bitcoin called Bitcoin Core. We wanted to take a minute and explain why BitPay is planning to switch to the BTC1 implementation in the coming months.
Miners Have Adopted Segwit2x
Bitcoin miners have signaled5 their intention to increase the base block size limit to 2mb in November as part of the Segwit2x deployment. This change is intended to temporarily alleviate congestion on the network and reduce transaction fees while other scaling solutions enabled by Segwit are implemented. Our operating assumption at BitPay is that miners will do as they have indicated and deploy this increase in the block size limit. We must be prepared.
Staying on the Hash-Rate Majority Chain
At BitPay, we are building tools that support payments using any digital asset. We need one blockchain to serve as a backbone. That blockchain must be secure and its asset must be liquid. The backbone network must also be highly available. This high-availability requirement means that we must remain in sync with the hash-rate majority chain. Block production on a minority fork of Bitcoin would be inconsistent, and it may cease to operate without emergency measures. Such a service interruption is unacceptable for us and for our users.
Of course, if we held a strong opposition to a change being adopted by the hash-rate majority, we would voice our opposition. We would even go so far as to implement plans to migrate to another blockchain if necessary. We do not currently find ourselves in such a circumstance.
Bitcoin Core Does Not Support Segwit2x
While miners have signaled their intention to increase the block size limit in November, the most popular distribution of Bitcoin software, Bitcoin Core, has decided they will not adopt Segwit2x. This means that if we are running Bitcoin Core and the miners do as they have indicated, we would find ourselves on a minority fork of Bitcoin.
Our Plan to Maintain Continuity of Service
To avoid an interruption in service, BitPay must be prepared for an increase in the block size limit in November. The BTC1 version of the Bitcoin software implements the Segwit2x rules that miners have adopted. Since staying on the hash-rate majority chain is a priority for us, we are preparing to deploy that software.
Since we started in 2011, our commitment at BitPay has been to provide excellent value and service to our customers. We have many customers that trust our service and expertise with more than $1 billion in value transacted every month. Part of our commitment is to maintain a service that is always available and safe to use, which drives the decisions we make from a technical standpoint. We remain committed to our vision of transforming global digital payments.
Footnotes
1: https://blog.bitpay.com/bitcore-segwit-activation/
2: https://support.bitpay.com/hc/en-us/articles/115004141766
3: https://bitcore.io
4: https://github.com/btc1/bitcoin
5: https://coin.dance/blocks/segwit2xhistorical