Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
momack2 opened this issue Jun 6, 2020 · 13 comments
Closed
Assignees
Labels
dif/easy Someone with a little familiarity can pick up effort/hours Estimated to take one or several hours good first issue Good issue for new contributors help wanted Seeking public contribution on this issue kind/enhancement A net-new feature or an improvement to an existing feature P2 Medium: Good to have, but can wait until someone steps up status/inactive No significant work in the previous month topic/docs Documentation

Comments

@momack2
Copy link
Contributor

momack2 commented Jun 6, 2020

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. =]

@johnnymatthews johnnymatthews added the need/triage Needs initial labeling and prioritization label Jun 6, 2020
@johnnymatthews johnnymatthews changed the title [DOCS ISSUE] Page: Modify the bootstrap list Include community-managed bootstrap nodes to the Configure a Node page. Jun 8, 2020
@johnnymatthews johnnymatthews added dif/easy Someone with a little familiarity can pick up effort/hours Estimated to take one or several hours good first issue Good issue for new contributors help wanted Seeking public contribution on this issue kind/enhancement A net-new feature or an improvement to an existing feature need/author-input Needs input from the original author P2 Medium: Good to have, but can wait until someone steps up status/ready Ready to be worked topic/docs Documentation and removed need/triage Needs initial labeling and prioritization labels Jun 8, 2020
@johnnymatthews
Copy link
Contributor

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.

@alexmmueller
Copy link
Contributor

alexmmueller commented Oct 5, 2020

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

@johnnymatthews johnnymatthews added status/inactive No significant work in the previous month and removed need/author-input Needs input from the original author status/ready Ready to be worked labels Sep 14, 2021
@johnnymatthews
Copy link
Contributor

johnnymatthews commented Sep 14, 2021

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.

@momack2
Copy link
Contributor Author

momack2 commented Sep 16, 2021

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 momack2 reopened this Sep 16, 2021
@momack2
Copy link
Contributor Author

momack2 commented Sep 16, 2021

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...

@johnnymatthews
Copy link
Contributor

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.

@momack2
Copy link
Contributor Author

momack2 commented Sep 23, 2021

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).

@Annamarie2019
Copy link
Contributor

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

@Annamarie2019
Copy link
Contributor

...in progress.

@Annamarie2019
Copy link
Contributor

@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
Copy link
Contributor

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 Annamarie2019 moved this from Archive of closed issues to In Progress in Protocol Docs Feb 23, 2022
@bmann
Copy link

bmann commented Feb 28, 2022

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.

@johnnymatthews
Copy link
Contributor

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

@Annamarie2019 Annamarie2019 moved this from In Progress to Backlog in Protocol Docs Mar 4, 2022
@github-project-automation github-project-automation bot moved this from 📋 Backlog to ✅ Done in Protocol Docs Mar 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dif/easy Someone with a little familiarity can pick up effort/hours Estimated to take one or several hours good first issue Good issue for new contributors help wanted Seeking public contribution on this issue kind/enhancement A net-new feature or an improvement to an existing feature P2 Medium: Good to have, but can wait until someone steps up status/inactive No significant work in the previous month topic/docs Documentation
Projects
None yet
Development

No branches or pull requests

5 participants