I was wondering how IPFS makes it possible to quickly find another peer. Do you use something like Kademlia where super nodes help to find other peers or group content hashes like IP addresses?
We use Kademlia, but not exclusively. More generally, we have two services for this:
- Content discovery: maps CIDs (file hashes) to peers that claim to have these files.
- Peer discovery: maps peer IDs to known addresses for that peer.
By “not exclusively”, I mean that there’s we use the our DHT as a provider for these services. We also use mDNS for peer discovery on the local network and will likely branch out to other peer discovery and content discovery services in the future.