Github issue: https://github.com/nanocurrency/nano-node/issues/2238
Although every component of the Nano protocol is designed to maximize efficiency by using the least amount of resources possible, in order to protect nodes against specialized Denial of Service (DoS) attacks, a process should be established to systematically ban malicious nodes (peers).
In this context, a malicious node is any node that sends junk data, such as:
- Invalid packets (messages which cannot be deserialized)
- Invalid blocks and votes (difficulty below threshold, invalid signature)
- Blocks that cannot fit the ledger
- Bad bootstrap requests and responses
- Duplicate data, requests
Existing approaches  use a system to continuously score peers and disconnect them once a threshold is reached.
One of the open questions is how long to block peers, and if it should only be done locally by each node.