Forks create an alternate version of the blockchain, leaving two block-chains to run simultaneously on different parts of the network. A hard fork is a type of fork that renders previously invalid transactions valid, and vice versa. This type of fork requires all nodes (A node is a computer connected to the Bitcoin network) and users to upgrade to the latest version of the protocol software. A soft fork differs from a hard fork in that only previously valid transactions are made invalid. Since old nodes recognize the new blocks as valid, a soft fork is essentially backward-compatible. This type of fork requires most miners upgrading in order to enforce, while a hard fork requires all nodes to agree on the new version.