<p>Blockchain.info stores information in a database, it does not show only the information that is currently in it's Bitcoin. It is connected to many nodes, so it may see information your Bitcoin doesn't, and will store data after a normal Bitcoin client would discard it.</p>

<p>Bitcoin uses a basic rule "I'm going to use the first block I receive as the current best block". The duplicate numbered orphaned block was usually broadcast too late to everybody. If the "unpopular" later block is somehow the one that is next built upon, there will be many requests between clients for the correct blockchain up to the new block.</p>

CC BY-SA 3.0
2013-02-15T12:07:59.950Z
2013-02-15T12:07:59.950Z
Mari Nakajima
<p>A block is only relayed when it is part of the (new) best chain. If a second block at the same height as current best tip is received, it is not considered the new best, and thus not relayed. The reason for this is simple: it doesn't help for achieving consensus (=getting the world to agree on which block at a given height is the one considered correct). Any peer receiving the second block at a given height would already have the first one as well (since that got relayed too), and wouldn't consider it valid either.</p>

CC BY-SA 3.0
2013-02-15T21:37:36.603Z
2013-02-15T21:37:36.603Z
Pieter Wuille
<p>I'm currently trying to detect blockchain forks and I noticed that even when dumping all blocks I get to a separate file I seem to miss a few.</p>

<p>Specifically I'm looking for the blocks marked as orphans in <a href="http://blockchain.info/orphaned-blocks">blockchain.info/orphaned-blocks</a> in my dump and I'm missing quite a few.</p>

<p>Now I'm wondering whether nodes stop forwarding blocks that they believe to be orphans (because they currently have the concurring block as their blockchain head)? Shouldn't all concurring blocks be distributed?</p>

<blockchain><blockchain-fork>
When will a block not be forwarded?
cdecker
# When will a block not be forwarded?

(Asked by: username_0 on 2012-08-14)

I'm currently trying to detect blockchain forks and I noticed that even when dumping all blocks I get to a separate file I seem to miss a few.

Specifically I'm looking for the blocks marked as orphans in [blockchain.info/orphaned-blocks](http://blockchain.info/orphaned-blocks) in my dump and I'm missing quite a few.

Now I'm wondering whether nodes stop forwarding blocks that they believe to be orphans (because they currently have the concurring block as their blockchain head)? Shouldn't all concurring blocks be distributed?

**Tags:** blockchain, blockchain-fork


---

## 2 answers

### Answer by username_1 on 2013-02-15. Score: 2

Blockchain.info stores information in a database, it does not show only the information that is currently in it's Bitcoin. It is connected to many nodes, so it may see information your Bitcoin doesn't, and will store data after a normal Bitcoin client would discard it.

Bitcoin uses a basic rule "I'm going to use the first block I receive as the current best block". The duplicate numbered orphaned block was usually broadcast too late to everybody. If the "unpopular" later block is somehow the one that is next built upon, there will be many requests between clients for the correct blockchain up to the new block.


---

### Answer by username_2 on 2013-02-15. Score: 0

A block is only relayed when it is part of the (new) best chain. If a second block at the same height as current best tip is received, it is not considered the new best, and thus not relayed. The reason for this is simple: it doesn't help for achieving consensus (=getting the world to agree on which block at a given height is the one considered correct). Any peer receiving the second block at a given height would already have the first one as well (since that got relayed too), and wouldn't consider it valid either.


---

