Avatar
david
e5272de914bd301755c439b88e6959a43c9d2664831f093c51e9c799a16a102f
neurologist and freedom tech maxi Co-founder @ NosFabrica 🍇 Grapevine, 🧠⚡️Brainstorm

Am I the only one whose WoT panel on #wikifreedia shows the correct number for Follows but Network size is 0 and WOT size is also 0? nostr:note16r6y4zty7th544rrh8pec8gt2qgfgu9w85w5p62765turym8rkrsgxrkfz

#100aDayUntil100k

#100aDayTil100k

#100pushups

25 diamond x 4

Day 47 ✔️

Multiple lists 🎯

I’d like to view notes from a list of experts on XYZ, but I want my WoT to curate the list of experts bc how the heck am I supposed to know who the experts are in XYZ

Enable me, the user, to follow more people.

A working proof of concept is the implementation of NIP-51 kinds 3000x "sets of lists".

What if NIP-02 was "Lists" and "follow lists" were a specific kind. A kind 30001.

Shift all of the NIP-51 kind 3000x's by +1

30000 becomes "global follow list".

By default, through the interactions via web interface, users should not be simply "following" other users. They should be "following" AND adding them to a specific user-curated list. This allows for "friend groups" and "communities" and "coworkers" and all sorts of unique lists at the user's discretion. "Web of Trust Believers" or "Nostr Developers".

You also don't have to completely rid the Twitterlikes of "Global feeds" either. They are great for a new user who only follows <100 users or so. It's just that it quickly becomes unmanageable. The feed becomes overwhelming. It creates the feeling of FOMO, or if notifications are enabled, spam.

This allows for a layered approach toward user associations. We determine who fits in what feed. That is practical and simple. It doesn't need to do more. It also maintains a global list of associations, which will be relevant for Web of Trust.

This is something that every social media has failed to deliver since Google+ Circles, which was a service no one ever asked for, and most of us were blackmailed with our free cloud services and ushered into. But it did at least one thing right. It allowed users to separate their feeds based on associations between the users they follow.

For a centralized service, the lesson was, THIS WAS BAD FOR CREATING DEMAND, or for demanding attention. It's like shrinking every user's supply line into modular communities that can be quickly reviewed. For a service that was roping its users in against their will and exposing them in many ways, it doesn't generate the doomscrolling infinity that Reddit or TikTok can provide. It doesn't generate as much ad revenue.

But that doesn't mean it wasn't a great idea. It was even a great implementation of that idea, for the time. But it wasn't good enough.

We don't need to poach users from Facebook (like G+) because here we empower each other to grow. If someone replaced Nostr tomorrow, we would all reach down and help the others migrate and build further. We are a community. One planet of people. We benefit from USER growth. Not just user statistics.

Nostr can do so much better.

You make some very interesting points. G+ failed to addict us with its doomscrolling, so bad at generating ad revenue, but that doesn’t mean what they were doing was without merit.

Question: were G+ lists transitive in any way? I believe that WoT needs to be transitive — not always, but probably transitive by default with the ability to turn transitivity off for WoT to get off the ground.

If I trust 3 people to curate content on wikifreedia, and those 3 people each trust (let’s say on average) 3 more ad infinitum, then by the principle of “6 degrees of separation,” onboarding a new user who benefits from a WoT that spans the entire world is simple, quick, and easy for the user.

If someone 2 hops away from me trusts Alice to curate wikifreedia articles on electronics, and Alice trusts Bob to curate wikifreedia articles on smartphones (a child category under electronics), and so on to progressively more fine-grained categories, then before you know it my wikifreedia extended WoT not only spans the entire world; it will have also selected a small handful of experts for every niche topic in existence, and all I had to do was trust one user to inherit that user’s entire trust network.

For a site like yours franzap, a store with products, the hierarchies of context would include things like: Alice trusts Bob to provide reviews of zap.store products in the category of electronics, with smartphones being a subcategory of electronics. As the app developer, at first you would create the hierarchy of categories yourself. Eventually, the hierarchy of categories would be curated by the Grapevine. The tapestry protocol shows how to do all of that, in detail. I’ve already used it to curate lists, and curating a graph is going to be conceptually not much harder than a list.

But we need to take baby steps, which is why at first, you as the dev should manage the hierarchy of categories yourself. There are other ways to break it down into baby steps from a dev perspective. I’d love to brainstorm with you and hammer out details on how you could do that with zap.store if you’d like. 😃

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.

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.

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.

Same as above except Alice does NOT trust Bob to curate her nostr content in any category.

A Grapevine trust attestation always includes a context. Context has an action and a category.

“Alice follows Bob on nostr”

means roughly the same as the following Grapevine attestation:

“Alice trusts Bob to curate nostr content in all categories.”

Context: to curate nostr content (the action) in all categories (category)

A follow does NOT imply trust to recommend a product, trust to provide investment advice, trust to report the truth, trust to babysit the kids, etc.

Explicit trust attestations won’t work unless they’re context-based.

Context based trust attestations won’t work unless we solve the UX problem which stems from the fact that the number of contexts has no limit.

The UX problem won’t be solved unless trust in any given context applies automatically to all subcategories.

For trust in one category to apply automatically to all subcategories, we must represent context as a hierarchy, with parent-child relationships.

The hierarchy of context MUST ultimately be curated by the WoT, not by devs.

Lots of complex issues raised in that discussion. I think your instincts franzap are on the right track, assuming I followed the discussion correctly.

I firmly believe that WoT won’t work unless it’s based on explicit trust attestations. Trust proxies like follows, zaps, likes, replies, and the like are a crutch which have limited utility and MUST BE ABANDONED. We will not make progress until we accept this thing that we all know deep down in our hearts to be true.

No working examples that have been built, although the issue of fine grained vs coarse grained attestations is one that I think about a lot. As you point out, no one wants to create a new attestation for every fine grained category. The answer, I think, is to arrange categories in a hierarchy. If movies is the parent category and dramas, comedies and westerns are the child categories, then I can attest that you have good taste in movies, so no need to create separate attestations for each of the fine grained child categories. The hierarchy of categories will itself be curated by your web of trust. This blog post says all that with a little more detail:

https://prettygoodproject.substack.com/p/influence-and-context-in-the-grapevine