asgayapedia

Unknown: Bulletin Board Anti-Spam Strategies

Status: Not Started
Priority: High (Phase 0 critical)
Last Updated: 2026-06-05
Contributors Welcome: Yes
Related: Bulletin Board, Notification Listener Bot


What We Don’t Know

What is the optimal anti-spam strategy for the bulletin board to prevent fake listings without creating barriers for legitimate users?

The challenge: The bulletin board must be permissionless (anyone can list) but protected from spam attacks (thousands of fake listings).


Why It Matters

1. User Experience

Without anti-spam:

2. Network Costs

Spam impacts:

3. Reputation Risk

First impression matters:


Current Approach (Baseline)

From bulletin-board.md:

Minimum BCH value required in listing UTXO:
├─ NFT commitment (listing data)
└─ ≥ 0.001 BCH (~€0.50 at current prices)

To spam with 1000 fake listings:
Cost = 1000 × €0.50 = €500

Pros:

Cons:


Alternative Strategies

Strategy 1: Increase Commitment Amount

Approach: Raise minimum BCH from 0.001 to 0.01 or 0.1 BCH

Economics:

Pros:

Cons:

Phase 0 test: Start with 0.001 BCH, monitor spam levels, raise if needed.


Strategy 2: Limit Listings Per Cash Account

Approach: One buyer listing + one seller listing per Cash Account maximum

Rationale:

Pros:

Cons:

Implementation: App enforces limit client-side, blockchain enforces via covenant rules.


Strategy 3: Device Fingerprinting via Notification Bot

Approach: Notification listener bot flags multiple Cash Accounts on same device

Mechanism:

Pros:

Cons:

Phase 0 feasibility: High (we already have notification bot infrastructure)


Strategy 4: Payment Method Identity Verification

Approach: One Cash Account per payment method (e.g., one per Bizum account, one per bank account)

Rationale:

Mechanism:

Pros:

Cons:

Phase 0 feasibility: Low (privacy/complexity concerns)


Combine multiple strategies:

  1. Minimum commitment: 0.001 BCH (low barrier, basic spam deterrent)
  2. Listing limit: 2 per Cash Account (1 buyer, 1 seller)
  3. Device fingerprinting: Flag if same device has 10+ Cash Accounts
  4. Dynamic adjustment: Raise commitment if spam detected

Phase 0 implementation:

Success metrics:


Testing Plan

Phase 0 (Venezuela Launch)

Baseline configuration:

Monitor:

  1. Spam rate: % of listings that never respond to messages
  2. User complaints: “Too many fake listings” feedback
  3. Listing turnover: How often listings are updated/replaced
  4. Capital locked: Total BCH locked in listing UTXOs

Adjustment triggers:

Phase 1+ (Post-Venezuela)

Add device fingerprinting:

Advanced features:


Open Questions

1. What is the optimal commitment amount?

Trade-off: Higher = less spam, but also less participation

Phase 0 hypothesis: 0.001 BCH is sufficient for Venezuela (€0.50 is non-trivial)

Adjustment mechanism: Monitor spam rate, raise to 0.01 BCH if >10% spam

2. Should we enforce listing limits on-chain or client-side?

On-chain: Covenant prevents same Cash Account from creating >2 listings

Client-side: App prevents user from creating >2 listings

Recommendation: Start client-side (Phase 0), move to on-chain if abuse detected (Phase 1+)

3. Is device fingerprinting too centralized?

Concern: Backend tracking device hashes conflicts with permissionless philosophy

Counter:

Alternative: Fully on-chain solution (listing limit enforced by covenant)

4. What about merchant reputation?

Suso’s insight (June 5): Merchants with physical locations have reputation at stake. Should they be highlighted/prioritized?

Implications for anti-spam:

See: Issue #4 below


Success Criteria

Anti-spam strategy is successful if:

  1. Spam rate <5%: Most listings are from real users who respond to messages
  2. No user complaints: <10% of Phase 0 users report spam as a problem
  3. No single actor dominates: No Cash Account or device represents >10% of listings
  4. Low barrier: Legitimate users don’t complain about cost or complexity

Anti-spam strategy fails if:



Contributor Guidance

Skills needed:

How to contribute:

  1. Test spam resistance: Create multiple fake listings, measure cost/friction
  2. Propose mechanisms: Alternative anti-spam strategies we haven’t considered
  3. Implement device fingerprinting: Android code to hash device ID securely
  4. Monitor Phase 0: Track spam rates, user complaints, listing quality

Status: Hypothesis formed. Baseline strategy documented. Awaiting Phase 0 data.

Next steps:

  1. Implement 0.001 BCH minimum commitment in Phase 0
  2. Enforce 2-listing limit client-side
  3. Monitor spam rate for 30 days
  4. Adjust commitment or add device fingerprinting based on results

This unknown asks: How do we keep the bulletin board permissionless while preventing spam? The answer determines user experience quality and system resilience.

🏠 Home ↑ Unknowns 📖 Glossary