The role of the reputation authority is to listen to binary vote events made by the action of upvote or downvote from a user on a note and emit a new certification score for the author of the note accordingly.
- Only one vote per user per note
The reputation authority:
- listens the
upvote
event (see NIP-XXX) - calculates the new
score
of Alice - emits a
certification score
event for Alice see NIP-XXX
With this design, the reputation authority node doesn't need to keep the entire history of user interactions. The database would be used only to store pubkey and eventually external verification proofs that users will make via a registration interface
upvote
: upvote event as described in NIP-XXX
downvote
: downvote event as described in NIP-XXX (punishment weight)
Alice score
: certification score of the user Alice
Bob score
: certification score of the user Bob
Bob rating value
: as defined in NIP-XXX takes the value upvote
or downvote
sent by Bob to Alice's note
upvote
= 1
downvote
= -3
Alice score
= Alice score
+ Bob score
* Bob rating value
The reputation authority listen to NIP-320 events to get the user rating mass
value.
The reputation authority uses the social graph of the user to calculate the certification score like the major social network platforms do.