Oddbean new post about | logout
 Is simply "Alice trusts Bob" a valid statement in your framework? 
 Yup. In my framework, attestations are contextual. Some contexts are broad, others are specific / niche. Trust (or lack thereof) in a broad context automatically implies trust (or lack thereof) in all sub-contexts.

The most broad of all would take the form: “Alice trusts (or doesn’t trust) Bob for all actions, in all categories.” In other words, in all contexts. Trust attestations are averaged by your Grapevine to create context-specific influence scores, and the “base layer” of influence scores is the layer that applies to ALL contexts. 
 “Alice trusts (or doesn’t trust) Bob for all actions, in all categories.” – how do you represent that today in a nostr event? 
 I use the tapestry protocol to format a rating using json, and I have some TIPs on how to store ratings (and other pieces of json-encoded data) in nostr.

The below link shows an example of a rating and shows how I wrap it into the content of a kind 39901 event.

https://github.com/wds4/pretty-good/blob/main/appDescriptions/curatedLists/v021Overview/rateCurator.md 
 I sincerely find it difficult to understand how to produce all that JSON 
 We could start out with simpler json. Don’t add all the fields until we need them.

For zap.store, start out with a WoT score derived from follows, maybe calculated the same way coracle or wikifreedia calculate WoT scores. Then introduce an explicit attestation of trust tailored to the zap.store, like:

{
  rater: pk1,
  ratee: pk2,
  ratingType: trustToRateProductsOnTheZapStore,
  category: electronics,
  rating: 100 // 0 = don’t trust, 100 = trust
}

Gradually phase out follows and use the above attestations instead.