diff --git a/ch12_mining.adoc b/ch12_mining.adoc index 5d6cc380..f1f387d8 100644 --- a/ch12_mining.adoc +++ b/ch12_mining.adoc @@ -1629,7 +1629,7 @@ between all participants. [[hard_forks]] ==== Hard Forks -In <> we looked((("consensus rules", "hard forks", id="consensus-hard-fork")))((("forks", "hard forks", id="forks-hard")))((("hard forks", id="hard-forks"))) at how +In <> we looked((("consensus rules", "hard forks", "explained", id="consensus-hard-fork")))((("forks", "hard forks", "explained", id="forks-hard")))((("hard forks", "explained", id="hard-forks"))) at how the Bitcoin network may briefly diverge, with two parts of the network following two different branches of the blockchain for a short time. We saw how this process occurs naturally, as part of the normal operation @@ -1693,11 +1693,11 @@ while miners on the "a" chain will continue to ignore these transactions. Even if block 8b does not contain any foocoin transactions, the miners on the "a" chain cannot process it. To them it appears to be an invalid block, as its parent "7b" is not recognized as a -valid block. +((("consensus rules", "hard forks", "explained", startref="consensus-hard-fork")))((("forks", "hard forks", "explained", startref="forks-hard")))((("hard forks", "explained", startref="hard-forks")))valid block. ==== Hard Forks: Software, Network, Mining, and Chain -For ((("software forks", id="software-fork")))((("network forks", id="network-fork")))((("mining forks", id="mining-fork")))((("chain forks", id="chain-fork")))software +For ((("software forks", id="software-fork")))((("network forks", id="network-fork")))((("mining forks", id="mining-fork")))((("chain forks", id="chain-fork")))((("consensus rules", "hard forks", "types of", id="consensus-hard-fork")))((("forks", "hard forks", "types of", id="forks-hard")))((("hard forks", "types of", id="hard-forks")))software developers, the term "fork" has another meaning, adding confusion to the term "hard fork." In open source software, a fork occurs when a group of developers choose to follow a different software roadmap and start a @@ -1754,7 +1754,7 @@ New miners may mine on top of the new block, while old miners will mine a separate chain based on the old rules. The partitioned network will make it so that the miners operating on separate consensus rules won't likely receive each other's blocks, as -they are connected to two separate ((("consensus rules", "hard forks", startref="consensus-hard-fork")))((("forks", "hard forks", startref="forks-hard")))((("hard forks", startref="hard-forks")))((("software forks", startref="software-fork")))((("network forks", startref="network-fork")))((("mining forks", startref="mining-fork")))((("chain forks", startref="chain-fork")))networks. +they are connected to two separate ((("software forks", startref="software-fork")))((("network forks", startref="network-fork")))((("mining forks", startref="mining-fork")))((("chain forks", startref="chain-fork")))((("consensus rules", "hard forks", "types of", startref="consensus-hard-fork")))((("forks", "hard forks", "types of", startref="forks-hard")))((("hard forks", "types of", startref="hard-forks")))networks. ==== Diverging Miners and Difficulty