user133967: My understanding of updating a node's incomplete blockchain is that:
A node with an incomplete blockchain (let's say its been offline for some time) will send a getblocks message and then will receive an inv response with the latest 500 blocks from the most updated machine.
What I don't understand is that when you originally set up a full-node, it is downloading blocks from the network and adding them successively starting from the genesis block (which is encoded into the full-node's client software). So why can't it download the latest block from the network rather than sending many messages. <-- Or is this understanding blatantly wrong - that is, new full-nodes are not downloading blocks from the network.

user13866: A full node needs to process all blocks in order to establish which "coins" (UTXOs) exist without having to trust anyone
The getblocks and inv messages are an efficient way to do this.

133967: <p>My understanding of updating a node's incomplete blockchain is that:</p>
<p>A node with an incomplete blockchain (let's say its been offline for some time) will send a <em>getblocks</em> message and then will receive an <em>inv</em> response with the latest 500 blocks from the most updated machine.</p>
<p><strong>What I don't understand is that when you originally set up a full-node, it is downloading blocks from the network and adding them successively starting from the genesis block (which is encoded into the full-node's client software). So why can't it download the latest block from the network rather than sending many messages.</strong> &lt;-- Or is this understanding blatantly wrong - that is, new full-nodes are not downloading blocks from the network.</p>
 13866: <p>A full node needs to process all blocks in order to establish which &quot;coins&quot; (UTXOs) exist without having to trust anyone</p>
<p>The getblocks and inv messages are an efficient way to do this.</p>
