<p>This is a network policy used in Bitcoin Core, could be changed in future releases in response to network observations, and isn't universally implemented in all node software. Nodes may synchronize in different ways. Before Bitcoin Core's 0.10 release, a completely different mechanism was used.</p>
<p>But to answer your question:</p>
<ol>
<li><p>If all blocks in a window are downloaded, except for a number of outstanding requests from one peer, and this situation persists for some time (a few seconds, I believe), that peer will be disconnected.</p>
</li>
<li><p>Yes and no. After IBD, an <strong>additional</strong> mechanism is enabled: blocks are requested immediately in response to incoming announcements, under certain conditions. As a fallback, for example when a large reorg happens, the parallel download logic may still trigger.</p>
</li>
</ol>

CC BY-SA 4.0
2021-07-21T20:55:25.807Z
2021-07-21T20:55:25.807Z
Pieter Wuille
<p>I was going through the Bitcoin P2P guide. <a href="https://developer.bitcoin.org/devguide/p2p_network.html" rel="nofollow noreferrer">https://developer.bitcoin.org/devguide/p2p_network.html</a></p>
<p>It says that the nodes maintain a 1024-block download window during the initial syncing. However, at any time a node can parallel download only 128 blocks.</p>
<ol>
<li><p>Suppose the current window starts from Block 100 to Block 1123. If Block 100 is not downloaded yet (may be because of faulty peers) but the rest 1023 blocks are downloaded. What happens? Will the node wait until it finishes downloading Block 100? Or will it start parallel downloads from Block 1124?</p>
</li>
<li><p>What happens after the initial syncing is finished. Do the nodes still maintain a download window?</p>
</li>
</ol>

<bitcoin-core><synchronization><p2p>
Do nodes maintain a download window after the initial syncing?
satya
# Do nodes maintain a download window after the initial syncing?

(Asked by: username_0 on 2021-07-21)

I was going through the Bitcoin P2P guide. <https://developer.bitcoin.org/devguide/p2p_network.html>

It says that the nodes maintain a 1024-block download window during the initial syncing. However, at any time a node can parallel download only 128 blocks.

1. Suppose the current window starts from Block 100 to Block 1123. If Block 100 is not downloaded yet (may be because of faulty peers) but the rest 1023 blocks are downloaded. What happens? Will the node wait until it finishes downloading Block 100? Or will it start parallel downloads from Block 1124?
2. What happens after the initial syncing is finished. Do the nodes still maintain a download window?

**Tags:** bitcoin-core, synchronization, p2p


---

## 1 answers

### Answer by username_1 on 2021-07-21. Score: 2 | Accepted answer

This is a network policy used in Bitcoin Core, could be changed in future releases in response to network observations, and isn't universally implemented in all node software. Nodes may synchronize in different ways. Before Bitcoin Core's 0.10 release, a completely different mechanism was used.

But to answer your question:

1. If all blocks in a window are downloaded, except for a number of outstanding requests from one peer, and this situation persists for some time (a few seconds, I believe), that peer will be disconnected.
2. Yes and no. After IBD, an **additional** mechanism is enabled: blocks are requested immediately in response to incoming announcements, under certain conditions. As a fallback, for example when a large reorg happens, the parallel download logic may still trigger.


---

