Avatar
david
e5272de914bd301755c439b88e6959a43c9d2664831f093c51e9c799a16a102f
neurologist and freedom tech maxi Co-founder @ NosFabrica šŸ‡ Grapevine, šŸ§ āš”ļøBrainstorm

#100aDayUntil100k

#100aDayTil100k

#100pushups

30 + 30 + 40

Day 43 āœ”ļø

Replying to Avatar HoloKat

Monetization through advertising will become a thing of the past.

Social media ā€œinfluencersā€ will become a thing of the past.

I’ll pay you a few sats (or more) for your review of a product or business bc my Grapevine tells me your opinion is worth a few sats (or more).

YOU will monetize your own content. Or give it away. Your choice.

Replying to Avatar david

Hey nostr:npub1u0zqcc79amqyvcgxv3dcfvdsfmcxdwtg93eay65pxqjkgypgs3xqawpecp — I’ve considered ZKPs and I believe they will definitely have a roll to play in the tapestry protocol. The question would be how exactly, and at what point to start using them.

Here’s one way I’d envision using them: Alice has an encrypted json file with her personal information, like name and birthday, transcribed from her Texas ID. Bob attests that he has seen the unencrypted contents of this particular file and that the information contained therein matches her ID and is correct to the best of his knowledge. Alice wants to prove to Charlie that she is over 21 but does not want to reveal her birthdate, so she uses a ZKP to input the file and today’s date and output that she is or is not over 21. Charlie trusts the results because his Grapevine tells him that Bob is trustworthy to evaluate personal ID files (the action) issued by the state of Texas (the category).

There’s another, slightly less complicated method that the Grapevine uses to protect a data source. Suppose Alice wants the world to know that Cheech and Chong’s Chews are awesome, but she doesn’t want to reveal that she has used them herself, for fear of persecution. She can either attest that they are awesome with x % certainty, OR she can attest that HER GRAPEVINE TELLS HER they’re awesome with x % certainty, or she can say they’re awesome with x % certainty but just don’t mention whether she knows that from personal experience or is passing along second hand knowledge. The data format is the same either way. Plausible deniability is baked into the Grapevine protocol.

#100aDayUntil100k

#100aDayTil100k

25 + 50 + 25

Day 42 āœ…

Replying to Avatar cactus

Hey nostr:npub1u5njm6g5h5cpw4wy8xugu62e5s7f6fnysv0sj0z3a8rengt2zqhsxrldq3, I came across nostr:npub120dtguu42s45m7wf6kejjdzq8d637z5g9e5mhrwc5esd7w547qks8sf6jp and think it's a cool project. Have you ever considered Zero Knowledge Proofs at all to hide the trust relationships between people, maintaining privacy?

I'm a total beginner in ZK tech so don't know how feasible this would be, but I have found some others thinking about it elsewhere online:

https://www.reddit.com/r/cryptography/comments/un3m2p/is_it_possible_to_implement_anonymous_webs_of/

https://github.com/freenet/freenet-core/discussions/133

https://www.freehaven.net/anonbib/papers/pets2010/p8-backes.pdf

Hey nostr:npub1u0zqcc79amqyvcgxv3dcfvdsfmcxdwtg93eay65pxqjkgypgs3xqawpecp — I’ve considered ZKPs and I believe they will definitely have a roll to play in the tapestry protocol. The question would be how exactly, and at what point to start using them.

Here’s one way I’d envision using them: Alice has an encrypted json file with her personal information, like name and birthday, transcribed from her Texas ID. Bob attests that he has seen the unencrypted contents of this particular file and that the information contained therein matches her ID and is correct to the best of his knowledge. Alice wants to prove to Charlie that she is over 21 but does not want to reveal her birthdate, so she uses a ZKP to input the file and today’s date and output that she is or is not over 21. Charlie trusts the results because his Grapevine tells him that Bob is trustworthy to evaluate personal ID files (the action) issued by the state of Texas (the category).

Replying to Avatar david

Right now I’m thinking that I need to write up a roadmap for how you as a developer can incorporate the Grapevine into your app or platform, and it needs to be broken down into steps:

Step one will be to use the follows list to create a WoT score, something that is already done by wikifreedia and a few other apps.

Step two will be to allow users to create trust attestations formatted according to the Grapevine protocol and in a context that is relevant to the app in question. Context has an action dimension and a category dimension. For example: ā€œAlice endorses Bob to curate wikifreedia content (the action) for all topics (the category).ā€ At this step, only one context will be utilized for the app. This is an extra action and will cause some friction as you mention, but users can ignore it if they don’t want to use it, or wait until they have a good reason to play with it, which might not be until we build out a few more steps.

Step 3 will be to pool together all available attestations data with the follows data for calculation of the WoT score.

Step 4 will be to replace the WoT score with the Influence Score, calculated according to the Grapevine protocol, basically the same way it’s already done using my proof of concept. That will be a lot of work for the developer but the user experience doesn’t have to take a hit because it’s all under the hood.

Step 5 will be to phase out follows data and use only attestations from step 2. There could be a user setting whether to use one or both sources of data, or perhaps it can be managed automatically depending on how much attestation data is available.

Step 6 will be to expand the available contexts by creating new categories. For example: ā€œAlice endorses Bob to curate wikifreedia content in the category of technology (versus sports or entertainment or whatever).ā€ The categories will be defined by the dev team at this point, but contributed by users and curated by the Grapevine in future steps, which will include arranging them into hierarchies.

I could go on. But I’m wondering whether steps 1-4 might work as the foundation of a hackathon.

I should add another step: your Grapevine will make a list of known users, calculate the Influence Score for all users for all contexts, store the data in a .csv or some suitable format which will be part of the Grapevine protocol, and stored as a nostr note. It can be encrypted if desired. The purpose will be to improve performance, since calculating influence scores from scratch will be slow, once the number of users gets large enough.

Right now I’m thinking that I need to write up a roadmap for how you as a developer can incorporate the Grapevine into your app or platform, and it needs to be broken down into steps:

Step one will be to use the follows list to create a WoT score, something that is already done by wikifreedia and a few other apps.

Step two will be to allow users to create trust attestations formatted according to the Grapevine protocol and in a context that is relevant to the app in question. Context has an action dimension and a category dimension. For example: ā€œAlice endorses Bob to curate wikifreedia content (the action) for all topics (the category).ā€ At this step, only one context will be utilized for the app. This is an extra action and will cause some friction as you mention, but users can ignore it if they don’t want to use it, or wait until they have a good reason to play with it, which might not be until we build out a few more steps.

Step 3 will be to pool together all available attestations data with the follows data for calculation of the WoT score.

Step 4 will be to replace the WoT score with the Influence Score, calculated according to the Grapevine protocol, basically the same way it’s already done using my proof of concept. That will be a lot of work for the developer but the user experience doesn’t have to take a hit because it’s all under the hood.

Step 5 will be to phase out follows data and use only attestations from step 2. There could be a user setting whether to use one or both sources of data, or perhaps it can be managed automatically depending on how much attestation data is available.

Step 6 will be to expand the available contexts by creating new categories. For example: ā€œAlice endorses Bob to curate wikifreedia content in the category of technology (versus sports or entertainment or whatever).ā€ The categories will be defined by the dev team at this point, but contributed by users and curated by the Grapevine in future steps, which will include arranging them into hierarchies.

I could go on. But I’m wondering whether steps 1-4 might work as the foundation of a hackathon.

Correct, community refers to your social graph. The Grapevine allows you to attest your ā€œtrustā€ in some user in some context. Every context is an action and a category. Alice endorses Bob for all actions and all categories; or Charlie to curate content (the action) for wikifreedia (the category). Maybe all wikifreedia articles; or maybe only articles in the topic of bitcoin. Or maybe I endorse you to review code (action) in the categories of BDK and LDK (the categories). Your Grapevine will calculate an influence score for every user, in every category, and will include a measure of certainty: Your Grapevine says that Bob is highly talented in some category, but only 1% certainty bc it’s based on a small number of attestations from users who are all multiple degrees of separation away from you.

This is one of the problems that decentralized web of trust will be very good at addressing. Imagine a dating app that employs the Grapevine so that you and your extended community can vet which users are actual people, of the stated age and gender, in the stated location, with pics that are representative.

#100aDayUntil100k

#100aDayTil100k

20 diamond + 30 + 25 + 25

Day 41 āœ”ļø

That’s an awesome idea! šŸ”„ But a half marathon may be a bit much so yeah I’m gonna plan for 3.125 šŸƒšŸ» 😃

#100aDayUntil100k

#100aDayTil100k

40 + 30 + 30

Day 40 āœ…

#100aDayUntil100k

#100aDayTil100k

25 x 4

Day 39 āœ”ļø

Reload doesn’t fix it. I’m doing it on Brave - maybe I need to try diff browser? For some reason wikifreedia is not letting me sign in on chrome even though I’m logged into alby