Fork
In software development, a new branch of code that diverges in a different direction than another branch. This is usually the result of the user base or developers having a fundamental disagreement. In crypto, a fork is a change in the blockchain’s protocol that decides whether or not a transaction is valid. This means that nearly any divergence in the blockchain can be considered a fork. However, a fork is usually referring to a significant difference in opinion on what code is being run or which blocks are included in the blockchain, resulting in two parallel forks. These are called “Soft Forks” and “Hard Forks." A soft fork is any change that is backwards compatible with the existing blockchain. Older nodes will recognize new transactions as being valid; however, updated nodes will consider new blocks that are mined as invalid. This type of network protocol change is not a permanent divergence of the network, and is more closely associated with being a network migration or upgrade. A hard fork is any change that does not accept backward compatibility. The blockchain splits into two (or more) branches at the last block of consensus, and new valid blocks will only be accepted on the new fork while invalidating blocks on the other. However, if a large enough percentage of the community decides they want to continue using the original version, the chain will split and two existing currencies will then exist, operating independently of each other. Initiating a hard fork requires consensus from network participants and will require new or existing nodes to update to the latest version of the protocol.