I have always just take it that the nodes and clients will download the data from the "network". The full nodes will download the entire blockchain state while the light clients will download only the root hash of all the blocks from the "network". But I have never truly understood deeper how all of these will happen.

  1. Since there isn't a centralised endpoint to signal to everyone else that a new node or client is about to join the network, how does the decentralised network knows that a node or client has joined the network and hence should "gossip" with or transmit any new transactions to it?
  2. Since the network is decentralised by nature, how and where exactly will a new node or clients know where to download their state data from? Again, there isn't like a designated endpoint to make a call to and say "I would like to download the state data." Without a designated endpoint, how does a client or node know which other nodes or clients they can download those data from and whether that particular source they will download from is reliable or malicious?
    • For example, what if a light client downloaded a bunch of fake root hashes? The light client could verify the root hashes but, again, what if the light client somehow retrieved the proofs from the same malicious full node which then provide fake proofs which match up with the fake root hashes? Would the light client just think that everything is verified and good?

1 Answer 1


Each node contains a list of previous nodes it has communicated with. When a node comes online it connects the previous nodes and tells it is online again. If a node has not connected to a network before it will connect to an externally obtained bootstrap nodes list.

Nodes download data from any peer-to-peer nodes. Each Ethereum node validates all incoming blocks and their transaction to ensure the chain integrity is maintained.

You can find further answers to your questions on Networking layer page of Ethereum documentation.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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