Same as above except Alice does NOT trust Bob to curate her nostr content in any category.
Discussion
In my proof of concept, “don’t trust” means a trust score of 0, and “trust” means a score of 1. The Grapevine then calculates a weighted average of all trust scores, meaning that any given user’s average score must be between 0 and 1.
What about when there is no information?
In my proof of concept, there is a default trust score that kicks in when there is no information. It’s set to a little bit above zero, but there is a slider so you can move it to 0 if bad actors (scammers, trolls, sybils, etc) are numerous, or 1 if bad actors are scant and you want to capture data from anons.
Technically speaking, there are two sliders, one for the default average score and one for the degree of certainly which is a number between 0 and 100 percent. Every attestation also must come with a “certainty” in that attestation, although in my proof of concept I set it to a fixed 80 percent to keep things simple. When the Grapevine calculates an average score, it also calculates a certainty in the average score: low if the average is generated from a small number of attestations from users with low influence, high if it’s from a lot of users with high influence.
I know this sounds complicated, and it is complicated from a dev perspective, but it is NOT complicated for the user. Most of this functionality is hidden from the user at first, unveiled only when the user needs it to solve attacks by bad actors, which WILL happen eventually, but not until the grapevine catches on.
The default score gets replaced by attestations if there are any, but it’s a gradual process, depending on the degree of certainty in the default score and the amount of weight my Grapevine gives to the attestations.
A user’s trust score is used to determine how much weight my Grapevine gives to that user when calculating weighted averages.