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

Identify Black Holes #573

Open
dnwiebe opened this issue Jan 17, 2025 · 0 comments
Open

Identify Black Holes #573

dnwiebe opened this issue Jan 17, 2025 · 0 comments

Comments

@dnwiebe
Copy link
Collaborator

dnwiebe commented Jan 17, 2025

At the moment, an attacker could join the Network with an evil Node that accepted data to route or exit and just threw away some or all of it.

Suggested mitigation:

  1. Establish a Time-To-Live for unrequited requests in the ProxyServer. (There may be one already, to facilitate reaping orphaned requests so that they don't clog up the HashMap.)
  2. When an unrequited request times out, increment the (new for this card) may_have_lost_data count by one in the metadata for every Node in that request's Over and Back route segments: but if a Node appears in both segments, increment it only once.
  3. If it's not already being done, replace the timed-out route by a newly-generated one from the Neighborhood.
  4. When a request is satisfied by a response, set the may_have_lost_data count to zero in the metadata of every Node in that transaction's Over and Back route segments.
  5. Modify the Routing Engine so that a Node's undesirability is augmented by the product of its may_have_lost_data value and some appropriate constant.
  6. (Optional; we should discuss this) If, when it comes time to increment a Node's may_have_lost_data count, it exceeds some reasonable limit, malefactor-ban the Node before regenerating the route.

Note: this capability might one day be extended to also handle latency detection, so that we can identify perfectly honorable Nodes which have nonetheless been cursed with high latency and raise their undesirability. Try to avoid designs that preemptively prohibit this future enhancement.

@dnwiebe dnwiebe converted this from a draft issue Jan 17, 2025
@dnwiebe dnwiebe changed the title Identify Black Holes (blocked by Route Reversal) Identify Black Holes Jan 17, 2025
@dnwiebe dnwiebe mentioned this issue Jan 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🆕 New
Development

No branches or pull requests

1 participant