gossipsub-rln - the name of the p2p pubsub protocol
RLN - Rate Limiting Nullifier
gossipsub-rln is a libp2p protocol which extends the gossipsub-v1.1 protocol and implements the RLN (Rate limit nullifier) primitive. This protocol will be generic addition to the libp2p library's toolkit and could be used as privacy preserving, spam resilient PubSub protocol by various applications.
The goal of this project is to provide a building block for p2p application usecases that need strong privacy and spam resilience. The privacy and the spam prevention is implemented on the PubSub protocol level.
Certain applications might require strong spam prevention measures and anti-DOS mechanisms on a broader level of the p2p network. Another necessity is privacy preservation of network's participants.
The gossipsub protocol already has security extensions built for spam prevention and other security related topics, specified as gossipsub-v1.1 (addition to the gossipsub-v1.0 protocol specification). However gossipsub-v1.1 doesn't offer privacy protection and the spam prevention measures are not on global network level and are rarely enough.
Gossipsub-v1.1 uses a peer-scoring algorithm based on specific logic. However the peer-scoring is implemented locally (per-node) and there is no global view for the whole network. This means that an attacker might be graylisted from a certain node but not from the other nodes, and he can freely spam the other nodes until he gets graylisted there too. Another concern is attacker spinning multiple nodes. In this way the attacker will be able to spam a certain target node from multiple sources.
The RLN primitive solves this issues by providing a spam prevention mechanism for private environments which offers group level spam protection (a group can be the whole p2p network), by leveraging ZK-cryptography and economic disincentives for spamming.
Waku has already started working on this problem using the RLN primitive, which addresses the needs for their problem (https://vac.dev/rln-relay). The RLN relay is a wrapper around gossipsub-v1.1 and is part of their tech stack. The main focus of Waku are resource constrained devices.