<blockquote>
  <p>DNS seeds which give you a list of hard-coded stable nodes.</p>
</blockquote>

<p>No, they don't do that and you are reading those answers incorrectly.</p>

<p>The DNS seeders give you a list of random nodes from a set of stable nodes. They are not hard coded and hard coding nodes is against the <a href="https://github.com/bitcoin/bitcoin/blob/master/doc/dnsseed-policy.md" rel="nofollow noreferrer">DNS seed policy</a>. Furthermore, these are used as seed nodes, which means that your node only connects to them briefly to get more nodes to connect to. These nodes are not necessarily the ones that your node actually connects to for its normal connections.</p>

<p>The hard coded seed nodes are only used if the DNS seeders cannot be connected to. Again, these are seed nodes so they are used to get more nodes to connect to, not the only ones that your node actually connects to for its normal connections.</p>

<p>Because the nodes that are received from the DNS seeders and hard coded into the client itself are seed nodes, you get a diverse set of nodes to connect to because those seed nodes will give you a random list of nodes that they know about that are probably good to connect to.</p>

CC BY-SA 4.0
2018-05-21T20:30:10.270Z
2018-05-21T21:58:43.903Z
2018-05-21T21:58:43.903Z
Ava Chow
<p>I read through a variety of threads on initial peer discovery like <a href="https://bitcoin.stackexchange.com/questions/3536/how-do-bitcoin-clients-find-each-other">How do Bitcoin clients find each other?</a> and <a href="https://bitcoin.stackexchange.com/questions/2027/how-does-the-bitcoin-client-make-the-initial-connection-to-the-bitcoin-network/2028#2028">How does the bitcoin client make the initial connection to the bitcoin network?</a> and they all say that if it is your first time connecting then you connect to the DNS seeds which give you a list of hard-coded stable nodes. If it is not my first time connecting, then I connect to whoever I was connected to before. </p>

<p>It is not clear to me why every client would not everyone always connect to these same set stable nodes every time (after the first connection, they are now in my dat file and I always use them)? By what process do my peers become diversified from the hard-coded stable nodes?  </p>

<p2p><peer-discovery><dns>
How do my bitcoin peers become diversified from the set of stable nodes?
connorwstein
# How do my bitcoin peers become diversified from the set of stable nodes?

(Asked by: username_0 on 2018-05-21)

I read through a variety of threads on initial peer discovery like [How do Bitcoin clients find each other?](https://bitcoin.stackexchange.com/questions/3536/how-do-bitcoin-clients-find-each-other) and [How does the bitcoin client make the initial connection to the bitcoin network?](https://bitcoin.stackexchange.com/questions/2027/how-does-the-bitcoin-client-make-the-initial-connection-to-the-bitcoin-network/2028#2028) and they all say that if it is your first time connecting then you connect to the DNS seeds which give you a list of hard-coded stable nodes. If it is not my first time connecting, then I connect to whoever I was connected to before.

It is not clear to me why every client would not everyone always connect to these same set stable nodes every time (after the first connection, they are now in my dat file and I always use them)? By what process do my peers become diversified from the hard-coded stable nodes?

**Tags:** p2p, peer-discovery, dns


---

## 1 answers

### Answer by username_1 on 2018-05-21. Score: 2 | Accepted answer

> DNS seeds which give you a list of hard-coded stable nodes.

No, they don't do that and you are reading those answers incorrectly.

The DNS seeders give you a list of random nodes from a set of stable nodes. They are not hard coded and hard coding nodes is against the [DNS seed policy](https://github.com/bitcoin/bitcoin/blob/master/doc/dnsseed-policy.md). Furthermore, these are used as seed nodes, which means that your node only connects to them briefly to get more nodes to connect to. These nodes are not necessarily the ones that your node actually connects to for its normal connections.

The hard coded seed nodes are only used if the DNS seeders cannot be connected to. Again, these are seed nodes so they are used to get more nodes to connect to, not the only ones that your node actually connects to for its normal connections.

Because the nodes that are received from the DNS seeders and hard coded into the client itself are seed nodes, you get a diverse set of nodes to connect to because those seed nodes will give you a random list of nodes that they know about that are probably good to connect to.


---

