ipfs-docs icon indicating copy to clipboard operation
ipfs-docs copied to clipboard

Include community-managed bootstrap nodes to the Configure a Node page.

Open momack2 opened this issue 5 years ago • 13 comments

We want to add optional community bootstrap nodes that ipfs users can add to their node configs to provide more diversity/resilience in the bootstrapping flow. Since a number of groups already have these nodes, we'd like to add a small section to the bottom of this page to list the additional bootstrap nodes, and what organization they're being run by. I'll add a list here to be merged in as I collect the right IDs from various operators. =]

momack2 avatar Jun 06 '20 02:06 momack2

This sounds like a nice to have P2 task. Can up the priority if you think it's urgent @momack2. The list of nodes can fit into how-to/configure-node/#bootstrap quite nicely.

johnnymatthews avatar Jun 08 '20 14:06 johnnymatthews

If the needed input is available @momack2 I am happy to start with this issue.

alexmmueller avatar Oct 05 '20 18:10 alexmmueller

This is tricky. Updating a list of public and live bootstrap nodes could be costly in terms of time. What would be better is if we had an automated service that observes the DHT and returns a set of stable peers that have been online for ~1 day or more. The docs could then link to that service.

johnnymatthews avatar Sep 14 '21 14:09 johnnymatthews

I don't think that was quite the intended approach, @johnnymatthews. This issue came from sourcing/identifying additional mechanisms to heal from hypothetical DOS attacks against the pre-configured IPFS bootstrap node list that ships in go-ipfs. With a community list here in the docs, nodes could re-configure to new bootstrap nodes if those default nodes are ever DOSed in an attack (unable to bootstrap new nodes into the network). The todo items to make this possible are:

  • [ ] Request "bootstrap" node addresses from IPFS Operators (ex @andrewxhill, @obo20, @MichaelMure, @bmann, etc)
  • [ ] Make a table with those addresses that others can PR to to add their own
  • [ ] Add instructions for how to reconfigure your default bootstrap addresses in case of an emergency

momack2 avatar Sep 16 '21 10:09 momack2

Maybe we can just start with this list here (content provider list)? but probably better to have dedicated nodes with higher connection limits to act as potential bootstrap nodes...

momack2 avatar Sep 16 '21 10:09 momack2

Oh I see! So this list of nodes will act as a backup in case the default bootstrap nodes go down for whatever reason. Makes sense.

We could pretty easily make a workflow for users to create a PR to add new nodes. But:

  • Should we allow any PR that adds a new node into the list, or only accept PRs from recognised IPFS community members?
  • Do regular IPFS users have to trust that these bootstrap nodes won't do anything malicious?

Tasks

  • [ ] Get list of alternative bootstrap nodes.
  • [ ] Add node addresses to how-to/configure-node/#bootstrap
  • [ ] List steps to change the bootstrap nodes your IPFS node looks for.

johnnymatthews avatar Sep 23 '21 14:09 johnnymatthews

I think it can be fairly permissive - but some good standing in the ecosystem required (a malicious node could ex be annoying by bootstrapping new nodes into an isolated network and refuse to resolve content / peer them with other nodes).

momack2 avatar Sep 23 '21 22:09 momack2

I'll take this one (and also 683 and 245, to really get into nodes).

Annamarie2019 avatar Feb 03 '22 20:02 Annamarie2019

...in progress.

Annamarie2019 avatar Feb 22 '22 20:02 Annamarie2019

@johnnymatthews How do I know when I have a complete or at least a largely representative list of IPFS Operators to request "bootstrap" node addresses from? So far we have:

  • obo20 at Pinata
  • andrewxhill at Textile
  • MichaelMure at Infura (Do we need a peer id? Can I find this in Desktop?)
  • bmann at Fission-Suite (Do we need a peer id?)

Can you tell me who else (or how I can find out), such as:

  • us for Protocol Labs, NFT.Storage, Web3.Storage (who? different operators for each product?)
  • who at Cloudflare?
  • any other companies?

Annamarie2019 avatar Feb 23 '22 01:02 Annamarie2019

Hello @andrewxhill, @obo20, @MichaelMure, @bmann, We would like to provide a list of alternative bootstrap nodes in our Configure a node > Bootstrap documentation in the unlikely event of a Denial of Service attack for the sake of risk reduction. Can you provide me with a list for your organization?

Annamarie2019 avatar Feb 23 '22 01:02 Annamarie2019

Hey @Annamarie2019 thanks for the ping. We could run some community accessible nodes but right now we've turned off routing of non Fission content.

bmann avatar Feb 28 '22 21:02 bmann

I've reached out to the IPFS team to see if we can get an authoritative list of community-ran bootstrap nodes.

johnnymatthews avatar Mar 01 '22 15:03 johnnymatthews