<blockquote>
  <p>... it needs to fetch peers from a centralized source.</p>
</blockquote>

<p>Not exactly. Once you are connected to the network, you will begin to receive lists of IP addresses and ports of known clients.</p>

<p>There <a href="https://github.com/bitcoin/bitcoin/blob/1b2460bd5824170ab85757e35f81197199cce9d6/src/chainparams.cpp#L112" rel="nofollow noreferrer">is a list</a> of <a href="https://en.bitcoin.it/wiki/Satoshi_Client_Node_Discovery#Hard_Coded_.22Seed.22_Addresses" rel="nofollow noreferrer">seednodes built into Bitcoin</a>. These addresses are only used as a last resort.</p>

<p>After you connect to the network once, you won't need to use the DNS seeds, etc. anymore. The Bitcoin network has a system which allows every network participant to (over time) get the IP addresses of all other network participants. Bitcoin stores this info in a local database(<code>peers.dat</code>) and contacts these nodes when it next starts.</p>

<blockquote>
  <p>Are we just ignoring this issue because it'll be hard to gain control
  of the servers?</p>
</blockquote>

<p>Note that if user have found out that he is under attack, he just needs to connect to one real Bitcoin node. It would be "quite difficult" for an attacker to pull this off, and probably not financially worth the while. </p>

CC BY-SA 3.0
2018-01-29T06:58:06.100Z
2018-01-29T07:13:19.733Z
2018-01-29T07:13:19.733Z
Roman Kiselenko
<blockquote>
  <p>If an attacker gains control of all of a client's default peers servers, they would be able to restrict the client's access to the rest of the peers.</p>
</blockquote>

<p>No, because if the DNS servers were shut down, everyone would just post their node ips in their signature on bitcointalk.org or their facebooks or any million other sites.</p>

<p>Then it just requires new participants to find ONE IP address somewhere and that node will send you a list of more IPs and so on.</p>

CC BY-SA 3.0
2018-01-29T09:30:43.907Z
2018-01-29T09:30:43.907Z
Aditya
<p>When initially running a cryptocurrency client, it needs to fetch peers from a centralized source. If an attacker gains control of all of a client's default peers servers, they would be able to restrict the client's access to the rest of the peers. Then, they can give the client fake data and there would be no way for the client to tell.</p>

<p>Are we just ignoring this issue because it'll be hard to gain control of the servers?</p>

<network><peers>
Can cryptocurrencies never be fully decentralized because finding peers is centralized?
Leo Jiang
# Can cryptocurrencies never be fully decentralized because finding peers is centralized?

(Asked by: username_0 on 2018-01-29)

When initially running a cryptocurrency client, it needs to fetch peers from a centralized source. If an attacker gains control of all of a client's default peers servers, they would be able to restrict the client's access to the rest of the peers. Then, they can give the client fake data and there would be no way for the client to tell.

Are we just ignoring this issue because it'll be hard to gain control of the servers?

**Tags:** network, peers


---

## 2 answers

### Answer by username_1 on 2018-01-29. Score: 3

> ... it needs to fetch peers from a centralized source.

Not exactly. Once you are connected to the network, you will begin to receive lists of IP addresses and ports of known clients.

There [is a list](https://github.com/bitcoin/bitcoin/blob/1b2460bd5824170ab85757e35f81197199cce9d6/src/chainparams.cpp#L112) of [seednodes built into Bitcoin](https://en.bitcoin.it/wiki/Satoshi_Client_Node_Discovery#Hard_Coded_.22Seed.22_Addresses). These addresses are only used as a last resort.

After you connect to the network once, you won't need to use the DNS seeds, etc. anymore. The Bitcoin network has a system which allows every network participant to (over time) get the IP addresses of all other network participants. Bitcoin stores this info in a local database(`peers.dat`) and contacts these nodes when it next starts.

> Are we just ignoring this issue because it'll be hard to gain control
> of the servers?

Note that if user have found out that he is under attack, he just needs to connect to one real Bitcoin node. It would be "quite difficult" for an attacker to pull this off, and probably not financially worth the while.


---

### Answer by username_2 on 2018-01-29. Score: 0

> If an attacker gains control of all of a client's default peers servers, they would be able to restrict the client's access to the rest of the peers.

No, because if the DNS servers were shut down, everyone would just post their node ips in their signature on bitcointalk.org or their facebooks or any million other sites.

Then it just requires new participants to find ONE IP address somewhere and that node will send you a list of more IPs and so on.


---

