<p>Orphan blocks (in that meaning) are not a network-wide condition. They're an implementation detail (and arguably a bug).</p>

<p>Orphan blocks are simply blocks for which a particular node in the network doesn't have the parent yet. It doesn't mean that parent does not exist.</p>

<p>Since Bitcoin Core 0.10, this concept simply doesn't exist anymore. They were a side effect of the old block fetching logic that requested whatever other peers offered. In the new "headers-first" logic, the headers are downloaded and validated first, before blocks are requested. This gives guidance to the node about what to download and in what order. Since that change, blocks are never requested before their parents are known, and if a peer were to send a block unsolicited anyway, it is simply discarded as a protocol error.</p>

CC BY-SA 4.0
2019-09-21T07:11:40.620Z
2019-09-21T09:24:16.943Z
2019-09-21T09:24:16.943Z
Pieter Wuille
<p>I know the disadvantages of a high stale block rate include:</p>

<ul>
<li>More opportunities for double spend attacks</li>
<li>Lower network difficulty making the network cheaper to attack</li>
</ul>

<p>But I don't know how  even an orphan block could affect the network</p>

<p><a href="https://i.sstatic.net/rMyrD.png" rel="noreferrer"><img src="https://i.sstatic.net/rMyrD.png" alt="enter image description here"></a></p>

<orphaned-blocks><stale-block>
What are the consequences of high orphan block rate?
mengeroshi
# What are the consequences of high orphan block rate?

(Asked by: username_0 on 2019-09-21)

I know the disadvantages of a high stale block rate include:

* More opportunities for double spend attacks
* Lower network difficulty making the network cheaper to attack

But I don't know how even an orphan block could affect the network

[![enter image description here](https://i.sstatic.net/rMyrD.png)](https://i.sstatic.net/rMyrD.png)

**Tags:** orphaned-blocks, stale-block


---

## 1 answers

### Answer by username_1 on 2019-09-21. Score: 17 | Accepted answer

Orphan blocks (in that meaning) are not a network-wide condition. They're an implementation detail (and arguably a bug).

Orphan blocks are simply blocks for which a particular node in the network doesn't have the parent yet. It doesn't mean that parent does not exist.

Since Bitcoin Core 0.10, this concept simply doesn't exist anymore. They were a side effect of the old block fetching logic that requested whatever other peers offered. In the new "headers-first" logic, the headers are downloaded and validated first, before blocks are requested. This gives guidance to the node about what to download and in what order. Since that change, blocks are never requested before their parents are known, and if a peer were to send a block unsolicited anyway, it is simply discarded as a protocol error.


---

