mwarning / KadNode

P2P DNS with content key, crypto key and PKI support. DynDNS alternative.
MIT License
413 stars 75 forks source link

Publishing addresses for other nodes #104

Open rendaw opened 4 years ago

rendaw commented 4 years ago

The FAQ includes

Can annoucements be made for other nodes? ... No

Assuming I understood that correctly, what are the pros of this decision? I'm interested in setting up a node and this seems like a really cool project, but here are some things that KadNode can't do because of this that are important use cases for me:

mwarning commented 4 years ago

Thanks for your interest in this side project. :-)

Well, the uses DHT takes the announcements IP address from the senders IP address. Otherwise someone could use the DHT to direct traffic to some target IP address to cause a DOS attack.

While this could be worked around by signing announcements, the BitTorrent DHT forces this approach.

As for the three points you make:

  1. I agree, that is not possible.
  2. Agreed. The resources must be accessible via the IP address of the server running KadNode.
  3. That is possible (even without upnp). The announcements source IP address is the public IP address of the Internet gateways IP address. So if you have a webserver running on the gateway, or on another server behind the gateway with a port redirect, then that scenario will work.

An alternative approach would be to use a different DHT network to store signed announcements. But that's not what the DHT network KadNode uses can provide (if I am not mistaken).

melroy89 commented 4 years ago

So can KadNode work in combination with IPFS? Can KadNode replace IPNS?

mwarning commented 4 years ago

@danger89 it can replace IPNS, but drawback here is that every node you want to reach has to run KadNode as well.

mwarning commented 4 years ago

That said, I think the DHT could be modified, to store signed data. But that might create a distinct DHT network (which also would be much faster because it happens to be small).