|
January 19, 2021, 07:22:09 PM |
|
A hard fork is when someone modifies a bitcoin client to alter or remove consensus rules that are in the bitcoin protocol.
So if someone does that, they are running a version of the bitcoin protocol that is incompatible with what everyone else is running.
What this means is that depending what you've changed, some messages/blocks/transactions/etc that you send to nodes running the original protocol will be rejected by them, because according to their (original) rules, those messages contain unrecognized or invalid content. That is what is called a hard fork.
Basically if we have a bunch of nodes that together form "the network" such as:
B A D C E
And all of these nodes are running an authentic Bitcoin Core, but some time later, the guy who runs node E decides to change some lines about consensus rules in the code and compiled and runs it, then he has just made a hard fork of bitcoin. This is how the network will react so such a hard fork:
B || A D || C || E
In other words, node E isolates itself from the bitcoin network. If more nodes start running E's code then they become isolated too but they form a group with E.
None of the nodes A,B,C,D are actually blocking E from connecting, but they are forced to reject some of the messages it sends that violates their own consensus rules, and accept the messages that do follow them.
|| B || A || D || || C || E
This is node A running the original Bitcoin Core, B,C and D running some forked Core, and E running yet another forked Core. All messages that pass through the double bars may or may not be considered invalid by the nodes on the other side.
|