It’s not gonna be one size fits all. I look forward to seeing the DVM specs!
It is a lot of data. But the question is this: do we calculate WoT scores on the fly just when we need them? Or ahead of time? Right now, we’re trying to do all of them on the fly. I think that’s great for some use cases, but it places severe limitations on what we can accomplish. If we want the notion of WoT to mature, some calculations are simply gonna have to be done ahead of time.
Per NIP-85: there is one event which holds multiple personalized WoT scores (I export GrapeRank, PageRank, & hops, with more scores to be added later) per pubkey. So that’s one event with multiple WoT scores, all concerning Alice, from the perspective of Bob. (“Personalized” means from the perspective of Bob, as opposed to “global” which really just means from the perspective of a big centralized entity like Google.)
We can have third party services to generate and store these events. Right now my app exports these events to my relay. But my vision is personalized WoT relays where Bob will store all of the events that are calculated from his perspective. NIP-85 provides a way for Bob to tell clients where to look for any given WoT score (kind 10040 notes), which can be a personalized WoT relay, a third party service, wherever.
So I see this as basic division of labor. Let each app do what it does best without also necessarily having to provide a complete WoT solution from scratch all by itself.
Login to reply
Replies (2)
Here’s one way it could play out: either third party services or personalized WoT relays create a big picture snapshot, with generic-ish trust scores for a huge number of pubkeys. This will require lots of raw data and lots of compute. So these are the scores that are in greatest need for recalculation and storage.
Next, we have trust scores that are highly contextual. The opposite of generic-ish. Like who are the experts in some narrow topic. These scores require less raw data, less compute and involve fewer pubkeys. So perhaps specialized apps could handle these calculations. The generic-ish trust scores could be accessed and used as filters so that the raw data used for contextual scores is not polluted by spam.
So two ends of a spectrum: generic trust scores calculated ahead of time with results made accessible for lots of purposes; versus highly contextual, specific trust scores that could be handled on the fly.
This seems very complicated. As a left curve individual I want to query a service and get the stuff I want, very fast, and yes that includes personalized Pagerank.
It's up to the service to cache internally if it can't do realtime, no need to generate a massive amount of events.
As a client, I can ofc keep these signed results cached if I want, put them on a relay, whatever. I just don't think this belongs to a spec