mirror of
https://github.com/bitcoinbook/bitcoinbook
synced 2024-11-15 12:39:01 +00:00
CH12: Drop mention of orphan blocks
- Orphan blocks are no longer a thing in Bitcoin Core since headers-first download was implemented (version 0.10). Your peers know what blocks you have; if they send you any block that doesn't connect to one of those blocks, you just drop the connection to them.
This commit is contained in:
parent
5cc6c4541d
commit
2866ffc9fb
@ -1452,8 +1452,7 @@ connecting the block to the existing blockchain.
|
||||
|
||||
Nodes maintain three sets of blocks: those connected to the best
|
||||
blockchain, those that form branches off the best blockchain (stale
|
||||
blocks), and finally, blocks that do not have a known parent in the
|
||||
known chains (orphans). Invalid blocks are rejected as soon as any one
|
||||
blocks), and finally. Invalid blocks are rejected as soon as any one
|
||||
of the validation criteria fails and are therefore not included in any
|
||||
chain.
|
||||
|
||||
@ -1489,15 +1488,6 @@ best chain, making the old best chain a secondary chain. If the node is
|
||||
a miner, it will now construct a block extending this new, longer,
|
||||
chain.
|
||||
|
||||
If a valid block is received and no parent is found in the existing
|
||||
chains, that block is considered an "orphan." Orphan blocks are saved in
|
||||
the orphan block pool where they will stay until their parent is
|
||||
received. Once the parent is received and linked into the existing
|
||||
chains, the orphan can be pulled out of the orphan pool and linked to
|
||||
the parent, making it part of a chain. Orphan blocks usually occur when
|
||||
two blocks that were mined within a short time of each other are
|
||||
received in reverse order (child before parent).
|
||||
|
||||
By selecting the greatest-cumulative-work valid chain, all nodes
|
||||
eventually achieve network-wide consensus. Temporary discrepancies
|
||||
between chains are resolved eventually as more work is added, extending
|
||||
@ -1664,7 +1654,7 @@ star-upside-down-triangle chain to a secondary chain, as shown in
|
||||
to revise their view of the blockchain to incorporate the new evidence
|
||||
of a longer chain. Any miners working on extending the chain
|
||||
star-upside-down-triangle will now stop that work because their
|
||||
candidate block is an "orphan," as its parent "upside-down-triangle" is
|
||||
candidate block is "stale," as its parent "upside-down-triangle" is
|
||||
no longer on the longest chain. The transactions within
|
||||
"upside-down-triangle" that are not within "triangle" are re-inserted in
|
||||
the mempool for inclusion in the next block to become a part of the best
|
||||
@ -2239,7 +2229,7 @@ chain will continue to accept and mine transactions containing Smores
|
||||
signatures, while miners on the "a" chain will continue to ignore these
|
||||
transactions. Even if block 8b does not contain any Smores-signed
|
||||
transactions, the miners on the "a" chain cannot process it. To them it
|
||||
appears to be an orphan block, as its parent "7b" is not recognized as a
|
||||
appears to be an invalid block, as its parent "7b" is not recognized as a
|
||||
valid block.
|
||||
|
||||
==== Hard Forks: Software, Network, Mining, and Chain
|
||||
|
Loading…
Reference in New Issue
Block a user