Avatar
david
e5272de914bd301755c439b88e6959a43c9d2664831f093c51e9c799a16a102f
neurologist and freedom tech maxi Co-founder @ NosFabrica 🍇 Grapevine, đŸ§ âšĄïžBrainstorm

TY to the artist, nostr:npub1luvpvkhauqy994y6fcf3djvpc7hszexpsyxqhs87g8fkrhtu5lcqylnmt5 !!

nostr:note1sdaaskr0agsexnrradwudw5n9xp86y7a9ephmf8ywr234854mfcsawe7zt

Replying to Avatar Avi Burra

What does a bitcoiner's life abroad look like?

In the Prague episode of Finding Home, I sit down with nostr:nprofile1qqsywfmwk93lc49nwvunp26ul406j3585x2nsudgwwk5lthfr6997wqde5yzw , who works with the P2P marketplace Vexl, to explore his journey from Mississippi to the heart of Europe.

It's a story of food, freedom, and building a sovereign life. The trailer is here. The full film premieres in one week on nostr:nprofile1qy2hwumn8ghj7etyv4hzumn0wd68ytnvv9hxgqgdwaehxw309ahx7uewd3hkcqpqah55ex8qs07t8nvwsuk7gv8s92lh6a9w2hf259wjdrh3873ll9wqkzgf22

Featuring small cameos from nostr:nprofile1qyv8wumn8ghj7enfd36x2u3wdehhxarj9emkjmn99uq3zamnwvaz7tmwdaehgu3wwa5kuef0qqsvfa085adgecmg84ffelcxx6zrn3ffu5jrc6cjtwng0zge3ptv43ckq3nc4 nostr:nprofile1qyvhwue69uhkyat8d4skutndva6hjtnwv46r5dpcxsuqz9nhwden5te0vfjhgcfwdehhxarjd9kzucmpd5qzqxvfqd89dw8kqmrjfaz6zt8gfggcg93p4tm3s2slv4jrszuugfmt74rjkj nostr:nprofile1qy0hwumn8ghj7en0deehgu3dw3jhxapwdah8yetwv3jhytnrdakj7qgcwaehxw309a5hxmrpdejzumn0wd68yvfwvdhk6tcqyzaz7w2gxdjcga0fz6qt3x8ehc83mpgpvmr2swwmuzzdqfn26m3q54mhg79

This episode wouldn't have been possible without the stellar efforts of nostr:nprofile1qqsw2llvpjqzat4v6leqgfmamv0cd64f9e3v4hgdy6tssn95uv2nh7q5jmgee nostr:nprofile1qy28wumn8ghj7mn0wd68ytn00p68ytnyv4mqzxrhwden5te0wpex2mtfw4kjuurjd9kkzmpwdejhgqpqdqu222da7v7j260rwzxlvde4wtc3kdupznfztfx5v75mm99tau4quje37w and nostr:nprofile1qye8wumn8ghj7mrwvf5hguewwpshqetjwdshguewd9hj7mn0wd68ycmvd9jkuap0v9cxjtmkxyhhyetvv9usz9rhwden5te0dehhxarj9ehx2cn4w5hxccgqyqj8hd6eed2x5w8pqgx82yyrrpfx99uuympcxmkxgz9k2hklg8te7pq0y72

https://blossom.primal.net/5d21156b3763449262572a8cdb97c3d883e339d51ab55f696136dabf1446af73.mov

Looks like a very interesting series. Looking forward to watching it!

You are certainly welcome to run your own brainstorm instance! The repo is here [1], and also linked from the brainstorm instance in my bio. If you decide to run one, let me know - I’ve made some recent changes that are not all in the docs yet. Or if you just want to see how it works, sign up at my brainstorm and I’ll calculate your Grapevine. Currently, you can use personalized metrics at Relay Tools. I’m making metrics available throughout nostr using nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z's Trusted Assertions NIP. Currently TAs are only adopted experimentally (cc nostr:npub19ma2w9dmk3kat0nt0k5dwuqzvmg3va9ezwup0zkakhpwv0vcwvcsg8axkl ), but TA integration is not terribly complicated — all a client has to do to access Alice’s metrics from the perspective of Bob’s WoT is to pull up the corresponding 30382 note — so my focus now is getting TA integration into a handful of clients.

[1] https://github.com/Pretty-Good-Freedom-Tech/brainstorm

Your Grapevine has been recalculated at the restrictive settings! Whitelist is now ~ 30k pubkeys instead of ~ 104k. And it’s ready to be accessed by Relay Tools!

I am glad you’re skeptical! Which is why brainstorm is open source. You can run your own Brainstorm instance and calculate your own Grapevine (your personalized trust metrics) yourself! I’d love for everyone to do that. But realistically, that won’t happen - well, maybe it will eventually, when it gets slick and easy. But for now it still takes some effort, like running a nostr relay, and not everyone will want to make the effort. Which is why your Brainstorm instance can calculate personalized scores not only for you, but also for your friends, family, community, and/or customers.

The initial goal is not to be a popularity contest, but to screen out the really obvious spam, bots, etc from everyone else. After that, the goal is for your community to help you discover the content that you’re interested in. Want your grapevine to tell you who are the experts or have special interest in some specific topic? That’s a personalized (your community, not someone else’s) trust metric.

I agree 💯:

✅ open source

✅ portable

✅ users have full control over transparent algos

These are how Brainstorm & Grapevine are designed. A Brainstorm instance is designed to be like a relay in the sense that it’s open source and anyone can run one. But realizing that most users won’t do that, you can run a Brainstorm instance and calculate personalized scores not only for yourself, but also for other users, either for free (friends, family, community) or for a fee.

Would users pay for a service that calculates personalized trust metrics and makes them available throughout the nostrverse?

My focus right now is to get a few clients to integrate nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z‘s NIP-85 and find out if there are any unexpected problems. If that works well, I’ll put more resources into firming up Brainstorm with its existing tech stack and product roadmap.

I don’t currently break it down that way on the front end but on the back end, the timestamp of each report is included in the neo4j graph database (each report is represented by a relationship between two NostrUser nodes) so it would be easy to write a neo4j cypher query that filters by timestamp.

Hmm, perhaps I should open up a subscription service to enable generic read-only neo4j cypher queries đŸ€”

Do you mean whether old reports count the same as recent reports? Right now they do. But there are lots of parameters that can be personalized, and it would be relatively straightforward to add one or more parameters that take time into account in some way.

Decentralized curation of a list of impersonators

https://straycat.brainstorm.social/nip56.html

GM nostr! ☕ ⛅

Replying to Avatar david

Oh wow, this is awesome! Much more performant than my profile keyword search. But the stratification method that I use, which I call personalized GrapeRank, does an excellent job of eliminating bad actors and stratifying results. Much better than a purely follows-based PageRank. I don’t yet incorporate mentions from comments, but that is on my roadmap.

Would you be interested in using nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z ‘s NIP-85 to incorporate third-party-generated personalized trust metrics into you search engine? I follow that NIP in publishing personalized GrapeRank scores using the “rank” field in 30382 notes. The idea of the NIP is that your users can use whichever service provider they want. If you were to integrate NIP-85 into nostrwiki.org, that would be đŸ”„ đŸ”„ đŸ”„!!

note1kxmz4yx57276lu8uuvj8xhkj3vrw9hqv577vsfsnnrs294f6334qaedr4u

Eu uso uma espécie de Page rank aqui:

https://nostrwiki.org

O indexador pega os seguidores de um usuĂĄrio e trata como referĂȘncias a ele, entĂŁo nessa lista de usuĂĄrios faz o mesmo. Uso isso e tambĂ©m o indexador de notas, que pega as referĂȘncias a usuĂĄrios em notas. Assim como o Google usa sites que referenciam outros sites, eu pego usuĂĄrios e posts que fazem referĂȘncia a usuĂĄrios e notas. Mas no momento como tem poucos usuĂĄrios e notas sĂł esse peso nĂŁo trĂĄs resultados relevantes, entĂŁo por enquando esse peso se soma ao peso do full text search.

Oh wow, this is awesome! Much more performant than my profile keyword search. But the stratification method that I use, which I call personalized GrapeRank, does an excellent job of eliminating bad actors and stratifying results. Much better than a purely follows-based PageRank. I don’t yet incorporate mentions from comments, but that is on my roadmap.

Would you be interested in using nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z ‘s NIP-85 to incorporate third-party-generated personalized trust metrics into you search engine? I follow that NIP in publishing personalized GrapeRank scores using the “rank” field in 30382 notes. The idea of the NIP is that your users can use whichever service provider they want. If you were to integrate NIP-85 into nostrwiki.org, that would be đŸ”„ đŸ”„ đŸ”„!!

Top 10 scoring profiles by Personalized PageRank, as seen from three different perspectives.

https://straycat.brainstorm.social/profiles.html

Doing very well! 🧠 âšĄïž 🍇

I know of two nostr profile keyword search services that use some kind of WoT score to stratify results:

nostr:npub1th6r23tltjuy6r498z90hlg092yx0ddk5a700xdkytdqjgfhmrysceymrz which calculates a trust score, although I’m not sure how.

nostr:npub176p7sup477k5738qhxx0hk2n0cty2k5je5uvalzvkvwmw4tltmeqw7vgup ‘s npub.world which uses personalized pagerank

What other similar services are there?

#asknostr

Would be interesting to set up a routine to request large volume FOIA and see where we get redactions or other forms of pushback. Like all congressional email correspondences. Put out a monthly report called “I don’t know what they’re hiding, but here’s where they’re hiding it”. Or even better, have AI do the analysis and update the report in real time.

nostr:npub1v6z4srj4ktch4f3ee9ze2zp7ml4n9rshttmntpamfed0nvpev5fszzuq49

nostr:npub1clk6vc9xhjp8q5cws262wuf2eh4zuvwupft03hy4ttqqnm7e0jrq3upup9

Just tried GPT-5 on windsurf. Impressive.

Think I just managed to do it using #nostrudel - the Swiss Army knife of nostr!!

Yes to open source - check out the link in my bio (straycat.brainstorm.social) to see an older version of Brainstorm and a link to the github repo. A lot of features are live, including a table with PageRank and GrapeRank scores for about 350k pubkeys and lists of reported users that are curated by your Grapevine. Imagine using tags instead of reports, and we’re getting close to genuinely decentralized curation of any arbitrary list. The main issue I’m working on right now is how to keep the neo4j graph database current without running into memory issues and crashing of the graph db. (Gotta hate java!! đŸ€ŠđŸ»â€â™‚ïž 😝) So I don’t recommend spinning up your own Brainstorm yet. But hopefully soon!!!

We don’t have to choose between follows vs user interactions vs something else. Our trust graphs are ultimately going to incorporate all sources of data available to us: follows, mutes, reports, reactions, replies, zaps, etc.

The key to making this work is a step that I like to call interpretation: find some raw data sources (like replies and other user interactions), execute a script that translates the raw data into a standardized format that is ready to be digested by your trust score calculation engine. This is how GrapeRank works.

My goal is to create personalized WoT relays that use GrapeRank to calculate contextual trust scores, with interpretations tailored to fit your personal preferences and beliefs.

We have all grown accustomed to the idea of global reputation scores. But I think we will see — are already seeing in nostr — a change in focus and mindset from global to personalized WoT scores. Your npub doesn’t have a personalized WoT score until you specify the observer npub. You have to ask: what is your npub’s score, as calculated from some other npub’s perspective.

Ultimately, the access to sophisticated, contextual, provable, personalized WoT scores is going to unlock value in ways that we’ve never experienced or perhaps even imagined.

Right now I’m working on a personalized WoT relay that will use these methods to determine your WoT, which means you won’t need a service to do it for you.

My progress so far:

✅ strfry and neo4j on single server

✅ bash script to load events from strfry to neo4j

✅ strfry plugin whitelist and blacklist

✅ personalized PageRank and GrapeRank calculations, both with the assistance of neo4j

✅ bash script to query neo4j and export json files of pubkeys which can be read by strfry plugin and used as whitelists and blacklists

Current hurdles:

- automate the transfer of data from strfry to neo4j to handle streaming data

Once I put together all the above puzzle pieces, my plan will be to write a document so anyone can set up their own personalized WoT relay.

And if all goes well, maybe the above features will make their way into nostr:npub1fvmadl0mch39c3hlr9jaewh7uwyul2mlf2hsmkafhgcs3dra6dzqg6szfu ! 😃

You can go to grapevine-brainstorm.vercel.app and calculate your personalized scores, which means all scores are from your perspective. If you want to see your score from a different pubkey’s perspective, in theory that could be done but my site doesn’t currently do that.

Great overview and intro to strfry by its creator nostr:npub1yxprsscnjw2e6myxz73mmzvnqw5kvzd5ffjya9ecjypc5l0gvgksh8qud4 đŸ”„

Includes a nice overview of #negentropy. Which seems pretty awesome although I hear not many people are using it. Why would that be? I’m considering it as a tool to sync :NostrEvent nodes in my neo4j graph database with one or more relays.

https://www.youtube.com/watch?v=G0FmzKp1CRk

Replying to Avatar ManiMe

Sovereign Webs of Trust


Curious?

*Read this article for my short take.*

https://yakihonne.com/article/naddr1qqgx2e3cxqenqef3x56kvd3nxymxzq3qmanlnflyzyjhgh970t8mmngrdytcp3jrmaa66u846ggg7t20cgqqxpqqqp65w7jk7e3

*Comment bellow to offer your own.*

1. What does Sovereign WoT mean to you?

2. Does it require “is trusted” (for a followed account) to be explicitly set by the user, or could “is trusted” be ONLY calculated by algos and still count as sovereign?

3. If explicit is required, can “is trusted” simply be a “follows” (kind3) list, or does it actually need a dedicated ( private event kind) “trusted” list?

4. Would (your) Sovereign WoT require that content filters follow users across clients, and be sharable by them?

5. Should these filters (for end users) be publishable ONLY by clients or ONLY by relays or ONLY by DVMs or ANY and ALL of these?

1. Sovereign WoT enables you and your community to identify who is the most trustworthy, and in what context, to curate content, facts, and information.

2. Proxy indicators of trust have their uses but they are a crutch that we must wean ourselves off of. Explicit trust attestations are essential.

3. Explicit trust must be contextual. A nostr follows list can be loosely translated / interpreted as “Alice trusts Bob to curate (or maybe merely to create) nostr content for her nostr feed.” Context should have an action and a category. Examples: “Alice trusts Bob to recommend movies (the action) in the category of sci-fi (the category)” or “Alice trusts Bob to edit her Wikifreedia articles (the action) in the category of economics (the category).” Or “Alice trusts Bob to edit ontologies (the action) in all WoT-related categories (the categories)”

4. Sovereign WoT must be portable. Not limited by nostr clients. Not even limited by nostr.

5. ANY and ALL of these and more. Sovereign WoT must be portable beyond nostr.