1
00:00:00,000 --> 00:00:08,080
Welcome to Pleb Chain Radio, a live show brought to you by Plebs for Plebs, which focuses

2
00:00:08,080 --> 00:00:10,940
on the intersection of NOSTER and Bitcoin protocols.

3
00:00:11,700 --> 00:00:16,680
Join QW and Avi as they run down the weekly news and developments, breaking down the current

4
00:00:16,680 --> 00:00:21,600
thing and the future frontier with the foundation of decentralization, the builders, thinkers,

5
00:00:21,840 --> 00:00:22,760
doers, and plebs.

6
00:00:23,640 --> 00:00:25,780
All right, we are live.

7
00:00:25,780 --> 00:00:41,260
Welcome, gentle pioneers, to the Lightning Laced Airwaves. Today is Friday, the 17th of October, and it is 12.55pm on the East Coast of the United States.

8
00:00:41,460 --> 00:00:50,820
At the time of recording, this is episode 133 of Plep Chain Radio, and we have a great show ahead of you.

9
00:00:51,540 --> 00:00:55,580
David Strayhorn, creator of Brainstorm and Grapevine,

10
00:00:56,520 --> 00:01:01,500
joins us to talk about Web of Trust and much, much more.

11
00:01:02,280 --> 00:01:05,860
A reminder, folks, if you are listening to the show on Apple or Spotify,

12
00:01:06,560 --> 00:01:07,780
first of all, thank you for listening.

13
00:01:08,260 --> 00:01:13,380
But I would urge you to hit pause and switch over to the Fountain podcasting app

14
00:01:13,380 --> 00:01:18,720
where you can earn some sats and support the value-for-value revolution while you listen.

15
00:01:18,720 --> 00:01:24,480
And while you're there, we would appreciate it if you hit that subscribe button.

16
00:01:25,380 --> 00:01:30,280
Your support helps keep our mics warm and this podcast ad-free.

17
00:01:31,080 --> 00:01:34,760
The show is streamed live on Zap.Stream.

18
00:01:35,120 --> 00:01:39,660
Yes, indeed, Zap.Stream is back, and I checked, we are streaming live.

19
00:01:39,660 --> 00:01:49,160
and also on any other Nostra client that supports streaming such as Amethyst, Nostra, Fountain and Primal.

20
00:01:50,000 --> 00:01:57,320
And folks, the second episode of my travel show, Finding Home, in Prague this time,

21
00:01:57,320 --> 00:02:01,700
is now available on IndieHub for streaming.

22
00:02:01,700 --> 00:02:17,960
And you can use code PioneerChain21, P-I-O-N-E-E-R-C-H-A-I-N 21 for, you guessed it, 21% off the price.

23
00:02:18,620 --> 00:02:24,960
And for Culture Corner today, we have Nostra Valley coming up tomorrow.

24
00:02:25,200 --> 00:02:29,320
In fact, I believe the festivities begin later this evening.

25
00:02:29,320 --> 00:02:39,520
Noster Valley in State College, Pennsylvania, organized by friend of the show, friends of the show, I should say, Derek Ross and Seth.

26
00:02:40,140 --> 00:02:50,800
There is also Nosterville 3.0, and that's happening next Saturday, the 25th of October in Nashville at Bitcoin Park.

27
00:02:51,300 --> 00:02:57,960
And indeed, friend of the show, Open Mic, is the man behind the curtain for that one.

28
00:02:57,960 --> 00:03:20,760
And another exciting event has dropped on the calendar, folks. It's BitFest. This is three days of incredible NOSTA and Bitcoin content and indeed Bitcoin and NOSTA art that is taking place in Manchester, England between the 21st and the 23rd of November.

29
00:03:20,760 --> 00:03:39,540
The first day will be Nost-a-only, an event called Nost-a-sher, followed by the BitFest, which includes BitFlix, working with the Bitcoin Film Festival, a screening of fantastic Bitcoin films.

30
00:03:39,540 --> 00:03:50,020
and please use code PLEBCHAINRADIO, P-L-E-B-C-H-A-I-N-R-A-D-I-O,

31
00:03:50,180 --> 00:03:56,200
one word for 10% off tickets for the entirety of BitFest.

32
00:03:56,600 --> 00:04:02,620
And for our sermon today, I want to talk about a word we use every day,

33
00:04:02,620 --> 00:04:06,120
but rarely think about, trust.

34
00:04:06,120 --> 00:04:12,380
Trust is one of those foundational bedrock problems for cypherpunks.

35
00:04:13,340 --> 00:04:23,200
How do you create trust in a network of pseudonymous strangers without a king, without a central authority to tell you who's legit?

36
00:04:23,980 --> 00:04:30,300
In the fiat world, the old world, this is actually solved in its own way.

37
00:04:30,840 --> 00:04:32,620
The solution is to create gatekeepers.

38
00:04:32,620 --> 00:04:42,560
It creates giant centralized entities whose entire business model is to sell you a stamp of approval.

39
00:04:43,320 --> 00:04:51,960
You trust that the app you're downloading won't steal your photos because the benevolent overlords at Apple gave it their stamp.

40
00:04:51,960 --> 00:04:57,700
You trust your doctor isn't just some guy who watched a lot of YouTube tutorials

41
00:04:57,700 --> 00:05:03,260
because a big, intimidating credentialing board gave his diploma a stamp.

42
00:05:03,920 --> 00:05:08,240
The thing is, that stamp comes with a price.

43
00:05:09,120 --> 00:05:14,620
The gatekeeper who grants trust can also revoke it, take it away on a whim.

44
00:05:15,260 --> 00:05:18,840
They can resort to censorship if they don't like what you're building.

45
00:05:18,840 --> 00:05:28,640
They demand you hand over your personal information, heavy-handed KYC, just for the privilege of being considered trustworthy.

46
00:05:29,680 --> 00:05:36,980
The fiat system doesn't create trust, it monopolizes it and rents it back to you.

47
00:05:38,220 --> 00:05:41,320
But what if trust didn't have to be a top-down decree?

48
00:05:42,000 --> 00:05:47,560
What if it could be an emergent property, something woven from the bottom up?

49
00:05:47,560 --> 00:05:56,040
What if your trust in someone wasn't based on a corporate logo, but on the verifiable web of connections you already have?

50
00:05:56,880 --> 00:05:59,720
That's real user empowerment.

51
00:06:00,300 --> 00:06:08,920
A world where your client, your feed, and your reality are shaped by your network, not by a central gatekeeper.

52
00:06:09,760 --> 00:06:13,160
This isn't just a philosophical daydream.

53
00:06:13,920 --> 00:06:19,340
This is one of the most active and important frontiers being built on NOSTA today.

54
00:06:19,920 --> 00:06:26,280
And my guest is one of the key architects laying the bricks for this new foundation of trust.

55
00:06:26,900 --> 00:06:33,980
We have David Strayhorn, a builder, a thinker, and now a co-founder of NOS Fabrica.

56
00:06:34,160 --> 00:06:36,460
And we'll talk about that in a little bit.

57
00:06:36,820 --> 00:06:41,700
And we're going to talk about how we, the users, can finally build this thing together.

58
00:06:42,340 --> 00:06:44,440
So David, welcome to PlapChain Radio.

59
00:06:45,380 --> 00:06:48,320
Avi, thank you very much for having me.

60
00:06:48,480 --> 00:06:50,900
It's a pleasure and an honor to be on your show.

61
00:06:50,900 --> 00:07:00,880
And I love that introduction that you gave, the sermon that you gave about trust, because that is a good statement of the problem, of the question.

62
00:07:01,400 --> 00:07:09,520
And it's the, I would say, that could be the problem I've been obsessed with for many years now.

63
00:07:11,700 --> 00:07:19,480
So, David, for our listeners who are unfamiliar with you and your background, walk us through that journey.

64
00:07:19,640 --> 00:07:22,700
I mean, I believe you are a doctor, a medical doctor.

65
00:07:22,960 --> 00:07:30,700
So how does a medical doctor move into this complicated foundational cipher problem of trust?

66
00:07:31,800 --> 00:07:34,280
Well, so, yeah, that's correct.

67
00:07:34,380 --> 00:07:36,320
I am a neurologist.

68
00:07:37,420 --> 00:07:39,480
My subspecialty is in epilepsy.

69
00:07:39,480 --> 00:07:45,540
I see patients in the clinic and I enjoy doing that very much.

70
00:07:46,120 --> 00:07:51,060
I, you know, if your question is, how did I get to being obsessed with the problem of

71
00:07:51,060 --> 00:07:51,480
trust?

72
00:07:51,740 --> 00:07:58,620
I suppose I could trace that back to when I was still in residency in neurology when

73
00:07:58,620 --> 00:08:07,840
the housing market crash happened, which renewed my interest in alternatives to the fiat system

74
00:08:07,840 --> 00:08:08,240
of money.

75
00:08:08,960 --> 00:08:15,320
Something I'd always been interested in and didn't have a whole lot of time to think about it back then because I was so busy in training.

76
00:08:15,320 --> 00:08:21,100
But it got me thinking about what we could do to replace the fiat system.

77
00:08:21,440 --> 00:08:32,040
And I eventually came upon what I would consider the Ron Paul kind of perspective, which is that we need a marketplace.

78
00:08:33,540 --> 00:08:36,600
We need a system where anybody could issue currencies.

79
00:08:36,600 --> 00:08:38,800
what we would call now a token

80
00:08:38,800 --> 00:08:42,200
and the barrier to entry should be as low as possible

81
00:08:42,200 --> 00:08:44,940
and we would need two things

82
00:08:44,940 --> 00:08:48,380
first of all we'd need a marketplace or multiple marketplaces

83
00:08:48,380 --> 00:08:50,480
to trade one currency versus the other

84
00:08:50,480 --> 00:08:53,740
and then secondly we would need a web of trust

85
00:08:53,740 --> 00:08:57,920
is there some echo coming in there?

86
00:08:59,500 --> 00:09:00,640
No, go ahead David

87
00:09:00,640 --> 00:09:04,080
Okay, so second thing we'd need

88
00:09:04,080 --> 00:09:09,860
would be a web of trust because if anyone can issue a token and if,

89
00:09:09,960 --> 00:09:12,340
and if that's going to be a low barrier to entry,

90
00:09:12,340 --> 00:09:14,740
then you should be able to do this. So pseudonymously.

91
00:09:15,080 --> 00:09:19,340
And then we would need some way for our trust network to identify, okay,

92
00:09:19,340 --> 00:09:22,820
well, this token right here is actually worthwhile. You know,

93
00:09:22,880 --> 00:09:29,580
this person says that he's going to back it with gold or silver or whatever.

94
00:09:29,580 --> 00:09:33,760
and that person's trustworthy.

95
00:09:34,780 --> 00:09:38,540
And so at first I was focused a little more on how would the marketplace work.

96
00:09:39,560 --> 00:09:49,040
But I eventually realized that the web of trust part was the difficult part of that equation

97
00:09:49,040 --> 00:09:51,020
and the real challenge.

98
00:09:51,020 --> 00:09:57,580
And not only that, but web of trust has applications beyond just what tokens are trustworthy.

99
00:09:59,580 --> 00:10:04,120
But, you know, it has applications for so many different things.

100
00:10:04,380 --> 00:10:07,440
And so and that's also about when I discovered Bitcoin.

101
00:10:08,060 --> 00:10:14,960
And and and so now in my mind, freedom technology, I think of it as having two different pillars.

102
00:10:15,100 --> 00:10:17,900
One is Bitcoin and the other one is Nostra.

103
00:10:19,060 --> 00:10:27,600
Bitcoin is how is is is a decentralized method for value to flow in a permissionless fashion from person to person.

104
00:10:27,600 --> 00:10:47,400
And then Noster and what I believe we're going to build the web of trust system that we are going to build on top of Noster is how does trusted information flow from person to person in a completely decentralized manner with no single points of failure.

105
00:10:47,400 --> 00:10:57,820
and so um yeah i've just i've spent a lot of time thinking in a very abstract way on how to solve

106
00:10:57,820 --> 00:11:04,060
that problem which i think and i think that that those of us the four of us in os fabrica agree this

107
00:11:04,060 --> 00:11:10,220
is you know how to get webist trust to work is one of the most difficult problems in all of freedom

108
00:11:10,220 --> 00:11:16,180
technology um so i've thought about how to how do you frame the problem how do you solve the problem

109
00:11:16,180 --> 00:11:20,020
what are the big principles, but then also what are the nuts and bolts details

110
00:11:20,020 --> 00:11:22,720
of how can we make it happen?

111
00:11:25,140 --> 00:11:28,380
And we can probably go back and forth during this show,

112
00:11:28,660 --> 00:11:32,100
from the big picture to the nuts and bolts,

113
00:11:32,220 --> 00:11:33,980
what's the next step that we need to do?

114
00:11:36,800 --> 00:11:48,812
Yeah I think that we should definitely do that But maybe first David when did you get into Nostra and you realized that there was an opportunity here with Nostra

115
00:11:48,812 --> 00:11:51,432
to build out this trust framework?

116
00:11:52,152 --> 00:11:56,772
So I was building, before I discovered Nostra,

117
00:11:56,772 --> 00:11:59,712
I discovered it when a lot of other people did,

118
00:11:59,972 --> 00:12:01,932
when Jack Dorsey posts about it.

119
00:12:03,532 --> 00:12:07,312
Was that December of 22, I think, or 2023?

120
00:12:07,632 --> 00:12:07,992
I don't remember.

121
00:12:08,112 --> 00:12:11,492
So that's when I discovered it.

122
00:12:11,812 --> 00:12:22,412
And that's when I, prior to that, I was building, I was trying to build my conception of the grapevine and the concept graph.

123
00:12:22,512 --> 00:12:29,852
These are the modules that I see as building blocks for Web of Trust.

124
00:12:29,972 --> 00:12:33,712
I was building those using IPFS, interplanetary file system.

125
00:12:33,712 --> 00:12:42,132
and uh and then nostrum came along and and i realized that was much better because i mean for

126
00:12:42,132 --> 00:12:48,332
for one thing i didn't have to build a community from scratch that's you know a whole the the

127
00:12:48,332 --> 00:12:57,972
starting building block of web of trust is um is identity is a cryptographic identity that no one

128
00:12:57,972 --> 00:13:03,692
controls. And one of the great things about NOSTER is that it is not unnecessarily complicated.

129
00:13:03,692 --> 00:13:09,152
It's just bread and butter, public key, private key cryptography. And that is the starting point

130
00:13:09,152 --> 00:13:16,492
for Web of Trust. So that is, so 20, yeah, December 2022 is when I came to NOSTER.

131
00:13:18,432 --> 00:13:26,472
You know, this is one of the underrated aspects about NOSTER, which is the adoption flywheel or

132
00:13:26,472 --> 00:13:34,012
the network flywheel. I mean, yes, there may be, we're talking about 20 or 30,000 weekly active

133
00:13:34,012 --> 00:13:38,972
users, maybe 40,000, you know, the number goes up and down. But even that number, if you're building

134
00:13:38,972 --> 00:13:44,752
a solution, if you come in fresh and you start building a solution on Nostra, in theory, you

135
00:13:44,752 --> 00:13:50,712
inherit that network out of the gate, right? So there is, that flywheel is already turning.

136
00:13:50,712 --> 00:13:57,672
yeah that's absolutely true i mean so when i was building on ipfs i was thinking okay i have to

137
00:13:57,672 --> 00:14:01,332
build this tool and it's going to be really awesome and and then people are going to start

138
00:14:01,332 --> 00:14:06,912
using it but it definitely helps when you're not starting from zero you're starting from

139
00:14:06,912 --> 00:14:16,132
you know 20 tens of thousands of users like you say and and uh yeah so i i love nostr i think it's

140
00:14:16,132 --> 00:14:31,012
There's so many people building so many things and there's so much creativity. And I think it is a better starting point for Web of Trust than any of the other so-called decentralized frameworks.

141
00:14:32,372 --> 00:14:41,752
Noster is more decentralized to me in the sense that there is no single great big code base that we are forced to adopt.

142
00:14:41,752 --> 00:14:47,872
you know there's not a library that you have to use and if you deviate one tiny bit then you're

143
00:14:47,872 --> 00:14:53,792
not using it like blue sky for example i've not delved into the code base of blue sky but i but i

144
00:14:53,792 --> 00:15:00,632
think you can't just change one little piece of it without not being on blue sky but nostr

145
00:15:00,632 --> 00:15:09,032
all you really you don't have to you only have to adopt how many nips maybe just nip one in order

146
00:15:09,032 --> 00:15:15,272
to say, I'm on Noster. And you don't have to agree with everybody else about all the other details

147
00:15:15,272 --> 00:15:23,092
on how to do everything. And that's the way decentralized communities should work.

148
00:15:23,492 --> 00:15:29,972
People need to be able to experiment and come up with different ways of doing things,

149
00:15:30,272 --> 00:15:35,532
but do that without having to start an entirely new community all the way from scratch.

150
00:15:35,532 --> 00:15:43,352
yeah agreed i think nip one obviously is foundational as long as you're you're using

151
00:15:43,352 --> 00:15:49,592
that you should be good but i mean obviously a handful more if you can agree on um it just makes

152
00:15:49,592 --> 00:15:55,032
it a little easier uh but yes that that makes sense david so so when you started building

153
00:15:55,032 --> 00:16:00,392
these tools uh what were the existing solutions that you saw back then

154
00:16:00,392 --> 00:16:10,592
and this is on Nostra I mean um yeah the so so in first so I so I guess the question is how what

155
00:16:10,592 --> 00:16:16,292
how does web of trust work now and how did it work so so at first in the very beginning

156
00:16:16,292 --> 00:16:22,692
Nostra was just a firehose you had global view and anybody could post anything there was no web

157
00:16:22,692 --> 00:16:30,712
was just. And then the, you know, the follows list was, was the first tool that everyone used

158
00:16:30,712 --> 00:16:38,752
in order to, um, to filter out the noise. So, uh, you know, I, I'm only going to see a feed

159
00:16:38,752 --> 00:16:45,572
of people who I follow. Uh, and that's, that works very well to get rid of content. Um,

160
00:16:45,632 --> 00:16:51,852
you know, downsides are that, well, one thing is that you've got to curate it. You're, you have to

161
00:16:51,852 --> 00:16:58,132
manage the list yourself. And, and so you have to, every piece of every new user, you have to find

162
00:16:58,132 --> 00:17:04,112
all by yourself, um, as opposed to letting your, having a tool that your community can help you

163
00:17:04,112 --> 00:17:11,692
find new users. Uh, and so the next, so, so I would say one's web of trust at that point is

164
00:17:11,692 --> 00:17:18,032
your follows list that you maintain. And then at some point, you know, people wanted things

165
00:17:18,032 --> 00:17:25,932
more sophisticated than that. And I'm not sure when UTXO released his Web of Trust relay.

166
00:17:27,472 --> 00:17:34,632
But it's my understanding of the way Web of Trust works in that relay is that people I follow plus

167
00:17:34,632 --> 00:17:42,452
the people they follow, that's my slightly extended Web of Trust. So now I can start seeing content

168
00:17:42,452 --> 00:17:47,212
from users automatically that, you know,

169
00:17:47,252 --> 00:17:50,772
who I didn't manually add to my followers list.

170
00:17:51,992 --> 00:17:54,312
You know, the disadvantage is, well,

171
00:17:54,472 --> 00:17:56,652
that you might have some bots to sneak in,

172
00:17:57,092 --> 00:18:02,832
but, you know, it still works very well.

173
00:18:04,312 --> 00:18:08,092
Its limitation is now you're only looking two hops away,

174
00:18:08,092 --> 00:18:10,232
people you follow plus people they follow.

175
00:18:10,232 --> 00:18:24,952
And to me, the next step in evolution of Web of Trust was using PageRank, which is probably the most well-known centrality algorithm out there.

176
00:18:25,112 --> 00:18:32,992
It's the algorithm that basically launched Google and eventually becomes a trillion-dollar company.

177
00:18:32,992 --> 00:18:40,852
you know with i remember when when page rank was in when google was introduced in 1998

178
00:18:40,852 --> 00:18:47,552
internet keyword search before that was awful you would type nine out of ten of the of the

179
00:18:47,552 --> 00:18:52,292
results you'd get if you if you did a keyword search would be websites that are complete spam

180
00:18:52,292 --> 00:18:57,592
and then page rank comes along and suddenly nine out of ten of the results that come back

181
00:18:57,592 --> 00:19:04,192
are what you're looking for. It was miraculous at getting rid of spam. And that's the first

182
00:19:04,192 --> 00:19:14,852
reason to use Web of Trust is to get rid of the spam. And so the way Google uses page rank is that

183
00:19:14,852 --> 00:19:20,932
if website A has a hyperlink to website B, then that is effectively a signal that website B can

184
00:19:20,932 --> 00:19:28,132
be trusted and, and its page rank score gets boosted. And the amount of the boost is relay is

185
00:19:28,132 --> 00:19:35,192
a function of the page rank score of the website that, you know, that, that's, that has the hyperlink

186
00:19:35,192 --> 00:19:42,832
to the, to the second one. Um, so if a bunch of, of websites that have zero trust scores,

187
00:19:42,832 --> 00:19:48,972
all hyperlink to each other, it doesn't matter. They're no one's score gets boosted. Um, and so

188
00:19:48,972 --> 00:19:54,392
that worked very well. The way that page rank, the most obvious way for page rank to work in Noster

189
00:19:54,392 --> 00:20:00,012
is to use the follows list. So if I follow you and you follow someone else, and then

190
00:20:00,912 --> 00:20:07,032
that person follows someone else, and suddenly, you know, there's no limit to the number of hops

191
00:20:07,032 --> 00:20:12,012
away that whose page rank score can get off of zero. And...

192
00:20:12,012 --> 00:20:20,352
So, David, on that, maybe just to simplify for our less technical listeners.

193
00:20:21,812 --> 00:20:24,092
Basically, you know, search was a complete mess.

194
00:20:24,272 --> 00:20:26,852
Discoverability was a complete mess in the 90s.

195
00:20:27,332 --> 00:20:29,992
And then Google comes along sometime in the late 90s,

196
00:20:29,992 --> 00:20:32,792
and they come up with this algorithm that, based on your query,

197
00:20:33,472 --> 00:20:36,872
it filters out websites based on how they're hyperlinked

198
00:20:36,872 --> 00:20:38,792
and, you know, different connections.

199
00:20:38,792 --> 00:20:43,232
and it just delivers these results to you

200
00:20:43,232 --> 00:20:45,472
that are incredibly or far more accurate

201
00:20:45,472 --> 00:20:47,612
than what used to be the case.

202
00:20:47,812 --> 00:20:51,392
And it looks like a complicated mathematical equation

203
00:20:51,392 --> 00:20:53,452
that happens under the hood,

204
00:20:53,692 --> 00:20:56,812
but what Google does is it uses this essentially

205
00:20:56,812 --> 00:21:01,632
trust-like filter to deliver meaningful search results.

206
00:21:02,412 --> 00:21:07,432
I actually have an interesting anecdote on that one, David,

207
00:21:07,432 --> 00:21:15,932
But from back in my first job out of college, I was working at a robotics research lab.

208
00:21:15,972 --> 00:21:18,412
And this was in 2003, I think.

209
00:21:20,072 --> 00:21:28,952
And it was a robotic surgery lab, part of the cardiothoracic surgery unit.

210
00:21:29,292 --> 00:21:31,352
They were using this Da Vinci surgical robot.

211
00:21:32,452 --> 00:21:34,572
And there was one of the surgeons there.

212
00:21:35,292 --> 00:21:41,812
So this is, you know, 2003 would be, what, four or five years after PageRank came out, right?

213
00:21:41,892 --> 00:21:44,772
So it was relatively new, early days of PageRank.

214
00:21:45,312 --> 00:21:51,812
And he had this incredibly basic website about aneurysms.

215
00:21:51,812 --> 00:21:57,052
And he, you know, it was pure text, nothing fancy at all.

216
00:21:58,092 --> 00:22:02,592
And it just listed a whole bunch of links to different resources on aneurysms.

217
00:22:02,592 --> 00:22:16,832
As it turned out, over the course of the last couple of years leading up to that, some of those websites linked back to him, to his website, saying he has a list of resources about aneurysms.

218
00:22:16,992 --> 00:22:24,132
So much so that if you typed in the word aneurysm into Google back then, his website was number one.

219
00:22:24,752 --> 00:22:30,252
A simple plain text website, all it had was links to resources about aneurysms.

220
00:22:30,252 --> 00:22:38,372
yes it was i mean i had no idea how it worked in when it first came out and it wasn't until

221
00:22:38,372 --> 00:22:43,332
you know more than a decade later that i was even interested to learn how it worked all i knew it

222
00:22:43,332 --> 00:22:50,752
was it was magic it was it was just like you said it's like my god how you know the entire world and

223
00:22:50,752 --> 00:22:58,672
the best website comes up for exactly what i'm looking for um yeah and um and and you know so

224
00:22:58,672 --> 00:23:03,492
So PageRank is relatively simple as far as algorithms go.

225
00:23:03,492 --> 00:23:08,732
It is a little complicated to gather all the data and then actually implement the algorithm.

226
00:23:09,952 --> 00:23:16,732
And maybe we can get into the shortcomings of PageRank.

227
00:23:16,912 --> 00:23:33,564
And maybe we can get into whose job should it be in NOSTER to calculate PageRank scores And I think our view is that we need to have services that provide third service providers for those scores and they should

228
00:23:33,564 --> 00:23:40,604
be personalized scores, not global scores. I'm actually, maybe before we get into those,

229
00:23:40,784 --> 00:23:47,464
I'm curious to know a little bit more of your pathway. You've worked in healthcare in many

230
00:23:47,464 --> 00:23:56,404
different ways and um and you know you've i'm actually not sure how is it how is it that you

231
00:23:56,404 --> 00:24:05,224
and and um avi pamplona and john gordon came together to form nosfabrica and uh yeah what was

232
00:24:05,224 --> 00:24:11,624
what was that path like for you i think it'll be it'll be helpful to give our listeners some

233
00:24:11,624 --> 00:24:17,904
background on this and on Nosfabrica as well. So yeah, look, I can keep my background on this

234
00:24:17,904 --> 00:24:25,764
brief. I was an electrical engineer. I was focusing on robotics. And a hospital that was

235
00:24:25,764 --> 00:24:31,604
affiliated to my grad school said, hey, do you want a job? I said, sure. Working on a surgical

236
00:24:31,604 --> 00:24:37,484
robot, Da Vinci, why not? Interesting stuff. So that was it. I was in healthcare. And after that,

237
00:24:37,484 --> 00:24:49,944
I was very heavily mathematical, so got into mathematical finance, ended up in a job in healthcare, securitizing healthcare claims, believe it or not.

238
00:24:51,124 --> 00:25:06,644
And then, you know, that sort of cemented, I guess, that stage of my career in healthcare, ended up at a company called Change Healthcare several years later, around the pandemic time, actually.

239
00:25:06,644 --> 00:25:13,724
And that company got acquired by UnitedHealth, and we were spun off into the Optum unit.

240
00:25:13,904 --> 00:25:15,444
So that's where I was.

241
00:25:16,864 --> 00:25:26,604
And this is where the seeds of Nosfabrica's genesis lie, because in February of 2024,

242
00:25:27,564 --> 00:25:33,344
there was a major cyber incident where actually changed healthcare servers in Nashville

243
00:25:33,344 --> 00:25:36,904
were ransomware attacked.

244
00:25:38,464 --> 00:25:42,024
And that, you know, the project I was working on

245
00:25:42,024 --> 00:25:46,544
was completely, was basically, it went to zero

246
00:25:46,544 --> 00:25:48,144
in the sense that all the code was gone,

247
00:25:48,144 --> 00:25:50,584
a million lines of code, four years of work, and so on.

248
00:25:51,024 --> 00:25:53,604
So it was that point I reached out to John Gordon,

249
00:25:53,704 --> 00:25:55,544
who I'd met at the Bitcoin conference

250
00:25:55,544 --> 00:26:00,644
a couple of years before that, one of the Miami ones.

251
00:26:00,644 --> 00:26:04,884
and we started talking

252
00:26:04,884 --> 00:26:06,804
and then a few months later

253
00:26:06,804 --> 00:26:10,304
John had been talking to Vitor

254
00:26:10,304 --> 00:26:12,344
the creator of Amethyst, Vitor Pamplona

255
00:26:12,344 --> 00:26:15,924
and then we, so the three of us got together

256
00:26:15,924 --> 00:26:19,184
at the Bitcoin Conference in Nashville

257
00:26:19,184 --> 00:26:22,504
had a chat and then a couple of months later

258
00:26:22,504 --> 00:26:25,224
launched Nosfabrica, all three of us had

259
00:26:25,224 --> 00:26:27,084
a health tech background

260
00:26:27,084 --> 00:26:31,484
and when we thought NOSTA is a fantastic way

261
00:26:31,484 --> 00:26:34,164
of solving a lot of the issues we were seeing,

262
00:26:34,604 --> 00:26:39,104
such as these honeypots that were created, right,

263
00:26:39,124 --> 00:26:42,424
these data honeypots with the change healthcare cyber attack.

264
00:26:42,424 --> 00:26:47,424
But even beyond that, the patient access to their medical records,

265
00:26:48,744 --> 00:26:51,504
the care discovery process, price transparency,

266
00:26:51,664 --> 00:26:54,144
none of this exists, especially in the U.S.

267
00:26:54,144 --> 00:27:01,004
and with NOSTA, you know, patient identity being owned by the patient

268
00:27:01,004 --> 00:27:05,524
and then them being able to sign and, you know,

269
00:27:05,584 --> 00:27:09,424
events that tied to their personal health records,

270
00:27:09,524 --> 00:27:11,844
being able to delegate access and so on and so forth,

271
00:27:12,104 --> 00:27:13,404
was incredibly powerful, right?

272
00:27:13,404 --> 00:27:18,064
We could create a marketplace where patients could look for healthcare providers

273
00:27:18,064 --> 00:27:23,384
and, you know, sought by a web of trust, if you will, right,

274
00:27:23,384 --> 00:27:29,684
which provider is good or not, and then get the price right there, pay in Bitcoin if they wanted to,

275
00:27:30,104 --> 00:27:35,244
you know, make their appointment either virtual or in person, that sort of thing.

276
00:27:35,404 --> 00:27:37,404
So, you know, that was the idea.

277
00:27:37,484 --> 00:27:43,944
We started building a few things late in or early this year.

278
00:27:44,324 --> 00:27:49,564
We launched a hackathon because we thought that would be a good way of getting community engagement

279
00:27:49,564 --> 00:27:52,604
and interest in a lot of these healthcare use cases

280
00:27:52,604 --> 00:27:59,084
because there was minimal to none healthcare use cases

281
00:27:59,084 --> 00:28:00,004
being built on Nostra

282
00:28:00,004 --> 00:28:01,424
with all the focus going primarily

283
00:28:01,424 --> 00:28:04,244
into the social media type clients.

284
00:28:05,244 --> 00:28:07,124
And we ran a successful hackathon

285
00:28:07,124 --> 00:28:11,344
for went from January to May of this year.

286
00:28:11,544 --> 00:28:14,004
We had our calls were super well attended.

287
00:28:14,464 --> 00:28:17,464
Many times over 20, 30 people.

288
00:28:17,464 --> 00:28:24,484
We had five or six teams that were actively building, and we saw some really cool apps come out of that.

289
00:28:25,004 --> 00:28:32,304
We live-streamed the last couple of calls, including the prize award.

290
00:28:32,484 --> 00:28:38,564
So Vitor, John, and I, we funded a bounty for the hackathon.

291
00:28:38,684 --> 00:28:41,204
It was about 16 million sats.

292
00:28:41,304 --> 00:28:44,524
We had a couple of other folks chip in as well, small amounts.

293
00:28:44,524 --> 00:28:47,024
and that last

294
00:28:47,024 --> 00:28:49,624
the prize ceremony

295
00:28:49,624 --> 00:28:51,484
if you will was live streamed

296
00:28:51,484 --> 00:28:54,064
and we had almost 200 people on Zap.Stream

297
00:28:54,064 --> 00:28:54,804
listening

298
00:28:54,804 --> 00:28:57,244
so we had a

299
00:28:57,244 --> 00:28:59,804
so the hackathon was a great experience

300
00:28:59,804 --> 00:29:01,224
we took a lot of learnings out of it

301
00:29:01,224 --> 00:29:03,244
and then over the summer

302
00:29:03,244 --> 00:29:05,344
we started building out

303
00:29:05,344 --> 00:29:07,984
you know some proofs of concepts

304
00:29:07,984 --> 00:29:08,504
and prototypes

305
00:29:08,504 --> 00:29:11,204
and this is what we ran into David

306
00:29:11,204 --> 00:29:12,504
which is

307
00:29:12,504 --> 00:29:18,884
So let's take the example of the care discovery marketplace.

308
00:29:19,404 --> 00:29:22,864
It's critically important, especially in the US, but I suspect around the world as well,

309
00:29:22,964 --> 00:29:26,824
for a patient to be able to describe their symptoms into a simple text field,

310
00:29:27,544 --> 00:29:32,804
get a list of doctors, and then be able to know which doctor is right for them

311
00:29:32,804 --> 00:29:34,684
based on some sort of rating.

312
00:29:34,904 --> 00:29:41,084
But here's the problem in a truly decentralized network.

313
00:29:41,664 --> 00:29:45,444
someone can list themselves as a doctor on that directory.

314
00:29:45,924 --> 00:29:47,304
How do you know they're a doctor?

315
00:29:47,724 --> 00:29:49,164
That's question number one.

316
00:29:49,624 --> 00:29:53,124
Question number two is, let's say there's some way in which you know they're a doctor.

317
00:29:53,384 --> 00:29:54,904
How do you know they're a good doctor?

318
00:29:55,664 --> 00:30:01,364
And the way we, the view we took, you know, at some point late in the summer was,

319
00:30:01,364 --> 00:30:07,404
well, it's an important question, but let's for now get past that

320
00:30:07,404 --> 00:30:10,404
by saying Nos Fabrica would be the credential issuer.

321
00:30:10,404 --> 00:30:12,344
We would issue NIF 58 badges.

322
00:30:13,144 --> 00:30:16,024
If someone wants to be a doctor on the marketplace, they could reach out to us.

323
00:30:16,644 --> 00:30:22,404
We would do some like a soft KYC handshake because friends and so on.

324
00:30:22,664 --> 00:30:24,464
Just to prove the concept.

325
00:30:25,064 --> 00:30:31,004
I think we very quickly realized that while it was doable to move things forward,

326
00:30:32,124 --> 00:30:35,244
we were just recreating the same thing I talked about in the sermon.

327
00:30:35,444 --> 00:30:36,704
We were becoming the gatekeeper.

328
00:30:37,644 --> 00:30:39,364
Absolutely not our intention to.

329
00:30:39,364 --> 00:30:41,864
and incredibly fortuitously

330
00:30:41,864 --> 00:30:43,804
John bumped into you

331
00:30:43,804 --> 00:30:45,724
John Gordon bumped into you

332
00:30:45,724 --> 00:30:48,024
at Bitcoin Park a month or so

333
00:30:48,024 --> 00:30:49,364
ago and

334
00:30:49,364 --> 00:30:51,764
we started talking about all

335
00:30:51,764 --> 00:30:53,864
the web of trust tools that you've been

336
00:30:53,864 --> 00:30:56,044
building, Brainstorm, Grapevine

337
00:30:56,044 --> 00:30:57,904
and we'll talk about those in a second

338
00:30:57,904 --> 00:30:59,984
David and I think

339
00:30:59,984 --> 00:31:00,544
from there

340
00:31:00,544 --> 00:31:03,304
it made complete sense

341
00:31:03,304 --> 00:31:05,504
for you to come and join Nosfabrica

342
00:31:05,504 --> 00:31:07,864
for Nosfabrica to broaden its scope

343
00:31:07,864 --> 00:31:11,924
to being not just healthcare use cases on NOSTA,

344
00:31:11,924 --> 00:31:15,424
but a broader web of trust substrate,

345
00:31:16,224 --> 00:31:22,164
building tools and making sure that these reputation

346
00:31:22,164 --> 00:31:24,864
and trust relationships that are so critically needed,

347
00:31:25,004 --> 00:31:27,844
not just in healthcare, but any kind of commerce,

348
00:31:28,444 --> 00:31:34,224
remain open, decentralized, and user choice based.

349
00:31:34,764 --> 00:31:36,124
So that's kind of where we are.

350
00:31:36,124 --> 00:31:47,324
So I guess folks listening, breaking news, Nosfabrica is pivoting or rather broadening, I should say, to web of trust.

351
00:31:47,404 --> 00:31:51,744
And I'm sure healthcare will follow once we solve this critical problem.

352
00:31:52,904 --> 00:31:54,304
So that was a long answer, David.

353
00:31:54,404 --> 00:31:56,864
You're the guest and I rambled on for the last five minutes.

354
00:31:56,864 --> 00:32:05,544
No, so I mean, that's, yeah, it was so great meeting John at Bitcoin Park.

355
00:32:05,544 --> 00:32:09,684
That's just a great place to be in for so many reasons.

356
00:32:10,524 --> 00:32:19,544
But yeah, I was so glad to run into him and then to connect with NOS Fabrica and I'm overjoyed

357
00:32:20,204 --> 00:32:26,764
to be teaming up with the three of you so that we can, I envision that we'll be able

358
00:32:26,764 --> 00:32:34,444
to provide some leadership for the NOSTA community on how to incorporate WebOS Trust.

359
00:32:34,444 --> 00:32:42,044
I bet there are lots of other development teams that are working in other fields.

360
00:32:42,264 --> 00:32:46,624
They have a need for trust, just like Nosfabrica.

361
00:32:47,084 --> 00:32:48,904
We needed a way to trust doctors.

362
00:32:49,684 --> 00:33:01,264
They have their own similar web of trust problems to tackle, but don't really know how exactly to do that because it's just such a big problem.

363
00:33:01,264 --> 00:33:23,184
And I think that maybe you mentioned it or Vitor had mentioned at one point that maybe the thought was doing trust for this small sector, you know, healthcare as opposed to the great big problem of web of trust might be easier to tackle the smaller problem first.

364
00:33:23,184 --> 00:33:42,144
But I don't think that's the case. I think that we need to have the substrate, the foundation of Web of Trust first before we start tackling the individual use cases like health care, because there's no limit to the number of use cases.

365
00:33:42,144 --> 00:33:47,964
and we need a roadmap for how to do that.

366
00:33:48,544 --> 00:33:56,564
And hopefully we can dig into some of the details of our next steps.

367
00:33:57,424 --> 00:33:59,284
And by the way, I love the name Nosfabrica.

368
00:33:59,604 --> 00:34:00,924
It's the fabric of Noster.

369
00:34:00,924 --> 00:34:03,864
That's the way I – and it's great for web of trust.

370
00:34:04,064 --> 00:34:07,004
You know, we're building – we're building –

371
00:34:07,004 --> 00:34:07,164
Yeah.

372
00:34:07,924 --> 00:34:08,244
Yeah.

373
00:34:08,244 --> 00:34:28,584
Yeah. Serendipitous at multiple levels, for sure, David. So let's talk about the solutions. And maybe since you'd mentioned PageRank before, and we sort of explained it in the context of search back in the late 90s, how would that work on Noster?

374
00:34:28,584 --> 00:34:32,584
How would you tackle the web of trust problem using PageRank?

375
00:34:33,484 --> 00:34:41,844
And then maybe you could talk about in your work looking into it, in your research looking into it, what the shortcomings you found in the context of NOSTA.

376
00:34:42,184 --> 00:34:42,704
Yeah.

377
00:34:42,904 --> 00:34:49,544
So the first question as far as how do you get PageRank to work, the first question is going to be who's going to calculate it.

378
00:34:50,404 --> 00:34:54,324
There are lots of individual clients and platforms.

379
00:34:54,324 --> 00:35:02,264
They calculate Web of Trust scores using, mostly using follows, but, you know, sometimes roping in other bits of information.

380
00:35:03,104 --> 00:35:16,995
And they use Web of Trust scores on their platforms But to do something as complicated as page rank really I think we cannot expect each individual client to do that on their own

381
00:35:17,735 --> 00:35:24,815
First of all, you need to gather together a whole lot of data. You need basically all the follows

382
00:35:24,815 --> 00:35:31,795
that are available to you. And then you need to run the calculations, which can be done relatively

383
00:35:31,795 --> 00:35:40,995
quickly, but you have to actually implement that. And so I think one of the big messages that I

384
00:35:40,995 --> 00:35:47,535
think that I want to get out there is that Nostra needs third-party service providers to calculate

385
00:35:47,535 --> 00:35:56,835
personalized trust metrics and then provide those metrics to the greater Nostraverse so that they can

386
00:35:56,835 --> 00:36:03,696
be used throughout. And I have an article that I wrote pretty recently on why I think that's so

387
00:36:03,696 --> 00:36:10,835
important. Right now, there are two examples that I know of. One is Vertex, which was started by

388
00:36:11,515 --> 00:36:17,295
Papelia, run by Papelia. Also, Franz App, who was a guest of yours not too long ago,

389
00:36:17,535 --> 00:36:23,295
helped to create Vertex. They calculate personalized page rank scores and make them

390
00:36:23,295 --> 00:36:26,876
available through a NIP that Fran Zapp authored.

391
00:36:27,456 --> 00:36:31,635
And then the other existing example is my own prototype, Brainstorm,

392
00:36:32,055 --> 00:36:36,696
which calculates personalized page rank,

393
00:36:36,835 --> 00:36:39,196
also calculates personalized grape rank,

394
00:36:39,356 --> 00:36:43,715
which is what I see as the next step past page rank,

395
00:36:44,196 --> 00:36:47,295
and several other trust metrics,

396
00:36:47,295 --> 00:36:50,315
and then makes them available to Nostra.

397
00:36:50,315 --> 00:37:01,856
so before we dig into brainstorm and grape rank and grapevine uh it might be helpful david if you

398
00:37:01,856 --> 00:37:06,436
if you could explain to some some of our listeners who who might just be regular nosti users right

399
00:37:06,436 --> 00:37:11,456
like look i all i want to do is go to primal post some memes make sure i could talk to my friends

400
00:37:11,456 --> 00:37:17,155
right that's that's really what i'm interested in maybe if i see a you know soap miner or great

401
00:37:17,155 --> 00:37:20,436
ghee or, you know, Leather Mint, one of those merchants.

402
00:37:20,615 --> 00:37:23,396
I want to be able to interact with them and buy their stuff with Zaps.

403
00:37:24,155 --> 00:37:32,535
Your regular garden variety user, consumer of the Noss' social experience, from their

404
00:37:32,535 --> 00:37:38,755
perspective, how would this impact their user experience, these improved web of crust tools?

405
00:37:38,755 --> 00:37:46,735
You know, the first use case would be just being more effective at getting rid of bad

406
00:37:46,735 --> 00:37:55,635
actors. If you go to Primal and you search for, or if you go to almost any client and you search

407
00:37:55,635 --> 00:38:02,715
for someone's profile, who's an influencer, who's well-known, you're going to see, you'll probably

408
00:38:02,715 --> 00:38:10,715
see the actual person you're looking for, but you'll also see a number of impersonators.

409
00:38:10,715 --> 00:38:18,715
and sometimes it can be hard to know um you know which is which people can be fooled sometimes the

410
00:38:18,715 --> 00:38:25,755
impersonators and and also bots and just spammers they they make it through the existing filters

411
00:38:25,755 --> 00:38:31,735
and they you know pollute your timeline and so the first improvement is going to be just clean

412
00:38:31,735 --> 00:38:37,896
cleaning up your timeline um cleaning up your content and doing that in a way that does not

413
00:38:37,896 --> 00:38:46,196
unfairly disadvantaged new users to Noster because we don't want to rebuild a system where the only

414
00:38:46,196 --> 00:38:53,196
content that we see is from influencers, people who shitpost all the time and they have tons and

415
00:38:53,196 --> 00:39:00,495
tons of followers. We don't want them to their opinion effectively to count more than someone

416
00:39:00,495 --> 00:39:05,396
who's new to Noster and hasn't had time or maybe doesn't have the inclination to build up a lot of

417
00:39:05,396 --> 00:39:13,055
followers. So yeah, that's the first is just getting rid of the spot of the, of the spam and

418
00:39:13,055 --> 00:39:21,735
the bots. To a large extent that a lot of people are, will agree to on a whole lot of spam. There

419
00:39:21,735 --> 00:39:29,896
are, there are, there are some types of accounts like AI. There are a lot of AI bots that are,

420
00:39:30,195 --> 00:39:34,815
you know, some people don't want to see them. Others, maybe they do because some of the AI

421
00:39:34,815 --> 00:39:40,795
these bots are actually entertaining or useful or worthy of seeing.

422
00:39:41,936 --> 00:39:46,155
So after we just eliminate the really obvious spam,

423
00:39:46,695 --> 00:39:51,695
then the tools that we're going to be building in the not too distant future

424
00:39:51,695 --> 00:39:54,896
will be ways that you can, let's say,

425
00:39:55,015 --> 00:39:58,976
let's say that you do want to see, you know, this category of AI bots,

426
00:39:59,055 --> 00:40:02,396
but not that category of AI bots or this category of users and not that

427
00:40:02,396 --> 00:40:02,876
category.

428
00:40:03,615 --> 00:40:10,075
We want a system where your community can identify, put users in those categories,

429
00:40:10,075 --> 00:40:14,175
and then you can just select, well, I want this category, not that category.

430
00:40:15,075 --> 00:40:22,396
And so the idea is to give you, as a user, more control over your user experience.

431
00:40:24,535 --> 00:40:28,275
First of all, it's just getting rid of the bad actors, but then secondly,

432
00:40:28,275 --> 00:40:40,275
It's just being able to fine-tune what content you are interested in as opposed to seeing just a global feed that may or may not be what you're interested in.

433
00:40:42,396 --> 00:40:46,936
So a couple of things come to mind here, David.

434
00:40:47,035 --> 00:40:56,155
One is, I mean, I use the example of you're trying to go to Great Ghee or Soap Mine or any one of those merchants on Nostra and trying to buy one of their products.

435
00:40:56,675 --> 00:40:58,215
You want to make sure you're going to the right one.

436
00:40:58,555 --> 00:41:00,835
You're zapping the right person and not a crook.

437
00:41:01,416 --> 00:41:02,476
So I think that would be helpful.

438
00:41:02,976 --> 00:41:06,856
The other is, I think if someone is on their quote-unquote following feed,

439
00:41:07,456 --> 00:41:09,795
that acts as a reasonable filter, I think,

440
00:41:09,795 --> 00:41:16,175
in that very narrow context of seeing what the people you're following are saying.

441
00:41:16,876 --> 00:41:21,075
However, if you switch over to a trending feed,

442
00:41:21,235 --> 00:41:24,495
like the primal trending or Nostur has a whole bunch of feeds,

443
00:41:24,495 --> 00:41:28,555
at What's Hot and other clients have different names for their feeds.

444
00:41:28,976 --> 00:41:32,495
I think that's where things get tricky because you don't have that blunt instrument filter

445
00:41:32,495 --> 00:41:34,115
of the people you're following.

446
00:41:34,976 --> 00:41:41,675
And that, I believe, is where a lot of these impersonators and what have you can slip through

447
00:41:41,675 --> 00:41:42,255
the cracks.

448
00:41:42,255 --> 00:41:52,535
So then the question becomes, is the end buyer of these tools the user of Nostro or is it

449
00:41:52,535 --> 00:41:59,115
the clients who implement this within their software so that the client's users have a

450
00:41:59,115 --> 00:42:00,595
much better user experience?

451
00:42:00,936 --> 00:42:02,755
So it's a great question.

452
00:42:02,856 --> 00:42:07,155
What is the monetization strategy for service providers?

453
00:42:07,976 --> 00:42:15,575
I don't know if you saw Odell gave a great talk at Imagine If at Bitcoin in Nashville

454
00:42:15,575 --> 00:42:21,295
a few weeks ago, making that exact point that we need monetization strategies for open source

455
00:42:21,295 --> 00:42:21,695
tools.

456
00:42:22,535 --> 00:42:25,095
We can't just rely on grants forever.

457
00:42:25,876 --> 00:42:30,315
And so, you know, I'm thinking who's going to pay for the third party service providers.

458
00:42:30,635 --> 00:42:33,956
There's going to be multiple monetization models.

459
00:42:33,956 --> 00:42:42,055
The model that makes most sense to me is that the end users are going to want to pay to have their personalized trust metrics calculated.

460
00:42:43,356 --> 00:42:51,815
And they'll do that if, you know, once we prove the utility of having these scores.

461
00:42:51,815 --> 00:42:59,876
You know, I not too long ago, I renewed my Nostra.build subscription.

462
00:43:00,215 --> 00:43:01,376
I think it was like five bucks a month.

463
00:43:02,055 --> 00:43:07,456
And, you know, there are certain things that are kind of must haves if you're going to use Nostra.

464
00:43:07,755 --> 00:43:14,135
You know, you need someone who's going to store, you know, your photos and videos if you're going to upload them.

465
00:43:14,476 --> 00:43:16,356
And so that's sort of a must have.

466
00:43:16,356 --> 00:43:27,135
And I think that having personalized trust metrics that are high quality and configurable to your own preferences is going to become a must have.

467
00:43:27,936 --> 00:43:37,416
And so that's I think the answer is that is I would see users ultimately being the ones who would pay to get the scores created.

468
00:43:37,416 --> 00:43:48,015
so on the topic of scores you've obviously built brainstorm um which is the you know the

469
00:43:48,015 --> 00:43:53,615
computation mechanism and then and and the scoring algorithm and then there's grapevine the the

470
00:43:53,615 --> 00:43:59,655
delivery mechanism do you want it so why don't we start with uh with brainstorm how does it

471
00:43:59,655 --> 00:44:06,416
calculate the scores today so yeah so so i have a prototype um service brainstorm that you can find

472
00:44:06,416 --> 00:44:09,295
If you go to my Noster profile, then it's linked there.

473
00:44:09,456 --> 00:44:11,695
It's straycat.brainstorm.social.

474
00:44:12,795 --> 00:44:21,135
And so what it does is it calculates my personalized grapevine,

475
00:44:21,416 --> 00:44:29,555
but it also, you can sign up and I will calculate the scores personalized to people who sign up.

476
00:44:29,896 --> 00:44:31,876
So the idea is that this is open source.

477
00:44:31,995 --> 00:44:34,235
Anybody can run a brainstorm instance.

478
00:44:34,235 --> 00:44:50,615
You can calculate your own personalized scores, but you can also calculate scores for a number of, let's say, your friends or your family or maybe some community that you're operating or perhaps even paid customers.

479
00:44:51,936 --> 00:45:03,615
And so the way that the scores are calculated is that I, right now, I take follows and mutes, the kind 1980s.

480
00:45:03,615 --> 00:45:10,735
So follows from kind three notes, mutes are kind 1984, and then report, I'm sorry, kind 10,000,

481
00:45:10,815 --> 00:45:14,436
and then reports are NIP 56, kind 1984 notes.

482
00:45:15,015 --> 00:45:24,936
So I track those, and the grape rank score, in a way it's similar to page rank.

483
00:45:24,936 --> 00:45:30,175
So the grape rank score, right now there's just a single score.

484
00:45:31,035 --> 00:45:33,376
It's a number between zero and one.

485
00:45:33,615 --> 00:45:44,115
And the idea is that if it's a one, then that means your grapevine is effectively telling you that this person is probably not a bot, probably a real Nostra user.

486
00:45:44,535 --> 00:45:53,715
And if the score is a zero, then it means that this is maybe a bot or maybe we just don't have any information.

487
00:45:54,376 --> 00:45:58,535
If someone has zero, you don't know anything about the default score for a new NPOB is zero.

488
00:45:58,535 --> 00:46:13,115
And if the score is between zero and one, then it's as if your grapevine is telling you this user is probably not a bad actor, but we don't have enough information to say that with absolute certainty.

489
00:46:13,635 --> 00:46:21,775
So let's say someone is four hops away from you and followed by five users who are themselves probably not bots.

490
00:46:21,896 --> 00:46:26,055
Well, that is probably not a bot, but you're not 100% sure about that.

491
00:46:26,055 --> 00:46:35,675
And, and so the, by default, everyone's score is a zero, except for yours.

492
00:46:35,755 --> 00:46:38,075
So you are always at the center of your grapevine.

493
00:46:38,075 --> 00:46:39,295
These are personalized to you.

494
00:46:39,995 --> 00:46:46,195
So your score, your grape rank score is, is pegged to one, meaning you're a

495
00:46:46,195 --> 00:46:48,456
hundred percent confident that you're not a bad actor.

496
00:46:49,015 --> 00:46:52,396
And so then if you follow someone, then.

497
00:46:52,447 --> 00:46:55,247
that person's score gets boosted.

498
00:46:55,247 --> 00:46:56,627
It gets off of zero.

499
00:46:57,127 --> 00:46:58,767
And then if they follow someone,

500
00:46:58,947 --> 00:47:01,447
then that gets their score off of zero.

501
00:47:01,947 --> 00:47:05,467
And the amount of the boost is a function

502
00:47:05,467 --> 00:47:09,047
of the grape rank score of the person who's doing the follow.

503
00:47:09,687 --> 00:47:14,107
So again, if a bunch of bots all follow each other,

504
00:47:14,287 --> 00:47:16,527
but their score is all zero, then it doesn't matter.

505
00:47:17,987 --> 00:47:20,747
And this is similar to how page rank works.

506
00:47:20,747 --> 00:47:29,147
one of the really well-known attacks of page rank is that you can have what's called a link farm,

507
00:47:29,387 --> 00:47:34,367
a bunch of, let's say you spin up a hundred different bad actors. They all follow each other.

508
00:47:34,607 --> 00:47:42,867
Then all you need to do is get a handful of them followed by, you know, quote, quote, unquote,

509
00:47:42,867 --> 00:47:50,247
you know, real users. And then that their score gets off zero and then they all boost each other

510
00:47:50,247 --> 00:47:57,027
up. And that is an attack that is actually, we see that out in the real world. There are a lot of

511
00:47:57,027 --> 00:48:02,167
users on Nostra whose page rank score is elevated because they've done a link farm attack.

512
00:48:02,647 --> 00:48:08,767
And for that, that's the reason that I'm pulling in mutes and reports. So if Alice mutes Bob,

513
00:48:09,387 --> 00:48:18,087
then instead of boosting Bob's score, then it decreases Bob's score. And if she reports him,

514
00:48:18,087 --> 00:48:26,507
then that also suppresses someone's score. And the amount, you know, so this is what I call

515
00:48:26,507 --> 00:48:31,127
interpretation. We take whatever data is available to us, in this case, follows mutant reports,

516
00:48:31,307 --> 00:48:37,547
and we interpret it. So I interpret that as a statement, as Alice stating, if she follows Bob,

517
00:48:37,647 --> 00:48:45,927
she is stating this account is worth following, is worthy of your attention. And so that's why

518
00:48:45,927 --> 00:48:54,127
the score goes up. People follow relatively indiscriminately. So every follow mutant report

519
00:48:54,127 --> 00:49:01,087
comes with a certain weight. And the amount of weight that a follow gets is not as much, you know,

520
00:49:01,147 --> 00:49:08,207
people mute a little bit less indiscriminately. And if someone reports, then people do not do

521
00:49:08,207 --> 00:49:16,587
that indiscriminately. Usually they mean it. So a single report, KIND 1984 NIP 56 report,

522
00:49:16,587 --> 00:49:27,387
is going to outweigh a large number of follows. And so if a link farm attack is successful and

523
00:49:27,387 --> 00:49:36,307
a bunch of bots make it through the system that only uses follows, then that's where mutes and

524
00:49:36,307 --> 00:49:46,447
especially reports come in because the remedy for that is it only takes a handful of people to

525
00:49:46,447 --> 00:49:53,147
report the bad actor and now their scores push down to zero again and you can take out the entire

526
00:49:53,147 --> 00:49:59,687
link farm by only getting the ones who are actually followed by real users.

527
00:49:59,687 --> 00:50:10,607
and um yeah so so these scores it's between zero and one um and i also calculate how many hops away

528
00:50:10,607 --> 00:50:16,727
everyone is from you know like alice is three hops away from me so the hops trust metric is three

529
00:50:16,727 --> 00:50:24,807
um the and and then i also calculate a verified follower count you know that's a big topic that

530
00:50:24,807 --> 00:50:30,267
you hear people discuss, what does it mean to, you know, the follower count? Who cares? What does

531
00:50:30,267 --> 00:50:37,007
it mean? Well, it doesn't mean anything if you're counting everyone who follows, you know, there's,

532
00:50:37,247 --> 00:50:42,227
you know, there are lots of, if you can have a million bots follow you and your follower count

533
00:50:42,227 --> 00:50:49,967
is a million. So what does that mean? But it does become meaningful if you have a system to say,

534
00:50:49,967 --> 00:50:54,707
okay, the number of users who are verified using some method.

535
00:50:55,327 --> 00:50:59,467
And so the way my default method is if, you know,

536
00:50:59,587 --> 00:51:03,767
how many users follow you whose CREEP rank score is above,

537
00:51:03,907 --> 00:51:07,327
I think 0.01 or 0.05 is my default.

538
00:51:08,107 --> 00:51:12,387
And now we have a meaningful number and, you know,

539
00:51:12,427 --> 00:51:13,687
the verified follower count.

540
00:51:13,847 --> 00:51:17,187
And I also calculate how many verified followers mute you

541
00:51:17,187 --> 00:51:19,227
and, more importantly, report you.

542
00:51:19,227 --> 00:51:23,987
because these are very useful for getting rid of spam.

543
00:51:24,667 --> 00:51:33,567
And so all these different trust metrics, they are then, this is a whole big topic,

544
00:51:33,767 --> 00:51:38,407
is how do you take these scores and how do you communicate them to other clients?

545
00:51:38,547 --> 00:51:45,687
And so the primary method that I'm using now is VTOR's NIP85 Trusted Assertions.

546
00:51:45,687 --> 00:51:53,487
And the idea there is that these scores are published using kind 30382 notes.

547
00:51:54,587 --> 00:52:05,067
So basically a single kind 30382 note would be from the perspective of someone, like my grapevine, and then it is a score for your NPUB.

548
00:52:05,327 --> 00:52:09,647
And then your grape rank score is 0.99.

549
00:52:10,347 --> 00:52:14,367
Your verified follower count is 2,000, whatever it is.

550
00:52:14,367 --> 00:52:24,907
And then those scores are very, very easy to access by a client like Amethyst or Primal or any client out there.

551
00:52:26,187 --> 00:52:29,727
And then they can be used for a number of purposes.

552
00:52:30,387 --> 00:52:40,707
If I search for Odell, then if I do that on Primal or almost anywhere, I'm going to see five or six probably come up.

553
00:52:40,707 --> 00:52:53,007
But if I can see their verified follower count or if they're a GrapeRank score, then that will do a very effective job of telling me which ones are the bots and which is the real one.

554
00:52:57,107 --> 00:53:00,667
Or Primal, if they adopt GrapeRank, they'll just show you the right one.

555
00:53:00,727 --> 00:53:01,127
Exactly.

556
00:53:01,707 --> 00:53:01,887
Right.

557
00:53:03,107 --> 00:53:04,347
That's a possibility as well.

558
00:53:04,387 --> 00:53:04,647
Yes.

559
00:53:06,487 --> 00:53:08,667
Actually, let's just go back to the computation.

560
00:53:10,707 --> 00:53:13,727
finish your thought, David.

561
00:53:15,047 --> 00:53:16,847
I was just going to say that empirically,

562
00:53:16,967 --> 00:53:19,287
GrapeRank actually does a much better job

563
00:53:19,287 --> 00:53:24,027
than PageRank of getting rid of the bots.

564
00:53:24,227 --> 00:53:25,687
So yeah, so the only one you would see

565
00:53:25,687 --> 00:53:27,027
would be the actual of Dell

566
00:53:27,027 --> 00:53:29,947
from our kind of internal testing.

567
00:53:32,767 --> 00:53:33,407
Got it.

568
00:53:33,727 --> 00:53:38,147
So let's go back to the three vectors

569
00:53:38,147 --> 00:53:40,487
or three signals, I should say, that you use.

570
00:53:40,707 --> 00:53:43,427
follows, mutes, and reports.

571
00:53:43,847 --> 00:53:47,467
And all of these either increment or decrement a user score.

572
00:53:48,287 --> 00:53:52,667
And then there's obviously hundreds of thousands of connections

573
00:53:52,667 --> 00:53:55,807
that contribute to the score.

574
00:53:56,287 --> 00:54:00,447
Now, follows and mutes are revocable events in some sense,

575
00:54:00,687 --> 00:54:03,307
meaning you can unfollow someone and you can unmute someone.

576
00:54:03,307 --> 00:54:06,247
I'm not sure what the deal is with reports,

577
00:54:06,327 --> 00:54:07,507
if those are revocable or not.

578
00:54:08,367 --> 00:54:09,307
I don't think so.

579
00:54:09,307 --> 00:54:11,427
With followers, yeah.

580
00:54:12,047 --> 00:54:14,247
So a follower adds to the score.

581
00:54:14,327 --> 00:54:16,307
Does that mean an unfollow subtracts from the score?

582
00:54:16,427 --> 00:54:17,967
And the same question for mutes as well.

583
00:54:18,407 --> 00:54:21,207
No, an unfollow or unmute would just be,

584
00:54:21,787 --> 00:54:24,967
if you unfollow, then you're just no longer boosting the score.

585
00:54:26,267 --> 00:54:28,727
So it's the same as if you never followed someone

586
00:54:28,727 --> 00:54:30,707
as far as the way the calculation goes,

587
00:54:30,907 --> 00:54:32,027
in the same way with a mute.

588
00:54:34,007 --> 00:54:36,807
Right, so it does decrement the score then, right?

589
00:54:36,807 --> 00:54:38,187
In the sense, okay, okay.

590
00:54:39,307 --> 00:54:42,647
Because I was thinking, I was going back to the link farm attack.

591
00:54:43,187 --> 00:54:52,707
All you need to do is seed it with a handful of people who are following the first four or five bots, which then follow the remainder, right?

592
00:54:53,267 --> 00:54:57,967
And then the people who seeded it, all they have to do is unfollow.

593
00:54:58,187 --> 00:55:01,907
And then there's plausible deniability at that point.

594
00:55:02,447 --> 00:55:06,527
But if it does decrement the score, then the score would eventually collapse to zero.

595
00:55:06,527 --> 00:55:08,307
if the humans who started the bot farm

596
00:55:08,307 --> 00:55:12,067
actually got themselves out of the picture.

597
00:55:12,207 --> 00:55:12,727
Yeah, yeah.

598
00:55:12,827 --> 00:55:13,387
Makes sense.

599
00:55:14,827 --> 00:55:15,887
But that said, though,

600
00:55:16,427 --> 00:55:20,527
so let's say there are 1,000 daily active users.

601
00:55:20,887 --> 00:55:25,187
I'm guessing, but I suspect if you're looking at daily active,

602
00:55:25,187 --> 00:55:28,267
we're in that ballpark, somewhere between 1,000 and 10,000, right?

603
00:55:28,287 --> 00:55:29,287
It can't be more than that.

604
00:55:29,647 --> 00:55:35,067
I think it's around 15,000 daily from Nostra.band.

605
00:55:35,207 --> 00:55:35,707
Is it daily?

606
00:55:36,007 --> 00:55:36,127
Okay.

607
00:55:36,127 --> 00:55:36,907
Yeah, daily.

608
00:55:37,187 --> 00:55:37,327
Okay.

609
00:55:38,407 --> 00:55:38,727
Yep.

610
00:55:40,147 --> 00:55:43,187
Doesn't feel like it on my timeline, but we'll go with that.

611
00:55:43,187 --> 00:55:44,087
There's a lot, yeah.

612
00:55:44,227 --> 00:55:46,807
I mean, there's going to be lots who we don't see.

613
00:55:49,087 --> 00:55:49,807
Fair enough.

614
00:55:50,347 --> 00:55:54,307
But that said, so if it's 10,000 or 15,000 daily active users,

615
00:55:54,507 --> 00:55:57,467
that is hundreds of thousands, potentially even millions,

616
00:55:58,227 --> 00:56:03,247
of follows, unfollows, mutes, unmutes, potentially even reports,

617
00:56:03,247 --> 00:56:11,007
which means you this this this score has to be calculated every single time correct so it's like

618
00:56:11,687 --> 00:56:19,247
so how does the compute work in in this situation well let's see let me look right now so i've got

619
00:56:19,247 --> 00:56:29,907
um about six million is there no no about about 20 million followers i think is in the database

620
00:56:29,907 --> 00:56:39,727
right now, roughly, maybe a little bit more than that. And maybe about 300,000 or there about pub

621
00:56:39,727 --> 00:56:48,847
keys that are all connected by 20 million follows. And so, yeah, so how often, ideally, we would

622
00:56:48,847 --> 00:56:55,847
update those scores, you know, in real time. In practice, that's not going to be doable to do them

623
00:56:55,847 --> 00:57:00,427
in real time. And especially my prototype, I'm not updating them all the time. I'm just,

624
00:57:00,767 --> 00:57:07,487
you know, every, I'm just manually, I'll recalculate from scratch. You know, it might be

625
00:57:07,487 --> 00:57:13,527
every couple of weeks since this is only a prototype. But, you know, one of the big questions

626
00:57:13,527 --> 00:57:17,967
is going to be, what is the technology stack that we're going to use in order to do all these

627
00:57:17,967 --> 00:57:24,547
calculations? And so for a long time, I've pushed the idea that we really need to incorporate graph

628
00:57:24,547 --> 00:57:33,147
databases into, into Noster. Um, if, because in order to calculate Alice's score, I need to know

629
00:57:33,147 --> 00:57:40,267
everybody who follows and mutes and reports her. And if all I have is a, is a stir fry or, or, or

630
00:57:40,267 --> 00:57:46,247
just a, even, you know, just a Noster relay, then if I want to know everybody who follows Alice,

631
00:57:46,247 --> 00:57:53,007
I have to, I have to screen through every follow note that exists and see whether Alice is in that

632
00:57:53,007 --> 00:57:55,407
list and that takes way too long.

633
00:57:55,687 --> 00:58:00,347
Graph database is much more efficient at coming up with who,

634
00:58:00,427 --> 00:58:03,367
who is everybody who follows or mutual reports, or, you know,

635
00:58:03,387 --> 00:58:07,567
we're going to incorporate ZAPs at some point who, um, uh,

636
00:58:07,567 --> 00:58:11,127
whatever source of information, um, you know,

637
00:58:11,127 --> 00:58:17,127
a graph database is much more efficient at coming up with scores, uh,

638
00:58:17,187 --> 00:58:20,487
like this. And so how often, you know,

639
00:58:20,487 --> 00:58:27,867
I think that the service that we want to build will probably have a free tier that will calculate

640
00:58:27,867 --> 00:58:48,259
these scores on a very infrequent basis And then probably different paid tiers that are how frequently do you want these scores to be updated So for example a high priority would be if some high profile let say Jack Dorsey NSEC gets compromised

641
00:58:49,919 --> 00:58:59,039
Obviously, you know, he's got about 10 or 12,000 verified followers, if I remember correctly, according to my default grade rank studies.

642
00:58:59,039 --> 00:59:05,039
there's no you know there's no way that we're going to get 10 000 people to unfollow dorsey

643
00:59:05,039 --> 00:59:11,819
but what is going to happen is that he can tell his people who he knows in real life hey can you

644
00:59:11,819 --> 00:59:22,719
report this uh and this npub is being compromised and so um you know i so brainstorm potentially

645
00:59:22,719 --> 00:59:27,699
doesn't do this now but could have a service where we monitor whenever a high profile account

646
00:59:27,699 --> 00:59:39,119
starts getting reports, um, then it'll recalculate that score, that score, um, quickly. So, so you

647
00:59:39,119 --> 00:59:45,979
would hopefully, you know, so, so in, you know, in 60 seconds, you would see Dorsey's in pub gets,

648
00:59:46,319 --> 00:59:52,779
you know, the great rank score goes down to zero because five, 10, 20 people report, report them.

649
00:59:52,779 --> 01:00:01,799
So, yeah, so that's going to be a journey for us for Nosfabrica is figuring out what is technologically feasible.

650
01:00:01,999 --> 01:00:04,319
How quickly can these scores be recalculated?

651
01:00:04,939 --> 01:00:09,719
What are the technological limitations?

652
01:00:10,219 --> 01:00:12,379
That's something that we'll be discovering in the near future.

653
01:00:14,079 --> 01:00:21,739
And so you brought up a great example there, David, because that is like the catastrophic scenario for NOSTA, right?

654
01:00:21,739 --> 01:00:25,579
which is Jack Dorsey's NSEC gets breached,

655
01:00:25,839 --> 01:00:29,459
and then whoever has it now starts posting as Jack Dorsey

656
01:00:29,459 --> 01:00:31,339
about all sorts of things.

657
01:00:31,439 --> 01:00:35,179
Hey, click on this link to get, and I will, whatever,

658
01:00:35,459 --> 01:00:36,739
I will invest in your company.

659
01:00:37,119 --> 01:00:38,379
And then people start clicking on it,

660
01:00:38,399 --> 01:00:39,179
there's malicious links.

661
01:00:39,539 --> 01:00:42,959
So if you think about that type of scenario,

662
01:00:43,159 --> 01:00:44,799
you need a system to prevent that.

663
01:00:44,799 --> 01:00:49,419
That is, in real time, looking at the follows,

664
01:00:49,419 --> 01:00:54,679
mutes, reports, and so on, and calculating it over and over and over again, right, so that the score

665
01:00:54,679 --> 01:01:00,099
collapses to zero. If it's a system that does it once a week, I mean, that's one week in which this

666
01:01:00,099 --> 01:01:09,479
imposter, impersonator, has free reign, right, to pillage and plunder NOSTA users. So this is the

667
01:01:09,479 --> 01:01:14,439
magnitude of the problem we're talking about. I mean, just to highlight that for our listeners,

668
01:01:14,439 --> 01:01:24,759
each user might be following several hundred maybe even a thousand other people on NOSTA

669
01:01:24,759 --> 01:01:32,299
they might be followed by several thousand people on NOSTA so every time they follow or unfollow

670
01:01:32,299 --> 01:01:37,419
someone or someone follows or unfollows them or mutes or unmutes them or reports them

671
01:01:37,419 --> 01:01:40,499
and that could happen multiple times a day,

672
01:01:41,159 --> 01:01:42,359
their trust cost changes

673
01:01:42,359 --> 01:01:45,139
and that needs to be calculated.

674
01:01:45,399 --> 01:01:49,019
So if you do it in long, discrete intervals,

675
01:01:49,459 --> 01:01:53,359
there is a risk that bad actors have that time

676
01:01:53,359 --> 01:01:55,299
in between the calculation intervals

677
01:01:55,299 --> 01:01:56,639
to act with impunity.

678
01:01:58,539 --> 01:02:01,299
But then, so really what this becomes

679
01:02:01,299 --> 01:02:04,119
is a large computational challenge, right?

680
01:02:04,539 --> 01:02:06,839
Because this is a major, major calculation

681
01:02:06,839 --> 01:02:08,239
and someone's got to pay the bill.

682
01:02:08,339 --> 01:02:10,779
Someone's got to pay for the energy for these servers.

683
01:02:11,579 --> 01:02:13,379
So is this, so now again,

684
01:02:13,899 --> 01:02:15,919
so David, we get back to the situation

685
01:02:15,919 --> 01:02:17,719
where should it be one company,

686
01:02:18,019 --> 01:02:19,139
one entity that says,

687
01:02:19,319 --> 01:02:22,399
I will horizontally scale, all right?

688
01:02:22,419 --> 01:02:25,559
I will just keep adding server rack after server rack

689
01:02:25,559 --> 01:02:28,419
so that I can calculate these scores in real time.

690
01:02:28,519 --> 01:02:30,579
In that case, you know, you have this one monopoly

691
01:02:30,579 --> 01:02:32,859
that's doing all these calculations.

692
01:02:32,859 --> 01:02:36,219
If they become the de facto gatekeeper,

693
01:02:36,219 --> 01:02:39,299
So, I mean, the score metrics could be open source,

694
01:02:39,459 --> 01:02:41,899
but it's still one entity that's crunching the numbers.

695
01:02:44,139 --> 01:02:47,939
Or, and maybe this is the point that you were referring to

696
01:02:47,939 --> 01:02:50,239
that Odell was talking about, right,

697
01:02:50,679 --> 01:02:54,579
which is do we have a marketplace of multiple entities

698
01:02:54,579 --> 01:02:57,539
that say I can be the compute provider, right,

699
01:02:57,659 --> 01:02:59,119
for these core calculations?

700
01:02:59,119 --> 01:03:03,479
And then, of course, they will have their own trust scores, right?

701
01:03:03,499 --> 01:03:05,239
Someone's going to have to score the scorers.

702
01:03:06,219 --> 01:03:08,999
So I guess it's web of trust scores all the way down.

703
01:03:08,999 --> 01:03:09,639
It is all the way down.

704
01:03:10,739 --> 01:03:11,899
That's what we're talking about.

705
01:03:12,259 --> 01:03:18,179
So the answer is, yeah, the goal is not to rebuild Google.

706
01:03:18,359 --> 01:03:20,399
It's going to be the one company that calculates,

707
01:03:20,579 --> 01:03:22,199
because that's just centralized again.

708
01:03:22,899 --> 01:03:25,979
That's why these trust metrics need to be personalized.

709
01:03:26,319 --> 01:03:27,339
That's why they are personalized.

710
01:03:28,459 --> 01:03:30,979
And you ask, you know, who trusts the trusters?

711
01:03:31,059 --> 01:03:32,039
Who trusts the scorers?

712
01:03:32,479 --> 01:03:33,519
Ultimately, that's you.

713
01:03:33,519 --> 01:03:39,099
If the scores are personalized to Alice, then Alice is the center of her grapevine.

714
01:03:39,579 --> 01:03:41,779
She's always the center of her web of trust.

715
01:03:41,879 --> 01:03:43,219
I'm the center of my web of trust.

716
01:03:43,319 --> 01:03:44,219
You're the center of yours.

717
01:03:44,819 --> 01:03:53,559
And so ultimately, you're the one who you state whose trust score gets off of zero.

718
01:03:53,979 --> 01:03:57,079
And then it ripples out away from you.

719
01:03:57,539 --> 01:03:58,979
So who's going to be doing it?

720
01:03:59,339 --> 01:04:02,019
The way that Brainstorm works is that it's open source.

721
01:04:02,019 --> 01:04:09,499
any any bun can can run their own brainstorm instance um you know right you know you know

722
01:04:09,499 --> 01:04:15,719
this is why i'm so excited to be working with with you for you is because execution is everything

723
01:04:15,719 --> 01:04:26,339
this and and and it's way beyond me to do on my own but um but once this is executed well then

724
01:04:26,339 --> 01:04:31,559
it is the solution to like that problem the jack dorsey's compromised insect problem we were just

725
01:04:31,559 --> 01:04:41,979
talking about. This is how we rapidly address and realistically address that problem. And so,

726
01:04:42,179 --> 01:04:50,539
yeah, so every, imagine, ideally, I'd love it for everyone, every Nostra user to run an

727
01:04:50,539 --> 01:04:56,059
individualized brainstorm instance, which means that you have an app on your phone that does all

728
01:04:56,059 --> 01:05:01,219
the calculations locally, monitors all the information, updates them in real time.

729
01:05:02,159 --> 01:05:04,359
That would be the ideal.

730
01:05:04,539 --> 01:05:09,979
Now, I think of running a brainstorm instance as like running a Nostra Relay.

731
01:05:10,259 --> 01:05:14,279
It'd be great if everyone has a personal realized relay, but realistically, that's not going

732
01:05:14,279 --> 01:05:14,579
to happen.

733
01:05:14,679 --> 01:05:19,719
And that's okay for that to be the case, which is why actually Cloudflotter is the one who

734
01:05:19,719 --> 01:05:25,559
gave me this idea, who is the creator of Relay Tools, which, by the way, imports, currently

735
01:05:25,559 --> 01:05:34,239
imports a whitelist that's created by a brainstorm instance. Talk to him about that. But he gave me

736
01:05:34,239 --> 01:05:40,919
the idea that a brainstorm instance should not only calculate the personalized scores of the

737
01:05:40,919 --> 01:05:48,139
owner and operator of the instance, but also for a list of other people so that you don't have to

738
01:05:48,139 --> 01:05:52,859
run your own brainstorm instance. Someone else can do it as a service or maybe just someone who's

739
01:05:52,859 --> 01:05:57,959
a friend of yours, or maybe someone can do it for you, who you trust for whatever reason.

740
01:05:58,419 --> 01:06:03,219
So I want to see a world where there is no one big corporation doing all this.

741
01:06:04,259 --> 01:06:12,939
I'd like to see lots of people running brainstorm instances that will be maybe forks or just

742
01:06:12,939 --> 01:06:16,739
open source that we are going to start rebuilding from scratch soon.

743
01:06:16,739 --> 01:06:30,479
I would like to see other companies create alternatives to what we are creating in Nosfabrica.

744
01:06:30,839 --> 01:06:39,199
I would love it for Primal to build their own third-party service provider, which will calculate personalized trust metrics.

745
01:06:40,799 --> 01:06:43,179
We have Vertex.

746
01:06:43,179 --> 01:06:50,819
And I think we are in a position where a rising tide lifts all boats.

747
01:06:51,499 --> 01:06:55,179
NOSTER needs to have personalized trust metrics.

748
01:06:55,759 --> 01:07:03,279
They need to be sophisticated, which means they need to be calculated by sophisticated service providers.

749
01:07:03,859 --> 01:07:07,279
We need the ability to run them individually.

750
01:07:08,099 --> 01:07:13,039
But we also need to have it where we don't have to do that.

751
01:07:13,179 --> 01:07:19,599
others, because realistically, not everyone's going to do that. Once we all, once Nostra starts

752
01:07:19,599 --> 01:07:26,099
to have personalized trust metrics that are available to everyone, and that can be conveyed

753
01:07:26,099 --> 01:07:30,339
throughout Nostra, because I want a consistent experience, I want the same follower count

754
01:07:30,339 --> 01:07:37,039
that I see on Primal to be the follower count that I see on Coracle, or Amethyst, or anywhere else.

755
01:07:37,039 --> 01:07:50,059
Once all that infrastructure is built, then I think that is going to be what is going to bring, that's what's going to get us past 10 or 15,000 daily users.

756
01:07:50,399 --> 01:07:56,079
Because obviously our vision is we want that to go up by many orders of magnitude.

757
01:07:56,899 --> 01:08:06,779
And so, yeah, I'm very excited for us, for Nosfabrica to be hopefully showing the way for how we can build that.

758
01:08:07,039 --> 01:08:13,879
now absolutely exciting times david but there you know this question came up

759
01:08:13,879 --> 01:08:19,719
on uh in the conversation qw and i had with franz app a couple of weeks back

760
01:08:19,719 --> 01:08:25,179
which is we're talking about scores here right and when we and we're taking great pace to say

761
01:08:25,179 --> 01:08:31,439
these are personalized scores user choice all of that good stuff however there will still be people

762
01:08:31,439 --> 01:08:36,039
who we're talking about filtering people based on rank based on score we're going to say

763
01:08:36,039 --> 01:08:42,199
is this some kind of well-disguised social credit score?

764
01:08:42,579 --> 01:08:45,159
What would your rebuttal to that be?

765
01:08:45,539 --> 01:08:47,639
So that's a question that comes up a lot,

766
01:08:47,779 --> 01:08:49,479
and it is a fair question

767
01:08:49,479 --> 01:08:55,719
because we obviously don't want a CCP-style social credit score.

768
01:08:56,419 --> 01:08:59,799
And I would say it's like Bitcoin.

769
01:08:59,799 --> 01:09:02,459
Bitcoin and fiat are not the same thing.

770
01:09:02,459 --> 01:09:09,499
the the different they're both you know money or trying to be money but it's centralized version

771
01:09:09,499 --> 01:09:16,879
versus a decentralized version and a social credit score is like a centralized reputation system but

772
01:09:16,879 --> 01:09:21,859
we're not building a centralized reputation system we're building a personalized trust metric system

773
01:09:21,859 --> 01:09:27,899
so it is decentralized so i i think the concerns about social credit score are

774
01:09:27,899 --> 01:09:32,399
are worthy. It's worth thinking about how we don't want to build that.

775
01:09:33,179 --> 01:09:38,179
The reason that social credit scores are so bad is because we don't have control over them.

776
01:09:38,719 --> 01:09:44,579
We don't know how they're calculated and we don't have control over what they do with those

777
01:09:44,579 --> 01:09:49,759
scores. But a personalized, you know, if you're the one who's calculating the matrix,

778
01:09:50,379 --> 01:09:56,279
you are the person who ultimately has control over how the algorithms work

779
01:09:56,279 --> 01:09:59,039
and what they mean and what they do

780
01:09:59,039 --> 01:10:01,039
and what you do with them.

781
01:10:02,479 --> 01:10:05,919
So I guess that would be my answer to that issue.

782
01:10:07,019 --> 01:10:07,399
Yeah.

783
01:10:08,059 --> 01:10:09,299
It's opt-in, right?

784
01:10:09,359 --> 01:10:09,919
It's voluntary.

785
01:10:10,179 --> 01:10:12,519
Socialized, or rather,

786
01:10:13,219 --> 01:10:25,171
social credit scores are coercive You don have a choice I think that a fundamental difference And also to your point David it in the user hands how the calculation happens

787
01:10:26,511 --> 01:10:32,071
So we have another bit of big breaking news, David, apart from the fact that you're joining

788
01:10:32,071 --> 01:10:33,271
Nosfabrica as a co-founder.

789
01:10:34,591 --> 01:10:39,151
Do you want to talk about what we're calling the what-a-thon?

790
01:10:40,031 --> 01:10:40,891
Yes, absolutely.

791
01:10:40,891 --> 01:10:50,431
So I'm, yeah, I'm very excited about what I think will be Nostra's first Web of Trust hackathon.

792
01:10:50,971 --> 01:10:53,591
Have there been any other ones that you know of?

793
01:10:53,591 --> 01:10:55,031
I don't know of any.

794
01:10:55,031 --> 01:11:18,971
But yeah, we will be, I think we, our goal is by, um, by November, uh, certainly before Thanksgiving to have the details out of a, not of a web of trust hackathon or a what-a-thon, um, that, uh, it'll be, it'll be Nos Fabrica's second hackathon.

795
01:11:18,971 --> 01:11:36,411
And so, yeah, I think that we will have rewards just like the first one, probably more, hopefully more stats than the first hackathon.

796
01:11:36,411 --> 01:11:44,051
But, you know, we want to get people building Web of Trust solutions.

797
01:11:45,231 --> 01:11:52,191
And one of our messages, our first message is going to be we need to have third party service providers.

798
01:11:53,451 --> 01:12:00,031
And so I think, you know, we haven't decided exactly how we're going to define the Wattathon.

799
01:12:00,031 --> 01:12:14,131
But I think any submission that would either use trust scores that are calculated by a service provider or perhaps a service provider that is creating scores.

800
01:12:15,551 --> 01:12:27,971
So right now, and a major drive for us is going to be to encourage integration of trusted assertions.

801
01:12:27,971 --> 01:12:32,371
So once again, this is Vitor's NIP85 Trusted Assertions.

802
01:12:32,991 --> 01:12:35,371
They are personalized trust metrics.

803
01:12:36,391 --> 01:12:45,911
And right now, the only creator of these trusted assertions that I know of are mine, are from my brainstorm instance.

804
01:12:46,491 --> 01:12:50,151
Hopefully, we'll get some other creators of trusted assertions.

805
01:12:50,151 --> 01:12:58,851
but I would love to see multiple clients using personalized trust metrics by

806
01:12:58,851 --> 01:13:04,531
accessing them from, from these kind 30382 notes.

807
01:13:05,191 --> 01:13:07,771
Now the, one of the things I like about,

808
01:13:07,971 --> 01:13:11,271
I think it was about a year ago when the Vitor authored this net.

809
01:13:11,531 --> 01:13:16,571
One of the things I like about it is that one is that it names several different

810
01:13:16,571 --> 01:13:19,631
scores. And the first one that it names is, is rank.

811
01:13:20,151 --> 01:13:22,671
which is a score between zero and 100.

812
01:13:23,271 --> 01:13:28,951
And the NIP is agnostic on how exactly rank is calculated

813
01:13:28,951 --> 01:13:30,511
or what precisely it means.

814
01:13:30,991 --> 01:13:35,751
But this is one of those things that's just fundamentally very important.

815
01:13:35,751 --> 01:13:40,831
We need a score that's between zero and 100 or zero and one,

816
01:13:41,431 --> 01:13:46,271
because then we can use it as a weight for all sorts of purposes.

817
01:13:46,271 --> 01:13:52,911
if you want to calculate a weighted average or a weighted sum like how many votes exist for

818
01:13:52,911 --> 01:14:02,431
for something then you can use a rank you can you can pull the rank score from trusted assertions

819
01:14:02,431 --> 01:14:06,911
and use that as the weight you can't this is one of the down one of the reasons that

820
01:14:06,911 --> 01:14:14,491
the shortcomings of page rank is that if you use page rank as a weight then it's going to give

821
01:14:14,491 --> 01:14:20,251
Jack Dorsey way, way more weight than anybody else in Noster. We don't want that. The great rank

822
01:14:20,251 --> 01:14:29,231
score will limit, the more people follow you than the higher score gets, but it asymptotically

823
01:14:29,231 --> 01:14:39,171
approaches one or 100% if we multiply by 100. And so trusted assertions has a rank score,

824
01:14:39,351 --> 01:14:43,411
which is between zero and one. Pretty much if it's a one, then it means that you're a real user.

825
01:14:43,411 --> 01:14:49,111
if you're a zero you can ignore it if it's somewhere in between then probably a real user but

826
01:14:49,111 --> 01:14:57,411
not 100 confident so i would love to see multiple clients uh integrating

827
01:14:57,411 --> 01:15:08,671
trusted assertions and um once that is done then i think that will encourage more teams

828
01:15:08,671 --> 01:15:14,351
to start publishing scores using NIP85.

829
01:15:15,771 --> 01:15:22,831
So, David, we're going to be running this hackathon,

830
01:15:23,051 --> 01:15:26,951
hopefully starting early November,

831
01:15:27,451 --> 01:15:30,731
running it for about six months, factoring in the holidays,

832
01:15:30,731 --> 01:15:33,331
where there's the Thanksgiving break, there's the Christmas, New Year's break,

833
01:15:33,331 --> 01:15:38,771
maybe till early May and end of April, something like that.

834
01:15:39,611 --> 01:15:43,471
And as you were hinting, and maybe we won't give too much away,

835
01:15:44,531 --> 01:15:47,591
the previous hackathon had a bounty for 16 million sats.

836
01:15:47,751 --> 01:15:52,051
This may or may not be significantly more than that.

837
01:15:52,531 --> 01:15:53,671
We'll stay tuned for that.

838
01:15:53,671 --> 01:15:54,131
I'm confident.

839
01:15:57,771 --> 01:16:03,031
But what do you think at the end of those six months

840
01:16:03,031 --> 01:16:06,751
would be, from your perspective,

841
01:16:07,231 --> 01:16:10,571
a successful outcome of the hackathon?

842
01:16:10,571 --> 01:16:14,571
Or, you know, what do you think the winner...

843
01:16:15,471 --> 01:16:16,831
Well, actually, let's not do that

844
01:16:16,831 --> 01:16:18,991
because we could lead the witness there.

845
01:16:19,271 --> 01:16:22,091
Yeah, what does success look like for the whatathon?

846
01:16:24,451 --> 01:16:28,351
Well, so I would like to see, you know,

847
01:16:28,371 --> 01:16:30,531
obviously lots of different clients

848
01:16:30,531 --> 01:16:35,051
incorporating personalized trust scores from trusted assertions.

849
01:16:36,651 --> 01:16:44,211
I hope that we will start to communicate a roadmap

850
01:16:44,211 --> 01:16:46,691
to building Web of Trust in Nostra in general.

851
01:16:47,231 --> 01:16:49,051
I think there's lots of pent-up energy.

852
01:16:49,291 --> 01:16:53,091
People want to build Web of Trust solutions, but not really sure how.

853
01:16:53,091 --> 01:16:56,171
And so a success would be if we can communicate,

854
01:16:56,471 --> 01:16:58,291
here's a roadmap for doing it,

855
01:16:58,291 --> 01:17:01,331
and there are going to be lots of different players.

856
01:17:01,511 --> 01:17:05,371
There's going to be the clients that use the scores.

857
01:17:05,611 --> 01:17:07,951
There's going to be the service providers that create the scores.

858
01:17:08,391 --> 01:17:11,771
There's going to be multiple methods to communicate those scores.

859
01:17:12,511 --> 01:17:14,271
Trusted assertions is only one method.

860
01:17:15,111 --> 01:17:20,151
There are use cases where an API-type method is better,

861
01:17:20,151 --> 01:17:24,031
such as, you know, FranzApps, Web of Trust, DVM,

862
01:17:24,151 --> 01:17:26,211
or some other API-type method.

863
01:17:26,211 --> 01:17:53,871
So I think success would be that people start to, I want it to click in people's heads. Aha, this is how it can actually work. We can move from just a pie in the sky idea to nuts and bolts. Here's how we actually built it. That's what I would see as success as people are confident in this roadmap that we'll be providing.

864
01:17:56,211 --> 01:18:23,291
I think what would be amazing from my perspective, maybe this is hoping for too much for something that's so early stage, is if one of the major Nostra clients like Primal or Amethyst or Darmus or Nostra, I mean, any of them, Nostrudel, one or more of them joined the hackathon or sent a delegation.

865
01:18:23,291 --> 01:18:27,211
and at the end of it incorporated

866
01:18:27,211 --> 01:18:29,311
in a completely transparent way

867
01:18:29,311 --> 01:18:32,391
this web of trust methodology

868
01:18:32,391 --> 01:18:34,851
into whatever they develop, right,

869
01:18:34,911 --> 01:18:35,871
into their client.

870
01:18:36,231 --> 01:18:38,671
I think that would be an amazing outcome.

871
01:18:39,291 --> 01:18:40,371
So I hope if you're listening,

872
01:18:40,691 --> 01:18:43,431
Milian, Vitor, well, Vitor is listening, I'm sure.

873
01:18:43,431 --> 01:18:43,611
Yes.

874
01:18:44,931 --> 01:18:48,831
Will and others think about that.

875
01:18:49,271 --> 01:18:50,091
Give that some thought.

876
01:18:50,891 --> 01:18:51,271
Absolutely.

877
01:18:51,271 --> 01:18:58,131
I would love to see a major, multiple major clients to integrate, integrate this.

878
01:18:58,271 --> 01:19:04,691
And I would also, like I was saying earlier, I would love it for one, you know, maybe Primal would like to create.

879
01:19:05,071 --> 01:19:13,751
I've wondered what would be the thought process if I were, you know, in Million's Shoes, Odell's or just the entire Primal team.

880
01:19:13,751 --> 01:19:21,931
I can understand that they might want to create their own, calculate their own scores internally.

881
01:19:22,251 --> 01:19:25,391
They certainly are already going to have all the data available to them.

882
01:19:26,731 --> 01:19:38,411
I would encourage that if they calculate personalized trust metrics, then they should make those trust metrics available throughout NOSTER.

883
01:19:38,411 --> 01:19:43,031
Just because that's the only way that NOSTER is going to survive and thrive.

884
01:19:43,031 --> 01:19:54,511
So, yeah, I would love to see them integrate scores and even I would also love to see them creating their own personalized trust metric providers.

885
01:19:54,691 --> 01:19:55,471
That would be exciting.

886
01:19:57,391 --> 01:19:59,991
Yeah, for sure.

887
01:20:00,891 --> 01:20:05,811
And, you know, we've been talking about the what-a-thon from the perspective of developers.

888
01:20:05,811 --> 01:20:10,151
but how can the broader Nostra community

889
01:20:10,151 --> 01:20:12,631
beyond just the developers we've been talking about

890
01:20:12,631 --> 01:20:15,111
it could be product people, it could be content creators

891
01:20:15,111 --> 01:20:17,131
it could be memers even

892
01:20:17,131 --> 01:20:21,171
how could they get involved in this water-throw?

893
01:20:22,911 --> 01:20:24,851
That's a good question

894
01:20:24,851 --> 01:20:28,471
I'd say join in on the conversation

895
01:20:28,471 --> 01:20:32,411
tell developers

896
01:20:32,411 --> 01:20:34,571
what features you'd like to see

897
01:20:34,571 --> 01:20:40,571
what kinds of scores you'd like to see. Eventually we're, you know, our scores that we develop are

898
01:20:40,571 --> 01:20:47,611
not going to be just simply bought or not. They're going to be contextual scores. Um, you know,

899
01:20:47,651 --> 01:20:53,091
my grapevine tells me this is a doctor and my grapevine tells me this is a, here's a list of,

900
01:20:53,091 --> 01:21:00,971
of end pubs that sell, you know, leather goods or whatever you're interested in. So,

901
01:21:00,971 --> 01:21:08,191
So there's going to be lots of, so users can just voice what applications do they want to see.

902
01:21:10,051 --> 01:21:10,951
I don't know.

903
01:21:11,351 --> 01:21:19,431
Maybe we have to make the case to developers first so that we can start building some of these so then people can start to see what's possible.

904
01:21:23,691 --> 01:21:26,111
Yeah, that makes sense, David.

905
01:21:26,111 --> 01:21:32,771
But I actually want to go back to the scores themselves and Brainstorm specifically, right?

906
01:21:33,231 --> 01:21:45,211
It's worth pointing out that the three signals that we'd mentioned, Brainstorm uses, mutes, follows, and reports, that's not the be-all or end-all, right?

907
01:21:45,211 --> 01:21:47,591
That is part of the prototype, right, David?

908
01:21:47,591 --> 01:21:52,591
because I mean, to calculate a score,

909
01:21:52,791 --> 01:21:56,311
you as a developer can take a much broader view

910
01:21:56,311 --> 01:22:08,943
and say well where is the economic element of this Why are we not waiting zaps Why are we not looking at the replies that they get And you could take it even one level deeper

911
01:22:09,043 --> 01:22:11,843
saying not just the fact that a reply exists,

912
01:22:12,263 --> 01:22:14,583
let me look at the text of the reply,

913
01:22:14,583 --> 01:22:17,723
use an LLM to parse the sentiment in it.

914
01:22:18,143 --> 01:22:19,863
So you could take this anyway.

915
01:22:20,623 --> 01:22:21,983
And correct me if I'm wrong, David,

916
01:22:22,123 --> 01:22:24,083
but Brainstorm provides the scaffolding

917
01:22:24,083 --> 01:22:28,343
to extend those signals beyond just the three you have today, correct?

918
01:22:28,463 --> 01:22:29,483
That's absolutely correct.

919
01:22:30,023 --> 01:22:33,223
The GrapeRank algorithm was designed specifically

920
01:22:33,223 --> 01:22:37,743
to be able to incorporate data from wherever you can find it.

921
01:22:39,163 --> 01:22:45,223
So the first step in GrapeRank is what I call interpretation.

922
01:22:45,863 --> 01:22:50,043
You take a source of data, which could be follows and mutes and reports,

923
01:22:50,043 --> 01:22:57,563
or it could be zaps or it could be reactions or badges or labels or whatever.

924
01:22:58,383 --> 01:23:02,923
The data needs to be available to you and it needs to be relevant to whatever score you're

925
01:23:02,923 --> 01:23:03,623
trying to calculate.

926
01:23:04,183 --> 01:23:09,803
So the first step in interpretation is that someone needs to write a script that takes

927
01:23:09,803 --> 01:23:17,963
the raw data and then converts that into a format that is convenient for the Grape Rank

928
01:23:17,963 --> 01:23:18,403
algorithm.

929
01:23:18,403 --> 01:23:25,763
and uh uh you know manny me and i spent a long time earlier this year maybe the end of last year

930
01:23:25,763 --> 01:23:32,903
going over the deep you know working out how does a grape rank calculator uh do you know what's the

931
01:23:32,903 --> 01:23:40,843
format that it needs to be in that can be generic enough to um to work for any data source and and

932
01:23:40,843 --> 01:23:45,143
i think we we came up with i think we've answered i think we have the scaffolding we have a roadmap

933
01:23:45,143 --> 01:23:51,263
out for how that works. Um, you know, man, he's actually the first person to take a stab at make

934
01:23:51,263 --> 01:23:59,803
at having an open source, a great rank calculator library. Um, and so if you want, if you don't like

935
01:23:59,803 --> 01:24:07,803
follows, if you'd rather use zaps, then that is very doable. Um, some, and, and, you know, like,

936
01:24:07,843 --> 01:24:13,223
like I, I think I mentioned that follows and mutes and reports on my, the way it's currently

937
01:24:13,223 --> 01:24:18,903
implemented on my prototype, they have different weights. But those weights are configurable on the

938
01:24:18,903 --> 01:24:26,223
back end. And so you might say, I trust Zaps more than a follow because it's money, it's skin of the

939
01:24:26,223 --> 01:24:35,703
game. Or you might say, I trust Zaps less because they can be spoofed. And that's up to you as the

940
01:24:35,703 --> 01:24:42,583
user. Your value system, your beliefs don't have to be the same as everyone else's or anybody else's.

941
01:24:43,223 --> 01:24:49,743
So, yeah, so every piece of data that's out there will be usable by great way.

942
01:24:51,323 --> 01:24:56,883
So let's actually talk about how that manifests itself into the user experience.

943
01:24:58,023 --> 01:25:01,723
Well, the step before the user actually starts seeing stuff on their feed.

944
01:25:02,163 --> 01:25:06,363
We're talking about configuring weights, adding more signals, right?

945
01:25:06,363 --> 01:25:13,243
Maybe complex signals even, like analyzing the text of a reply to see if it's trollish or happy or whatever.

946
01:25:14,363 --> 01:25:18,563
This clearly is something a developer would have to build out.

947
01:25:19,943 --> 01:25:22,423
So how would it present to the user?

948
01:25:22,543 --> 01:25:30,283
Would they have, for example, they open their favorite client, they go to the settings, and then there's a toggle saying, show me only happy stuff or whatever.

949
01:25:30,283 --> 01:25:35,503
show me something they'd have some options they could choose from to,

950
01:25:35,643 --> 01:25:37,523
I guess, tailor the experience.

951
01:25:38,363 --> 01:25:42,623
The way I would envision that working is that as first you would go to the

952
01:25:42,623 --> 01:25:43,463
service provider.

953
01:25:43,743 --> 01:25:47,523
So the brainstorm instance or whatever third party service provider

954
01:25:47,523 --> 01:25:49,483
calculates the trust scores.

955
01:25:49,603 --> 01:25:51,703
And you would, you would say, okay, I want these,

956
01:25:52,183 --> 01:25:55,463
I want to calculate these 10 scores.

957
01:25:55,903 --> 01:25:59,283
And, you know, first score is just the baseline great rank score.

958
01:25:59,283 --> 01:26:03,643
But then I want another one that is the score that has a different meaning, something else.

959
01:26:04,103 --> 01:26:07,203
And then those scores could have parameters that you can adjust.

960
01:26:07,443 --> 01:26:12,163
And you can dig into the weeds and adjust all the parameters if you want.

961
01:26:12,303 --> 01:26:18,643
Or maybe right now, my prototype, there's like 15 different parameters.

962
01:26:18,803 --> 01:26:19,583
It's way too much.

963
01:26:19,963 --> 01:26:23,043
And so in order to simplify it, I just have three presets.

964
01:26:23,363 --> 01:26:24,163
There's the default.

965
01:26:24,703 --> 01:26:28,923
And then there's the, do you want to cast a wider net or do you want to cast a narrower net?

966
01:26:28,923 --> 01:26:42,083
So three different options. And so, so first the user would go to wherever the scores are calculated and decide what scores to calculate and how and what parameters are configurable.

967
01:26:42,083 --> 01:26:52,023
and then you could go to the user would go to let's say uh you know amethyst and say i want my um

968
01:26:52,023 --> 01:26:58,483
i want to see my followers list my list of followers and i want to i want to see stratify

969
01:26:58,483 --> 01:27:06,183
them by you know the score what number five whatever you know i i want to use my grapevine

970
01:27:06,183 --> 01:27:09,063
and so that you have a selector.

971
01:27:09,263 --> 01:27:12,303
So I want to pull scores from my personalized to me

972
01:27:12,303 --> 01:27:16,603
and then my grapevine has these 10 scores

973
01:27:16,603 --> 01:27:20,223
that are output by my service provider

974
01:27:20,223 --> 01:27:21,923
and I select this one right here

975
01:27:21,923 --> 01:27:23,883
and this is the one that I want to show up

976
01:27:23,883 --> 01:27:25,083
throughout Amethyst.

977
01:27:25,923 --> 01:27:29,643
So that would be, yeah.

978
01:27:29,883 --> 01:27:34,503
So the complexity would be spread apart

979
01:27:34,503 --> 01:27:37,323
the service provider and then the client that integrates the scores.

980
01:27:37,583 --> 01:27:40,363
And then someone would need to, you know,

981
01:27:40,383 --> 01:27:43,543
you would need a developer to actually create the algorithm.

982
01:27:44,343 --> 01:27:48,023
And that could be the service provider.

983
01:27:49,023 --> 01:27:51,383
That's something else that, you know,

984
01:27:51,763 --> 01:27:54,043
Manny and I spend a lot of time thinking about.

985
01:27:54,143 --> 01:27:58,903
How do we separate all of these complex steps into different modules

986
01:27:58,903 --> 01:28:01,063
so that different people can do the different modules?

987
01:28:01,063 --> 01:28:04,423
The interpretation step is one that,

988
01:28:04,503 --> 01:28:14,943
All you need is one developer to write a script that inputs zaps and outputs the scores in a format that's ready for great rank.

989
01:28:15,043 --> 01:28:17,723
And then everyone in Nostra could use that script.

990
01:28:21,343 --> 01:28:26,843
And then someone else could say, oh, you didn't take the time, you know, how old it is into account.

991
01:28:26,943 --> 01:28:28,063
I'm going to write a new script.

992
01:28:28,063 --> 01:28:33,583
So then someone else, another developer writes a script that takes something like that into account.

993
01:28:34,503 --> 01:28:43,983
so all all of that to say david you know six months down the road at the end of the hackathon

994
01:28:43,983 --> 01:28:49,043
and maybe around this time next year we have to give these things of a few months to breathe

995
01:28:49,043 --> 01:28:56,483
nostr could be a very different place the user experience could be much improved uh nostr already

996
01:28:56,483 --> 01:29:02,183
is a happy place maybe it'll be an even happier place a year from now it could be very very

997
01:29:02,183 --> 01:29:09,243
different a year from now. I want us to prove that Web of Trust can do things that we didn't

998
01:29:09,243 --> 01:29:17,443
even think were possible. And so your earlier question, what would success be? So specific

999
01:29:17,443 --> 01:29:23,603
things I'd like to see from the hackathon. One is that I want to see keyword search for either

1000
01:29:23,603 --> 01:29:30,503
for users or for content where the search results are stratified using great rank scores that are

1001
01:29:30,503 --> 01:29:38,983
fetched using trusted assertions. Um, another, another thing that I'd like to see is lists that

1002
01:29:38,983 --> 01:29:46,083
are curated in a purely decentralized fashion. And, and I just, this last week or two have been,

1003
01:29:46,083 --> 01:29:51,683
you know, we've been talking internally about, uh, a decentralized list NIP that would be an

1004
01:29:51,683 --> 01:29:58,583
alternative to, um, NIP 51. And, uh, and we're still crafting that, but I actually just, um,

1005
01:29:58,583 --> 01:30:05,423
you know, posted about that last night. Uh, you can link to my current version of it. I would love

1006
01:30:05,423 --> 01:30:13,763
it so that my grapevine, so I could say, I want a list of, um, all the coffee shops in my hometown.

1007
01:30:13,863 --> 01:30:21,163
And then anybody can add a list. I can add an item on that list. And then we use web of trust to

1008
01:30:21,163 --> 01:30:28,523
get, to eliminate the spam from that list. And maybe even to boost contributions made from

1009
01:30:28,523 --> 01:30:35,723
coffee aficionados or someone who I trust for that. For starters, it would only be we want to

1010
01:30:35,723 --> 01:30:41,423
get rid of all the contributions made by spammers. So now I've got a list of all the coffee shops

1011
01:30:41,423 --> 01:30:48,003
that is a list of whatever that I'm interested in that is curated in a purely decentralized fashion.

1012
01:30:48,703 --> 01:30:56,203
That would be, that's a very important building block. Suppose you have a list of NOSRA developers

1013
01:30:56,203 --> 01:31:02,343
and if you know who curates the list nobody everybody you know that um and now i want to

1014
01:31:02,343 --> 01:31:09,823
have a list of nips for example um but i don't want so i don't want bots to curate the list of

1015
01:31:09,823 --> 01:31:16,283
nips but i also don't want every nostre user to curate the list of nips i only want um nostre

1016
01:31:16,283 --> 01:31:24,783
developers to curate the list of nips so once we can curate lists in a purely decentralized fashion

1017
01:31:24,783 --> 01:31:26,683
and start daisy-chaining them.

1018
01:31:27,543 --> 01:31:34,063
So this list of pubkeys curates a different list of pubkeys

1019
01:31:34,063 --> 01:31:37,563
that list A, list B, list C,

1020
01:31:38,163 --> 01:31:40,423
then it can be as complex as we want it to be

1021
01:31:40,423 --> 01:31:48,043
and start to really start doing some sophisticated things.

1022
01:31:50,043 --> 01:31:52,623
You know, you're talking about daisy-chain lists,

1023
01:31:52,623 --> 01:31:55,083
a great abstraction of that

1024
01:31:55,083 --> 01:31:59,303
is places that accept Bitcoin across the world.

1025
01:31:59,583 --> 01:32:02,883
A problem that the folks at BTC Map are trying to solve.

1026
01:32:03,003 --> 01:32:05,103
I wonder if there's something there.

1027
01:32:06,783 --> 01:32:09,103
Yeah, so let's say you just have a list,

1028
01:32:09,263 --> 01:32:09,883
create a list.

1029
01:32:10,243 --> 01:32:13,383
So right now I'm calling it NIP 93, I think is,

1030
01:32:14,183 --> 01:32:15,743
I just call it decentralized lists.

1031
01:32:15,743 --> 01:32:20,403
So it's as simple as I could possibly make it.

1032
01:32:20,403 --> 01:32:26,103
you'd issue a kind 9998 event, which would be a list header,

1033
01:32:26,223 --> 01:32:30,023
a list of places that accept Bitcoin throughout the world.

1034
01:32:30,823 --> 01:32:35,723
And the description would say that these are places that accept Bitcoin

1035
01:32:35,723 --> 01:32:38,263
as a lightning, whatever.

1036
01:32:39,463 --> 01:32:43,803
And then anybody would be able to contribute an item to that list,

1037
01:32:43,803 --> 01:32:45,883
which is a kind 9999 event.

1038
01:32:45,883 --> 01:32:51,503
you could specify in the list header that the description needs to have

1039
01:32:51,503 --> 01:32:53,243
coordinates on a map or something like that.

1040
01:32:53,243 --> 01:33:01,283
But yeah, so imagine that being possible.

1041
01:33:01,643 --> 01:33:08,703
And then we make sure that no spammers can add to that list using just

1042
01:33:08,703 --> 01:33:10,523
great rank scores.

1043
01:33:10,823 --> 01:33:13,643
Then yeah, that would be a simple enough thing.

1044
01:33:13,643 --> 01:33:24,443
If you want a daisy chain, then would you want a list of Bitcoiners as opposed to a list of any Nostra users to curate that list? I don't know.

1045
01:33:28,183 --> 01:33:39,843
Yeah, lots to look forward to, both from building as a builder, but also as an end user with all these tools and user experiences down the pike.

1046
01:33:39,843 --> 01:33:44,843
David, where are you past the 90 minute mark?

1047
01:33:44,895 --> 01:33:49,855
But you are on your way to a special place, aren't you, David?

1048
01:33:49,975 --> 01:33:50,335
Yes.

1049
01:33:50,535 --> 01:33:52,355
I'll be going to Nostra Valley.

1050
01:33:53,615 --> 01:33:57,735
I think, yeah, you mentioned that at the beginning of this podcast.

1051
01:33:57,995 --> 01:33:59,255
That's one of the events coming up.

1052
01:33:59,295 --> 01:33:59,995
I'm very excited.

1053
01:34:01,595 --> 01:34:04,155
Yeah, Derek Ross, Seth in charge of it.

1054
01:34:04,375 --> 01:34:06,355
This is the second annual Nostra Valley.

1055
01:34:06,355 --> 01:34:10,395
I didn't go to the first one, but I'm excited to go to this one,

1056
01:34:10,675 --> 01:34:12,735
and I'll be catching up with people.

1057
01:34:12,735 --> 01:34:16,515
and yeah, so I'll be,

1058
01:34:16,955 --> 01:34:18,675
I'm going to hopefully make it there

1059
01:34:18,675 --> 01:34:20,695
for their meetup tonight

1060
01:34:20,695 --> 01:34:23,355
or if not, then I'll definitely be there tomorrow.

1061
01:34:24,875 --> 01:34:27,415
So folks who are listening on the live stream,

1062
01:34:27,795 --> 01:34:30,215
if you have more questions for David,

1063
01:34:30,375 --> 01:34:31,635
make sure you head on over

1064
01:34:31,635 --> 01:34:33,175
to State College, Pennsylvania.

1065
01:34:33,475 --> 01:34:34,955
You might be able to catch him this evening.

1066
01:34:35,495 --> 01:34:37,855
If you are listening to this episode

1067
01:34:37,855 --> 01:34:39,455
on Saturday the day,

1068
01:34:39,915 --> 01:34:40,935
Saturday the 18th,

1069
01:34:40,935 --> 01:34:41,995
the day it is released,

1070
01:34:41,995 --> 01:34:44,555
there's probably still a chance to catch

1071
01:34:44,555 --> 01:34:46,715
David at the event, the main event

1072
01:34:46,715 --> 01:34:48,095
itself, but

1073
01:34:48,095 --> 01:34:50,595
if you're listening to this on Sunday, Monday

1074
01:34:50,595 --> 01:34:51,655
Tuesday, etc

1075
01:34:51,655 --> 01:34:54,435
you are fresh out of luck

1076
01:34:54,435 --> 01:34:54,975
my friend

1077
01:34:54,975 --> 01:34:58,175
so David, I will post

1078
01:34:58,175 --> 01:35:00,595
the links to some of your most

1079
01:35:00,595 --> 01:35:02,795
recent articles on the topic in the show notes

1080
01:35:02,795 --> 01:35:04,895
is there anything else

1081
01:35:04,895 --> 01:35:05,615
you want to plug?

1082
01:35:06,555 --> 01:35:08,975
No, I just want to

1083
01:35:08,975 --> 01:35:11,055
reiterate how excited I am to be joining

1084
01:35:11,055 --> 01:35:26,233
this team I kind of the dreamer but you all are the builders yeah I very excited about rebuilding Brainstorm from scratch and I excited about the hackathon

1085
01:35:26,233 --> 01:35:30,353
So one of the links that maybe you'll put in the show notes is just ideas

1086
01:35:30,353 --> 01:35:34,313
on how you could incorporate NIP85,

1087
01:35:34,753 --> 01:35:39,233
and that could be your entry into the what-a-thon.

1088
01:35:41,753 --> 01:35:42,853
Yeah, for sure.

1089
01:35:43,813 --> 01:35:44,333
Great.

1090
01:35:44,333 --> 01:35:56,673
Well, David, thank you for taking the time and educating me and the audience on all the work you've done and all the thought you've put into Web of Trust for the last couple of years.

1091
01:35:57,193 --> 01:36:01,913
And it's great to see it shaping up into something concrete in the very near future.

1092
01:36:02,313 --> 01:36:04,453
Enjoy your time at Noster Valley.

1093
01:36:04,593 --> 01:36:07,293
Say hello to all the folks there.

1094
01:36:07,913 --> 01:36:13,053
And I'm sure we'll have you back on the show some point soon.

1095
01:36:13,053 --> 01:36:15,753
We'll certainly have much, much to talk about.

1096
01:36:16,113 --> 01:36:17,993
And I will definitely say hello to everyone.

1097
01:36:18,353 --> 01:36:20,593
And thank you very much again, Avi.

1098
01:36:20,613 --> 01:36:21,933
It's been great speaking with you.

1099
01:36:23,893 --> 01:36:24,913
Yeah, absolutely.

1100
01:36:25,193 --> 01:36:28,473
And thank you folks who listened to the live stream on Zap.Stream.

1101
01:36:28,473 --> 01:36:33,073
We finally got it to work after three weeks in the streaming wilderness.

1102
01:36:34,253 --> 01:36:40,093
And if you are listening to this on, if you're not listening to this live,

1103
01:36:40,353 --> 01:36:42,333
but as a podcast, thank you for listening.

1104
01:36:42,333 --> 01:36:45,833
I hope you're doing so on the Fountain Podcasting app.

1105
01:36:46,633 --> 01:36:50,633
And don't forget to hit that subscribe button if you are.

1106
01:36:51,493 --> 01:36:52,133
Goodbye.
