A section of the bitcoin community plans to effect a user activated soft fork (UASF) on August 1, 2017. It is an opportunity for bitcoin to scale and meet growing demand. The fork is also a threat of bitcoin disintegrating into many weaker cryptocurrencies.
But what is a fork?
A fork is computers in bitcoin’s peer-to-peer network disagreeing on how to update the blockchain, a public ledger where all transactions get recorded. The disagreement occurs when some of the computers upgrade to a version of the core software that has a new set of transaction confirmation rules.
The network experiences a hard fork if the new rules fail to recognize changes computers running the older version core software make to the blockchain as valid. Hard forks may lead to the split of bitcoin into two separate cryptocurrencies.
A soft fork, on the other hand, happens when the rules in the new version of the core software recognise transaction changes computers running the preceding version make on the blockchain as valid. Soft forks hardly result in a cryptocurrency splitting into two.
As bitcoin is an open source project on a peer to peer network, the community around it has struggled to find consensus on how to scale. One section of the community proposes increasing the block size of transactions the network confirms every ten minutes from 1MB to 2MB.
Opponents of this proposal believe big block sizes are resource intensive as they require computers in the network to have huge memories and spend more on internet connection. They believe this leaves management of bitcoin to a few well-funded companies, which threatens bitcoin’s decentralization.
Instead, they propose something known as segregated witness (SegWit). This is a change to the bitcoin protocol to reduce data from each transaction that goes into the bitcoin block. In particular, SegWit removes digital signatures from the block and creates 60% more room for transactions.
In addition, SegWit makes it possible to implement lightning network, an off-chain scaling solution that scales bitcoin even further.
Bitcoin core developer Pieter Wuille introduced SegWit to the bitcoin community at the Hong Kong Bitcoin Roundtable meeting in February 2016. He had worked on the solution for months.
The computers or nodes in the bitcoin network are of two kinds: miners or full nodes. Miners put transactions into blocks and update the blockchain. Full nodes confirm and validate that miners follow rules in the core software when updating the blockchain.
The SegWit code was released in November 2016 and miners started signalling support for it. It would activate only after 95% of all miners indicated support for it. By June 2017 about 40% of miners was signalling SegWit support.
User activated soft fork (UASF) is an attempt by users of bitcoin to force miners to embrace SegWit.
How will they achieve their goal?
In order to force miners to upgrade to the core software version with SegWit, users will use full nodes, which are easier to run. Starting August 1, full nodes will decline to validate blocks from miners that do not support SegWit.
While UASF is a soft fork, it could turn into a hard fork and split bitcoin into two if miners run their own nodes and supporters of UASF set up their miners as well.
In June 2017 however Chines miners, who are the majority in the network, agreed to support SegWit through an arrangement known as SegWit2x. They will accept SegWit won condition that it is followed by an increase of to the block size to 2MB.
UASF supporters have not accepted the by the miners especially because the miners and some private companies are writing the code without following the established process that guarantees community participation. The countdown to August 1st judgement day is still on.