# How IPFS finds nodes through DHT

**URL:** <https://discuss.ipfs.tech/t/how-ipfs-finds-nodes-through-dht/7464>\
**Category:** Help\
**Tags:** go-ipfs\
**Created:** [March 13, 2020, 6:07am UTC](https://discuss.ipfs.tech/t/how-ipfs-finds-nodes-through-dht/7464 "2020-03-13T06:07:11Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![wwwgel](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/wwwgel/32/3525_2.png) [@wwwgel](https://discuss.ipfs.tech/u/wwwgel)\
**Post date:** [March 13, 2020, 6:07am UTC](https://discuss.ipfs.tech/t/how-ipfs-finds-nodes-through-dht/7464/1 "2020-03-13T06:07:11Z")

</div>

When I publish a new file to IPFS network with my node, only my node owns a copy of this file. How do other nodes find this file on my node？  
I read the IPFS white paper. IPFS should use KADEMLIA DHT, so according to my understanding, the block should be stored on the corresponding node according to the hash value, So that other nodes can quickly find the node that stores the data.  
But from the current analysis, the blocks are not actively backed up to the corresponding nodes. Feeling incompatible with the design of KAD.

---

<div class="post-metadata">

**Author:** ![hector](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/hector/32/178_2.png) [@hector](https://discuss.ipfs.tech/u/hector)\
**Post date:** [April 2, 2020, 2:51pm UTC](https://discuss.ipfs.tech/t/how-ipfs-finds-nodes-through-dht/7464/2 "2020-04-02T14:51:26Z")

</div>

No. Each peer keeps its own blocks. Peers only store blocks that they added or requested.

---

<div class="post-metadata">

**Author:** ![Akita](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/akita/32/2650_2.png) [@Akita](https://discuss.ipfs.tech/u/Akita)\
**Post date:** [April 2, 2020, 2:58pm UTC](https://discuss.ipfs.tech/t/how-ipfs-finds-nodes-through-dht/7464/3 "2020-04-02T14:58:31Z")

</div>

The corresponding node stores info about where to find the block (aka who to ask, not the block itself.

---

<div class="post-metadata">

**Author:** ![harshil15999](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/harshil15999/32/4043_2.png) [@harshil15999](https://discuss.ipfs.tech/u/harshil15999)\
**Post date:** [August 13, 2020, 3:51pm UTC](https://discuss.ipfs.tech/t/how-ipfs-finds-nodes-through-dht/7464/4 "2020-08-13T15:51:37Z")

</div>

So basically when I want to find other nodes on a network does IPFS do keep a tracker file stored on a server or it hopes through differnent nodes to find the content? @hecto

---

<div class="post-metadata">

**Author:** ![Akita](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/akita/32/2650_2.png) [@Akita](https://discuss.ipfs.tech/u/Akita)\
**Post date:** [August 14, 2020, 5:29am UTC](https://discuss.ipfs.tech/t/how-ipfs-finds-nodes-through-dht/7464/5 "2020-08-14T05:29:41Z")

</div>

It hopes from node to node. There is no tracker file or server.  
You ask a few nodes, and if they have the content, they provide, if not, they give you the addresses of nodes more likely to have the content. Then you contact these nodes, etc. Until yiu have the content or you realise nobody online does. No server involved.

You should be able to find some insight here:

> **[How IPFS works](https://docs.ipfs.io/concepts/how-ipfs-works/#distributed-hash-tables-dhts)**
>
> Learn how the InterPlanetary File System (IPFS) works and why it's an essential part of the future internet.
