Hard Fork
From CryptoWiki
- A hardfork is a change to the (bitcoin) protocol that makes previously invalid blocks/transactions valid, and therefore requires all users to upgrade.
- A permanent divergence in the blockchain, commonly occurs when non-upgraded nodes can’t validate blocks created by upgraded nodes that follow newer consensus rules.
- Put differently, a hard fork is a permanent divergence from the previous version of the blockchain, and nodes running previous versions will no longer be accepted by the newest version. This essentially creates a fork in the blockchain, one path which follows the new, upgraded blockchain, and one path which continues along the old path. Generally, after a short period of time, those on the old chain will realise that their version of the blockchain is outdated or irrelevant and quickly upgrade to latest version.
- A hard fork can be implemented to correct important security risks found in older versions of the software, to add new functionality, or to reverse transactions (as in the case with the hard fork to reverse the hack on the DAO (decentralized autonomous organization) in the Ethereum blockchain). For more on this, see The DAO.
- Any alteration to bitcoin which changes the block structure (including block hash), difficulty rules, or increases the set of valid transactions is a hard fork. However, some of these changes can be implemented by having the new transaction appear to older clients as a pay-to-anybody transaction (of a special form), and getting the miners to agree to reject blocks including the pay-to-anybody transaction unless the transaction validates under the new rules. This is known as a softfork, and how P2SH was added to Bitcoin.