In order to find the file in IPFS network by it's hash we should ask the adjacent nodes - "Do you have the file with hash H(F)?" and if not, then they propagate the question further.
ipfs-search.com is a Free and Open Source (FOSS) search engine for directories, documents, videos, music on the Interplanetary Filesystem (IPFS), supporting the creation of a decentralized web where privacy is possible, censorship is difficult, and the internet can remain open to all.
IPFS uses libp2p, IPLD and Multiformats to provide content-addressed decentralized storage. libp2p is the peer-2-peer network-layer stack that supports IPFS. It takes care of host addressing, content and peer discovery through protocols and structures such as DHT and pubsub.
Every file added to IPFS is given a unique address derived from a hash of the file's content. This address is called a Content Identifier (CID) and it combines the hash of the file and a unique identifier for the hash algorithm used into a single string.
Every IPFS node on the network has a unique public identifier, known as a PeerID. Since PeerIDs are long-lived identities, it's possible for someone to look up your PeerID in the distributed hash table (DHT) that stores public IPFS metadata and track your IP address over time.
IPFS is based on distributed netwotk each node are client/server so each nodes can create an request or respond an request.
i think you can see around DHT : https://github.com/ipfs/go-ipfs/issues/1396
i hope it's helpfull for you
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With