One of our researchers at Status has written a really good blog post on ZK-based spam protection, where rate-limiting in a group communication setting is implemented in an fully decentralized way (if you consider a blockchain to be decentralized) that does not reveal the participants - not even how many messages a particular participant is actually sending - cool stuff: https://vac.dev/rln-relay.
From a tech point of view, this is part of the Waku project which implements the Status protocol over libp2p - a significant new addition this time around is that we're interfacing with the rust language to bring in some of the cryptography and math involved:
Getting everything compiled is as easy as making sure rust is installed, then cloning the project and running make (waku uses its own version of nim!)