-
Notifications
You must be signed in to change notification settings - Fork 127
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
Add peer ban list to Fluffy #2809
Comments
We currently see a lot of following errors:
This is definitely a good candidate as reason for subnetwork specific temporary bans. As it really indicate a node that does not support a subnetwork. |
@kdeme I remember you mentioned that there is an existing ban list implementation in nimbus-eth2 somewhere but I can't seem to find the link (if you shared it previously). Can you share it here when you get a chance? |
How long should we ban nodes that are misbehaving? So we should ban nodes for a period of time when they:
Does this cover it or are there other scenarios that need to be covered? |
I think we might have different timeouts depending on the reason of the ban. But nodes that are simply incompatible should be banned for several hours if not a day. Nodes that have many timeouts perhaps less, as maybe the node/machine was just "busy" for a bit.
That's a good start, we will probably notice more as we go through the error statements in the code.
Nodes stay in that table for different times depending on the failure: https://github.com/status-im/nimbus-eth2/blob/stable/beacon_chain/networking/eth2_network.nim#L235-L251 Our situation is of course a bit different as we don't keep long-lived connections to other peers.
This would also be something that could potentially be enabled on the level of discv5. |
Nodes that offer invalid data will currently be allowed to keep doing so wasting bandwidth and cpu of the receiving node.
Any offer that has a properly encoded content key and that falls in the data radius of the receiving node will be accepted.
Data will be send and once received it will be validated. If the data fails validation, the peer currently is not punished and thus allowed to keep offering this or other invalid data.
Similary a node can provide invalid data on a FindContent. Or send no data at all or very slow until uTP transfers time out.
We should add a temporary ban list for nodes that do this.
There might also be nodes that end up in the DHT of a specific subnetwork for some reason, but don't actually support the subnetwork. Might require a temporary (per network) ban list for these to avoid trying to ping over and over a node that is not supported.
The text was updated successfully, but these errors were encountered: