0

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?

New contributor
satya is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
1

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.

Your Answer

satya is a new contributor. Be nice, and check out our Code of Conduct.

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.