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
Peer Blacklisting #883
Comments
We are using a timecache in pubsub blacklisting, to basically limit the blacklist effect to something like 1 day. |
Does app mean protocol? If so, I don't think this is the design direction we should pursue. Protocols have a local view of the world, and should not be able to take Host-wide decisions. If they want to penalise a peer, they should decrease its score in the connection manager. If by app you mean the business logic that actually uses libp2p, they would create and inject the |
Note that in pubsub the protocol never proactively blacklists peers -- it has to be the application that triggers it. |
The way I'd like this to work:
type EvtProtocolPeerDecision struct {
protocol protocol.ID
peer peer.ID
decision Decision // enum: BLACKLISTED, THROTTLED, etc.
}
|
I think I understand what you guys mean. My original proposal was to have the protocols drive the blacklist but I now see the perils of it. The connection gater work should take care of this functionality from the application's(the business logic that uses libp2p) POV. The idea of an |
Closing this, since the connection gater solves this. Protocols are free to do whatever they like. |
We have use cases where a libp2p application wants to blacklist a peer if it acts "maliciously". If one app blacklists a peer, we probably want to impose a Host wide blacklisting on the peer. This means that we should reject all future outgoing/incoming connections with the peer. We should also send a Disconnect message as part of the Control protocol we plan to implement to inform the peer that we are blacklisting it.
Design Notes
BlackLister
in theUpgrader
/Non Upgrade Transports
so we can reject connections as soon as we know the peer identify.Questions
Related: #872.
The text was updated successfully, but these errors were encountered: