A soft fork is one of the two types of blockchain forks, as opposed to a hard fork. In software development, a fork is a change to the source code with the purpose of making certain improvements. Accordingly, in blockchain, a fork is using the source code of a cryptocurrency to create a new currency from scratch (the most common example is Litecoin).
Technically, a fork refers to situations when:
a blockchain is divided into two branches;
two or more blocks have the same height;
or blockchain protocol changes.
What Is a Soft Fork?
It is making changes to the current cryptocurrency code that does not lead to a separation into different blockchains or branches. An example of a soft fork is the Segregated Witness or SegWit protocol, which occurred in summer 2017. SegWit developers made changes to Bitcoin's source code, according to which miners now can mine blocks with the size greater than 1 MB.
After the launch of SegWit, approximately 20% of the services have switched to new addresses. But at the same time, both those who activated SegWit can continue working without any problems on the network. At the same time, those who still use Bitcoin's old addresses and do not switch to SegWit do not interfere with the functioning of these two platforms. In other words, it is not obligatory to accept the soft fork, and it does not result in the creation of new cryptocurrencies.
Soft Fork Criticism
After the launch of SegWit, soft forks have been criticized for a reason that the core developers have a complete monopoly on the process.
Jeff Garzik, former Bitcoin core developer, and Vitalik Buterin, founder of Ethereum, insist that the soft forks, first of all, require a consensus among the Bitcoin core developers. This is because the core developers arbitrarily decide which soft forks become a part of the Bitcoin network.
In essence, Garzik and Buterin believe that soft forks contradict the concept of openness in the Bitcoin community. The Bitcoin core developers check, accept, and implement the forks, not considering the miners and node operators.
However, Eric Lombroso, CEO of Ciphrex, opposes what Garzik and Buterin say. According to him, the core developers are testing the Bitcoin Improvement Proposal (BIP) ideas only to confirm the applicability of the technical aspects of Bitcoin core software.
In an interview for Bitcoin Magazine, Lombroso described the reasons why he considers decentralization to be strong and why the role of miners and hub operators is the key one. He explains that at the very first stage, the proposed changes in the BIP are sent to developers, and they briefly discuss the soft fork together with the author and the most technically savvy Bitcoin users. If they agree, they assign the fork a new BIP number. After adding the code to the repository, anyone can view, comment and evaluate the proposal. The entire process takes place with public discussion, and a variety of people can express their opinions.
In the Bitcoin network, all node operators and miners have the opportunity to run any software and use any BIP they wish. They may even refuse to use the Bitcoin core and switch to the use of alternative clients. When the soft fork is deployed on the network, any miner and site operator can choose whether to update or not to update their software. If they do not agree with the technical concept of the proposal, they may simply not update their software. Thus, neither the Bitcoin core developers nor the BIP authors can enforce the updates.