Skip to content
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

NIP-XX: Community Anti-Spam Tools #728

Open
geeknik opened this issue Aug 18, 2023 · 0 comments
Open

NIP-XX: Community Anti-Spam Tools #728

geeknik opened this issue Aug 18, 2023 · 0 comments

Comments

@geeknik
Copy link

geeknik commented Aug 18, 2023

Abstract

This NIP proposes a set of opt-in, community-driven anti-spam tools for Nostr that respect privacy and decentralization.

Specification

Spam Reporting

  • Users report spam by publishing events with tags:
    • l="spam"
    • a=<event_id> of spam event
    • Optional r=<relay_url> if relay specific
  • Relays can filter events based on spam reports.
  • Reports are public allowing transparency.

Anonymized Blocklists

  • Relays anonymize blocklisted pubkeys:
    • identifier = SHA3(salt + pubkey)
  • Shared as events with tags:
    • l="blocklist"
    • d=<identifier>
  • Clients can import blocklists to filter events.

Lightning Proof-of-Work Captchas

  • Relays challenge suspicious accounts with Lightning invoices.
  • Users pay invoice to bypass challenge.

Transparency

  • Relays publish moderation policies via signed metadata events.
  • Policies cover spam reporting, blocklists, captchas, and rate limiting.
  • Allows users to voluntarily choose their desired anti-spam levels.

Rationale

This set of tools enables community-driven anti-spam efforts while respecting Nostr values:

  • Decentralized - No central authority or gatekeepers.
  • Transparent - Public policies empower user choice.
  • Privacy-preserving - Anonymization and minimal proofs-of-work.
  • Open - Avoid permanent censorship via blocklists.
  • Effective - Multiple layers of protection.

Moderation is shifted onto voluntary community signals and peer coordination, avoiding centralized gatekeeping. Users control their desired level of protection by configuring clients and selecting relay policies.

References

Copyright

This NIP is public domain.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant