-
Notifications
You must be signed in to change notification settings - Fork 790
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
Establish metrics and a process to ban malicious nodes #2238
Comments
I wonder how many of Bitcoin's other client protections could also be adapted to Nano?
|
Adding in the forum discussion around this for additional context: https://forum.nano.org/t/systematic-process-to-ban-malicious-nodes/109. We are looking to do some research and prep work around this during the V21 development period and possibly include some malicious node handling in V22+. If any additional research has already been done, please provide details here or in the forum discussion to help guide efforts. |
For future readers:
https://nano.org/en/blog/progress-toward-achieving-commercial-grade--49e975d8 |
In addition to the above discussion, could a local rep blacklist defined by each node (not through consensus) be a relatively simple decentralized mechanism for "forking" adversarial reps from the network? This list could be made publicly viewable to allow for community services to monitor which reps are being blacklisted by others as a way to monitor for potential adversarial rep behavior. This would all be in addition to, or as a holdover until, any other automated peer rating/blacklisting system can be devised. Would love to hear general thoughts or concerns on this concept. |
Yes, that feature should exist really. The trouble is currently no reliable to identify a node but we could at least have a blacklist of ip addresses. In the past, when we identified IP addresses that were malicious, we blocked their IP addresses at the operating system level but having a such a list at the node config level would make things easier to coordinate. |
Would a local blacklist allowing blocking of either/both IP & rep address not be a reasonable short-term solution? I'm aware that the adversarial rep could just change addresses and/or IP, but it would at least create some friction for continued malicious behavior, with minimal effort needed from honest rep admins. |
Issue for blacklisting IP addresses: |
If a node starts interacting with the network in malicious ways there should be a mechanism by which other nodes automatically block it from the network. Could be permanently or for a period of time. Bitcoin does something similar by banning "misbehaving" nodes. See the following https://github.com/bitcoin/bitcoin/blob/52b9797119d5ee20b255efc68931ac7e158e325d/src/net_processing.cpp#L964
Could something similar be implemented in nano to track metrics like invalid blocks, headers, etc to score a node for how many times it has communicated in a way that would be considered either malicious or unwanted to the network to prevent it from causing additional problems later.
The text was updated successfully, but these errors were encountered: