user21175: I am running a full node on the Bitcoin network. Sometimes, I find that it takes a while until I get the newest block.
I checked the source code, and found that every node can at most connect to eight peers. Would it help to increase the number of connections, to reduce the time until I receive the newest block?

user208: Up until the latest release (v0.9.3), more peers actually means slower synchronization typically, because we only really fetched from a single peer.
The upcoming release (v0.10.0) has a completely rewritten block fetching/validation mechanism, which first validates headers, and then fetches the blocks from all peers in parallel. The result should be much faster synchronization.

user21052: Yes, more peers may reduce the time it takes for you to receive the most recently mined block.
When a new block is mined, the miner (or the pool) sends an inv message to all of its peers announcing the new block.  Those peers all send a getdata message to the miner requesting the block.  The miner replies with a block message sending the block to each of the peers which requested it.  (This part can be optimized to not send an entire block.)  
Then the peers each validate the block.  Once validated, they send an inv message to all of their peers announcing the new block.  Any of those peers which haven't received the block yet send a getdata message requesting the block.  The block message follows, and the cycle repeats until all peers on the network have the block.  (Or, in the case of SPV clients, just the parts of the block they need.)
The more peers you have, the greater the chance you'll be connected to the miner when he makes his initial announcement with an inv message, allowing you to be one of the first to request the block with the getdata message.
However, if the peer you send the getdata message to is bogged down in data transfer, it may take you longer to finish downloading the block than if you had started downloading from a different peer, so having more connections isn't a guarantee that you'll be able to download recently-mined blocks faster.  In short, there's an element of luck involved.

21175: <p>I am running a full node on the Bitcoin network. Sometimes, I find that it takes a while until I get the newest block.<br>
I checked the source code, and found that every node can at most connect to eight peers. Would it help to increase the number of connections, to reduce the time until I receive the newest block?</p>
 208: <p>Up until the latest release (v0.9.3), more peers actually means slower synchronization typically, because we only really fetched from a single peer.</p>

<p>The upcoming release (v0.10.0) has a completely rewritten block fetching/validation mechanism, which first validates headers, and then fetches the blocks from all peers in parallel. The result should be much faster synchronization.</p>
 21052: <p>Yes, more peers may reduce the time it takes for you to receive the most recently mined block.</p>

<p>When a new block is mined, the miner (or the pool) sends an <a href="https://bitcoin.org/en/developer-reference#inv" rel="nofollow"><code>inv</code> message</a> to all of its peers announcing the new block.  Those peers all send a <a href="https://bitcoin.org/en/developer-reference#getdata" rel="nofollow"><code>getdata</code> message</a> to the miner requesting the block.  The miner replies with a <a href="https://bitcoin.org/en/developer-reference#block" rel="nofollow"><code>block</code> message</a> sending the block to each of the peers which requested it.  (This part can be optimized to not send an entire block.)  </p>

<p>Then the peers each validate the block.  Once validated, they send an <code>inv</code> message to all of their peers announcing the new block.  Any of those peers which haven't received the block yet send a <code>getdata</code> message requesting the block.  The <code>block</code> message follows, and the cycle repeats until all peers on the network have the block.  (Or, in the case of SPV clients, just the parts of the block they need.)</p>

<p>The more peers you have, the greater the chance you'll be connected to the miner when he makes his initial announcement with an <code>inv</code> message, allowing you to be one of the first to request the block with the <code>getdata</code> message.</p>

<p>However, if the peer you send the <code>getdata</code> message to is bogged down in data transfer, it may take you longer to finish downloading the block than if you had started downloading from a different peer, so having more connections isn't a guarantee that you'll be able to download recently-mined blocks faster.  In short, there's an element of luck involved.</p>
