“At its most basic, a fork is what happens when a blockchain diverges into two potential paths forward — either with regard to a network’s transaction history or a new rule in deciding what makes a transaction valid”
Hard Fork: A hard fork is a software upgrade that introduces a new rule to the network that isn’t compatible with the older software. You can think of a hard fork as an expansion of the rules. (A new rule that allows block size to be 2MB instead of 1MB would require a hard fork).
Soft Fork: A soft fork, by contrast, is any change that’s backward compatible. Say, instead of 1MB blocks, a new rule might only allow 500K blocks.