Network discovery in a P2P network is crucial. No network is defined when a new node boots up. The new node must detect at least one blockchain node to be a part of the network. There are several ways in which a node can identify peers and thus discover a network.
Different blockchain frameworks use their own protocols to perform peer discovery and efficient routing. We're going to start by exploring basic P2P network discovery by taking a look at Bitcoin's original implementation.
The simplest way to find the list of peers to connect to is by hardcoding a few of the well-known peers. Using a central server that maintains a list of peers is another approach. Bitcoin holds information about DNS seeds, which provide a high level of reliability when a node is initially set up, and will respond with a list of the IP addresses of the Bitcoin nodes. Once...