Inspired by the zap/anti-zap post from Melvin Carvalho
Each reputation authority apply their own policy and simply emit a certification score event for users. User have a reputation score per reputation authority that will most likely be different from an authority to another.
- Clients can listen to certification score events from their favorite authority(ies) and apply timeline filtering accordingly (display score, warnings or hide with "see more comments").
- Relays can do the same and apply moderation strategy accordingly.
Alice and Bob are users of the same reputation authority.
- Alice creates a note
- Bob sends a
upvote
event on Alice's note. - The reputation authority emits an event with the updated certification score of Alice. See certification score update flow
- Clients listen to the certification score from the reputation authority of their choice and apply timeline filtering accordingly
Definitions:
- user: pubkey (human, machine or whatever)
- NIP-XXX: binary messaging representing
upvote
anddownvote
events - reputation authority: a node that listens to NIP-XXX events emitted by relays and changes a user score according to their policy.
- certification score: a score given by the reputation authority
- policy: the rules determined by reputation authority to calculate the certification score
A user accounts reputation authority DVM is composed of a service and registration interface:
The service:
1. listens to events emitted by relay(s)
- relay is decided by DVM operator
- event is upvote/downvote from user on other user's note
2. changes a pubkey score accordingly
- if author of event is "certified", then his upvote/downvote weight is higher
- if user of note is "certified", the upvote/downvote weight is lower
3. emits a replaceable event that state the new score (NIP-XXX)
- nostr.directory <- registration interface
- noswot.org <- reputation score