Spam in the Permissionless Network #51
trebor-yatska
started this conversation in
Research
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Goal
The goal of this document is to classify and describe known spam vectors, and to describe mechanisms that can be employed by the protocol and ecosystem participants to mitigate spam.
Preliminary
This document uses the concept of an inbox to represent the location where a user’s conversation and invite messages are delivered by the network.
Conversation messages for a specific topic flow to the user’s conversation inbox, and invite messages flow to the user’s public inbox.
This document refers to the sender and recipient apps in the diagram above as “inbox apps”.
Spam classification
Network DOS
User Inbox DOS
Phishing
Phishing mitigation is difficult because attackers have a known bounty (i.e., the recipient wallet balance).
Spam defense classification
How can the protocol help mitigate spam?
A mechanism is considered a good candidate to be elevated to the level of the protocol if it enhances coordination among ecosystem participants, avoids any intentional or unintentional discrimination against specific ecosystem actors or participants, and achieves a majority social consensus.
Network gossip
Network DOS
User Inbox DOS
Messaging fee mechanism
Network DOS
User Inbox DOS
Phishing
Post delivery filtering and indexing
Protocol post delivery mechanisms primarily fall into the category of reputation signaling. That is, inbox apps would be better able to protect users if the protocol can somehow signal sender reputation.
As a credibly neutral coordination point, the protocol is a natural place to administer reputation.
There are various mechanisms the community is considering:
Staked sender
Professional senders stake to get reputation bandwidth.
The existence of stake informs inbox apps of the broadcaster’s intent to form a meaningful relationship.
How staking reputation is used in filtering strategies will likely vary across inbox apps. The ability of inbox apps to separate 1:1 vs 1:many senders will impact the effectiveness of the staking signal.
The protocol staking contract is the most legitimate and agreed upon location for stake.
Constrain invite messages:
Reputation fees
Honest professional senders can include a reputation fee that signals their intent to form a meaningful relationship. The fee is not bounded, and can be thought of as a credibly neutral protocol bribe.
The fee is escrowed until one of three events occurs: (1) the sender replaces the message with a higher reputation fee; (2) the recipient accepts the invite; or, (3) 30 days (in epoch time) has passed since the message was first sent. The fee is sent with partial key material that is required to unlock the fee. In all outcomes, the event generates the remaining key material to unlock the escrowed fee.
Reputation fee destination
Reputation fee destination is outcome dependent. If the invite is replaced by the sender or expires, the fee is refunded to the sender. If the invite message results in a conversation, the fee is burned by the protocol.
Burning reputation fees has the nice property of aligning protocol revenue with professional sender activity—assuming the majority of reputation fees come from professionals.
More work is required to understand if the proposed reputation fee mechanism is incentive compatible and if it is vulnerable to attack.
Protocol level list of attacker addresses
Design a process for ecosystem participants to flag spam address.
The mechanism must incorporate a robust consensus process and incentives in order to protect protocol users from being improperly labeled, either intentionally or unintentionally.
Post delivery inbox apps can use the list to filter reported addresses.
Post delivery filtering effectiveness
All three solutions presented above become less effective in the presence of sybil.
An attacker can seamlessly spin up many XMTP contacts to:
Questions
Beta Was this translation helpful? Give feedback.
All reactions