At this point I'm kind of too afraid to ask, but is there some open source solution for calculating Web of Trust scores (not some API or something, wanna run the thing). Preferable in Python 🌝

Or do I need to build something myself 🫣

#asknostr

Reply to this note

Please Login to reply.

Discussion

🤔

nostr:naddr1qq3yuctkd9nkzarfdenj6argv5khxmmrd9skctt8wfshq6pd8yunzmpedcpzpa5rapcrtaadfazwpwvvl0v4xlskg4df9nfcem7yevcaka2h7hhjqvzqqqr4guzfw2ms

Coracle's algo is very simple: `nfollows(pubkey) - pow(2, log(nmutes(pubkey)))`. The log thing I've been told is stupid, but even such a dumb/simple algorithm works very well.

How do you know nmutes when mutes are private? 🤔

And you're doing this global? Looking on all profiles who they follow? 👀

Yeah, when you're only doing it for a single user it's really not too heavy, you end up with maybe 10-20k pubkeys in the graph, everyone else has a score of zero. The private mutes thing is a limitation, no way around that except something much more complex like ZKPs or some kind of request/response protocol for requesting that information between pubkeys.

I'm just legitimately curious at the underlying assumptions. Occam's razor and what not.

WOT from first principles should be as simple as possible. Any less would be too light of a filter too light a filter but complexity obscures interpretibility. Let alone the network calculations for uncaching clients.

Too light of a filter to be useful*

You mean nfollowers(pubkey) and nmuters, right?

Also, is it a global value or does nfollowers/nmuters depend on the observer? Is it nfollowers/nmutters that the observers also follows?

I'm just wondering since any global computation can be attacked and gamed.

Yeah, local to the user, `nfollows` is "how many people the current user follows who mute target pubkey", same with mutes.

Oh nice, so pubkey in your explanation is actually the observer's pubkey, that makes more sense!

The pubkey is actually the key being considered, but the functions are based on the user's pubkey. But you're right that the names are backward so you could think of it either way 😅