-
Notifications
You must be signed in to change notification settings - Fork 74
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
Force-disconnect peers that trigger errors in the node #1250
Comments
I've contributed to a similar thing before and the design was roughly: bad behavior of a certain peer is reported to p2p service (who receives data and proxies it to other services) from other services (sync, ...). Behavior was an enum
|
Implementing the ban on the networking part of the code should be rather easy, the problem is more about deciding which pieces of code should decide that certain nodes are to be banned. I'm trying to not spaghettify the code with too many concepts at once. In principle, the syncing code should simply indicate when a peer has done something wrong, and it is the higher level code that decides to ban the peer in return. |
Agree. |
In the same vein, peers that refuse us (usually because they are full) should also be temporarily banned. |
After peer slots are implemented (#1240), it is possible for all slots to be filled with nodes that serve bad blocks or proofs.
Smoldot should instead force-disconnect these nodes in order to free slots for others.
It is unclear whether the syncing code needs to help with that, or if the sync service should do it alone.
It is also unclear whether to ban nodes for a certain duration and how to implement this ban.
The text was updated successfully, but these errors were encountered: