How do blockstack nodes discover and connect to other nodes?
To generate the name database, the list of names that are registered in the system and the value hashes to which they point, Blockstack nodes do not need to connect to other nodes. They can generate this database independently from a full bitcoin node.
Retrieving the zone file for a name happens via the Atlas peer to peer network. This is done by querying Atlas with a value hash from the name database. The Atlas network is a peer to peer network that replicates the entire set of zone files across all nodes.
The Atlas component of a Blockstack node does require discovery of and connection to other nodes in the network. It does so by bootstrapping from a node address hardcoded in the source code by asking it for a peer list to build its own peer list. It then exchanges that peer list with other nodes that try to connect to it.