2

I want to use a distributed hash table in an application but I don't want to have a central server as entry point. Is there a way to implement this?

Lenar Hoyt
  • 5,971
  • 6
  • 49
  • 59

1 Answers1

1

Yes, there are quite a few ways:

  • Use a public (typically HTTP- or DNS-based) service to store IP addresses. It can be replicated using Fast-flux DNS and/or IP anycast.
  • Preconfigure some addresses, either in the binary or a configuration file. Create a list of peers with the highest uptime, and release that with the next version of your software.
  • Store reliable peers on the disk to try them the next time your program is started.
  • Use IP multicast to find other peers in your local network.
  • Randomly scan IPs. It may take a long time to find a remote peer, but it's the only fully decentralized solution that works in the Internet. This method is only feasible for IPv4.
phihag
  • 278,196
  • 72
  • 453
  • 469