ipfs / notes

IPFS Collaborative Notebook for Research
MIT License
402 stars 30 forks source link

IPFS Routing Bootstrapping #342

Open jbenet opened 10 years ago

jbenet commented 10 years ago

IPFS Routing protocols -- like the standard IPFS DHT -- will require bootstrapping. Let this thread collect proposals.

jbenet commented 10 years ago

IPFS DHT Trusted Bootstrapping v0

This is a simple "web of trust" style bootstrapping mechanism for now, until we decide on a better one. (Many p2p systems use something similar today, so it's not terrible, but could be better, so propose away).

  1. Keep a list of well known public keys of honest bootstrap nodes, signed by a trusted source. List could be retrieved from http://config.ipfs.io/bootstrap and other mirrors. List could also ship with ref clients. (note: list shipping with clients has vulnerabilities)
  2. Point DNS records from bootstrap.ipfs.io to multiple nodes on this list.
  3. Once connection is established to bootstrap nodes, clients can verify the nodes with keys retrieved from 1.
  4. Client can find out about other nodes via the bootstrap nodes.
skliarie commented 6 years ago

I have an idea about controlled ipfs gateway discovery that is suitable for local NATed networks with static external IP:

  1. create site local.ipfs.io that will allow sysadmins to configure IP number of IPFS node on their network.
  2. Update specs that say that after connection 127.0.0.1:8080 failed, before failover to http://ipfs.io gateway, try to check local.ipfs.io, may be it will give you hint on where IPFS node might be located in your network
  3. If found, try to use the local network IPFS node.
  4. If not, go ahead with using http://ipfs.io as before.
Stebalien commented 6 years ago

@skliarie this issue is about IPFS nodes finding other IPFS nodes, not the browser finding the best IPFS gateway. Currently we do this by connecting to a set of "bootstrap" nodes. This issue is actually rather old.

skliarie commented 6 years ago

ok, opened separate issue on that, sorry: https://github.com/ipfs/ipfs/issues/308