From what I understand during the Initial Blockchain Download we are connecting with other peers and download blocks which they are sharing with us. Two things comes to my mind. First - are we connecting with all nodes in the world that have downloaded full blockchain or only with some subset of them. If it's subset then how it's being chosen? Second - once we have a set of nodes and we want to download n-th block of the blockchain then how is it determined from which specific node we will download this block?
1 Answer
You only connect with a subset of peers when downloading the eth blockchain. I believe the peers are determined based on locality but I can't say for sure. I also am unaware of who you get the latest block from I'm guessing it propagates out via peer subsets starting from the node that mined it.
If you wanna get into the nitty gritty might want to dive into node client code like geth.