Status has a problem with spam. Spam in public chats.
When a new user creates a Status account and goes in to any of the 9 suggested public chats here:
This is what they will see:
(well, without the “SPAM” tags)
There are several more public channels suggested via “Join public chat”, I looked at ten picked randomly and they all had similar issues.
An important question originally posed by Carl:
how can I inspire myself to use Status?
I do not find value in the Status public chats, as they are now. Our existing countermeasures (blocking users) require continuous effort from me, and still lead to me seeing more spam messages whenever a new account is spamming.
Spam is driving people away from Status.
We are going to remove public chats when the communities features are released. Communities will resolve problems of spam and moderation internally, but will not address the problems of spam in public chats.
Spam has been an issue with Status for a long time, and it seems like we haven’t done much to deal with it. From a user’s perspective, we have been ignoring this. While this isn’t true - particularly given all the work going into communities - it’s a bad sign that users think we are ignoring their input, especially for such a longstanding issue. Many solutions have been discussed and presented, but we have not made any visible progress toward no spam.
I think we may as well deal with it now, instead of waiting for communities and letting the current landscape of public chats drive away users in the interim.
I propose that our public chats are a detriment to the user experience, and that removing public chats sooner than the release of communities will increase retention and provide a better experience for our users.
Some arguments against this:
- some users may be using “hidden” public chats that are not currently afflicted with spam
- removing a feature without anything given to users in exchange may be negatively received
- there are other solutions to this problem that do not involve removing a large feature
Please join this discussion about what to do with public chats. Should we remove them now? Are there other solutions to the issue of spam that could be applied in a short timeframe?
[Edit:] Twitter poll results - “Should we remove public chats?” 57.7% yes, 42.3% no
Here is an outline of prior literature on the subject, with approximate summaries of some of the material.
Status is committed to privacy, censorship resistance, and decentralization.
Privacy means an aversion to in-app tracking and analytics, so automated analysis of user activity is relatively infeasible.
Censorship resistance - Status wants to delegate moderation and censorship to communities, Status ideally does not censor anything.
Decentralization - solutions to spam should not introduce centralized dependencies
The community is collaborating to find solutions to this problem.
The short term solution introduced around the time of this post was to add a size constraint to messages. This was considered a hotfix.
Long term solutions should benefit the user and live up to Status values, delivering a privacy first, decentralized experience. Several ideas from the community are listed in the blog post.
- spam is difficult to objectively define, in practice “whatever content a typical receiver may complain about” is usually good enough
- spam is an assymetric challenge, far easier to spam than to stop spam
- many platforms resolve this via Sybil resistant personal info collection (e.g. requiring a valid phone number to sign up)
- proof-of-work at the sender’s end is an interesting idea (and was the initial motivation for PoW)
- Challenges of spam for Status:
- blocking users is ineffective as it is cheap to create new accounts
- Status is open source, so proprietary filtering rules won’t work
- Status runs on a P2P network so any spam policy will have to be implemented in messenger clients or at relay/history nodes. There is no centralized server to do spam filtering.
- Spam should be defined, monitored, and mitigated in a decentralized way
- Is spam free speech?
- Current mitigations (Oct 2020):
- proof-of-work: doesn’t really help, meaningful inconvenience to spammers is too great a UX impact for non-malicious users
- rate limiting: users cannot send more than 5 messages per second. This limit does not prevent spamming.
- messages longer than 4096 characters are automatically ignored when both sending and receiving.
- block users: requires perpetual effort from users
- several possible solutions are outlined with pros and cons
Vitalik: Longer form thoughts on DoS / spam prevention
Solutions fit into the following categories:
- Chats with whitelisted participation
- Economic rate-limiting
- Non-economic rate limiting
- Shared block lists
- Chats with cryptoeconomic collective moderation
Possible solutions:
- subscribe to other people’s blocklists
- cryptoeconomics as moderation (details)
- implement a cost for posting rights (sign with a key that has >100 SNT locked up, or ZK-prove a brightid)
- view only messages from accounts that have an ENS name
content-based filtering is not ideal because it has to be closed-source
Possible solution: keyword filters so users can block messages containing user-specified keywords
Complaints about spam:
https://twitter.com/InsideCryptoLan/status/1462027929131511817
https://twitter.com/FostersLaw/status/1453385028596076546
https://twitter.com/__padpad/status/1443257181823016963
https://twitter.com/CryptoUnknown/status/1391812665719222275
https://twitter.com/Glimpseheaven7/status/1380665216040542209
https://twitter.com/vanparalyk/status/877198560659472384
https://www.reddit.com/r/statusim/comments/rar8m4/something_needs_to_be_done_about_spam_public/