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

Configurable throttling for iroh-net relays #2673

Open
rklaehn opened this issue Aug 27, 2024 · 1 comment
Open

Configurable throttling for iroh-net relays #2673

rklaehn opened this issue Aug 27, 2024 · 1 comment
Labels
c-iroh-net feat New feature or request

Comments

@rklaehn
Copy link
Contributor

rklaehn commented Aug 27, 2024

Some people have offered to run "altruistic relays" for iroh-net. However, in order to run such an altruistic relay, you would need a way to throttle all connections that don't switch to direct after some time, otherwise there would be a chance that the operator of an altruistic relay would end up with a huge bandwidth bill.

This is something we ourselves might need at some point, e.g. if a heavy app that builds on iroh-net goes viral. So it might be a good idea to build this in proactively.

@flub flub added feat New feature or request c-iroh-net labels Aug 27, 2024
@Nuhvi
Copy link
Contributor

Nuhvi commented Aug 27, 2024

For context (albeit out of the scope of this issue):

An altruistic relay would be discoverable from a Mainline hardcoded topic (like content-discovery example).

By default, Mainline returns ~20 random addresses so you get the load-balancing you need.

But that topic might be spammed, so the ultimate solution might be a separate DHT (using the rust's Mainline library) so that only "good" relays are kept in the routing table, so nodes would test each other's for holepunching, and not just responsiveness for ping requests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c-iroh-net feat New feature or request
Projects
Status: No status
Development

No branches or pull requests

3 participants