1

I want to give example from private Ethereum network which has 5 nodes, but we can generalize it for much larger network that has thousands of nodes. On the figure double arrows represents connected peers, which they add themselves using addPeer(). Later, Node_1 adds Node_-2 and Node-3 as peers using addPeer() since it only knows enode://pubkey@ip:port of {Node-2 and Node-3} and connects to the network.

enter image description here

[Q1] After that, does Node_1 automatically fetches Node-2 and Node-3's connected nodes's enode://pubkey@ip:port, which are {Node-4 and Node-5} and dynamically connects to them? and afterwards also fetches Node-4 and Node-5's connected nodes's enode://pubkey@ip:port which is Node-6 and connects into that. This operation could be done recursively. If no, does Node-1 statically remains as only connected to Node-2 and Node-3.

[Q2] This one is connected to first question. If Node-1 cannot fetch the Node-2 and Node-3's connected nodes's enode://pubkey@ip:port and only remain connected to Node-2 and Node-3, after few hours Node-2 and Node-3 shuts down. Does it leads Node-1 disconnects from the network as well?

1

According to my understanding, when a new node is added in the blockchain network a mesh network is formed among the nodes. This is the core conceptual idea of decentralization. If some node is down then the system can remain up till at least one node in the blockchain network is up.

mesh_network

According to geth documentation-

How Peers Are Found

Geth continuously attempts to connect to other nodes on the network until it has peers. If you have UPnP enabled on your router or run ethereum on an Internet-facing server, it will also accept connections from other nodes.

Geth finds peers through something called the discovery protocol. In the discovery protocol, nodes are gossipping with each other to find out about other nodes on the network. In order to get going initially, geth uses a set of bootstrap nodes whose endpoints are recorded in the source code.

  • So if there is 1000 nodes, does newly connected node (only adds a single peer); later does it connects to all 1000 nodes over time? If yes how? @asvisosila – alper Sep 20 '18 at 9:27
  • @alper, I have updated my answer. – Soham Lawar Sep 20 '18 at 9:35
  • How about in Parity, does it also do similar approach like geth does? – alper Sep 20 '18 at 10:10
  • I don't know about parity but I think conceptual idea will remain same in parity as well – Soham Lawar Sep 20 '18 at 10:55

Your Answer

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.