March 6, 2026

CD193: FIPS - FIXING THE INTERNET

The player is loading ...
CD193: FIPS - FIXING THE INTERNET
Apple Podcasts podcast player badge
RSS Feed podcast player badge
Spotify podcast player badge
Overcast podcast player badge
Castro podcast player badge
PocketCasts podcast player badge
Amazon Music podcast player badge
Apple Podcasts podcast player iconRSS Feed podcast player iconSpotify podcast player iconOvercast podcast player iconCastro podcast player iconPocketCasts podcast player iconAmazon Music podcast player icon

FIPS is an open source mesh networking project that enables devices to connect directly to each other without relying on any central servers or infrastructure. Today's internet depends on companies and governments that can monitor, censor, or shut down communication at will. FIPS solves this by giving every node a cryptographic identity and encrypting all traffic automatically, so no one in the middle can see or block what you're doing. Nodes discover each other and route messages through the mesh on their own, and regular apps like browsers and SSH clients work on top of it without any special setup.

Arjen on Nostr: https://primal.net/p/npub1hw6amg8p24ne08c9gdq8hhpqx0t0pwanpae9z25crn7m9uy7yarse465gr
Jonathan on Nostr:
https://primal.net/p/npub19wavu4f7l6l43h24jyskn7fvzy37kcfp67aqjtmv2qgy4lp34nhsda8p6k
FIPS Repo:
https://github.com/jmcorgan/fips
Tollgate:
https://tollgate.me
Sovereign Engineering:
https://sovereignengineering.io/

EPISODE: 193
BLOCK: 939631
PRICE:  1465 sats per dollar

(02:03) Introducing FIPS and the goal of a middleman free internet

(04:16) Why static IPs fail for hosting and how FIPS reframes identity

(05:51) Decoupling transport and routing: protocol-agnostic design

(06:50) Peer discovery across Wi‑Fi, Bluetooth, and local broadcast

(07:43) Future global routing ideas and decentralized discovery

(09:05) Local mesh handshakes, Noise encryption, and Bloom filters

(11:02) Community meshes, resilience, and mixed transports

(11:42) Starlink and bridging meshes over the wider internet

(13:21) Use case: protest resilience and reconnecting to the world

(14:08) Origins: conferences, Sovereign Engineering, and NoDNS

(16:04) From NoDNS to FIPS: faster updates, remaining gaps

(17:10) Economics: sats for peering and incentive-aware routing

(18:00) Abuse, DDoS surfaces, and defenses via npubs and rate limits

(19:45) Learning from mesh hype cycles and bootstrapping adoption

(22:32) Lowering app friction: make existing apps work over FIPS

(25:12) DNS trick: IPv6 mapping and transparent transport

(27:08) Backwards compatibility as a must-have for scale

(28:08) Rethinking data flow with Nostr streams and local hosting

(30:12) Offline-to-online spectrum and graceful reconciliation

(31:10) Status update: early servers, testers, and bandwidth limits

(32:20) Physical constraints: MTU, Bluetooth, LoRa

(36:00) Reality checks: pitfalls, past meshes, and expectations

(38:12) New primitives: Nostr, Blossom, eCash; Jonathan’s role

(40:37) Identity concerns, key rotation, and operational practices

(46:10) Hosting sensitive services: hot keys

(48:09) Self-hosting privately, Tor comparisons, and latency

(49:37) Observation, Tollgate incentives, and community privacy

(50:40) Tollgate legal concerns and community norms

(53:21) Call to action, testing FIPS, and packaging plans

(55:10) Closing thoughts



more info on the show: https://citadeldispatch.com
learn more about me: https://odell.xyz

02:03 - Introducing FIPS and the goal of a middleman free internet

04:16 - Why static IPs fail for hosting and how FIPS reframes identity

05:51 - Decoupling transport and routing: protocol-agnostic design

06:50 - Peer discovery across Wi‑Fi, Bluetooth, and local broadcast

07:43 - Future global routing ideas and decentralized discovery

09:05 - Local mesh handshakes, Noise encryption, and Bloom filters

11:02 - Community meshes, resilience, and mixed transports

11:42 - Starlink and bridging meshes over the wider internet

13:21 - Use case: protest resilience and reconnecting to the world

14:08 - Origins: conferences, Sovereign Engineering, and NoDNS

16:04 - From NoDNS to FIPS: faster updates, remaining gaps

17:10 - Economics: sats for peering and incentive-aware routing

18:00 - Abuse, DDoS surfaces, and defenses via npubs and rate limits

19:45 - Learning from mesh hype cycles and bootstrapping adoption

22:32 - Lowering app friction: make existing apps work over FIPS

25:12 - DNS trick: IPv6 mapping and transparent transport

27:08 - Backwards compatibility as a must-have for scale

28:08 - Rethinking data flow with Nostr streams and local hosting

30:12 - Offline-to-online spectrum and graceful reconciliation

31:10 - Status update: early servers, testers, and bandwidth limits

32:20 - Physical constraints: MTU, Bluetooth, LoRa

36:00 - Reality checks: pitfalls, past meshes, and expectations

38:12 - New primitives: Nostr, Blossom, eCash; Jonathan’s role

40:37 - Identity concerns, key rotation, and operational practices

46:10 - Hosting sensitive services: hot keys

48:09 - Self-hosting privately, Tor comparisons, and latency

49:37 - Observation, Tollgate incentives, and community privacy

50:40 - Tollgate legal concerns and community norms

53:21 - Call to action, testing FIPS, and packaging plans

55:10 - Closing thoughts

WEBVTT

NOTE
Transcription provided by Podhome.fm
Created: 03/06/2026 23:46:40
Duration: 3468.330
Channels: 1

1
00:00:32.370 --> 00:00:34.850
Happy Bitcoin Friday, freaks.

2
00:00:34.930 --> 00:00:37.970
It's your host, Odell, here for another sale dispatch.

3
00:00:38.130 --> 00:00:43.170
The show focused on actual Bitcoin and freedom tech discussion.

4
00:00:44.105 --> 00:00:47.225
Today is Friday, March 6

5
00:00:47.945 --> 00:00:48.824
at

6
00:00:49.144 --> 00:00:51.144
twenty two hundred UTC.

7
00:00:51.144 --> 00:00:54.824
The current Bitcoin block height is nine three nine six three one.

8
00:00:55.385 --> 00:00:57.625
Sats per dollar, one four six five.

9
00:00:58.520 --> 00:01:02.440
Current US dollar price is 68,239.

10
00:01:03.720 --> 00:01:10.040
I told you, Freeze, I'm gonna I'm gonna go with the price priced in gold now as well. Priced in gold, 13.97

11
00:01:10.040 --> 00:01:14.605
ounces of gold buys you Bitcoin. We're outperforming gold on the week,

12
00:01:14.925 --> 00:01:17.245
but not on the day, the month, or the year.

13
00:01:18.525 --> 00:01:20.205
Well, we will eventually,

14
00:01:20.205 --> 00:01:21.005
hopefully.

15
00:01:21.165 --> 00:01:21.965
Expecting.

16
00:01:22.205 --> 00:01:23.005
We'll see.

17
00:01:23.565 --> 00:01:31.320
As always, dispatch is funded by our viewers, viewers like you. Thank you guys for supporting the show with your hard earned Bitcoin.

18
00:01:31.560 --> 00:01:33.800
We have no ads or sponsors.

19
00:01:35.160 --> 00:01:57.659
This was I'm trying to do as many shows as possible that are high signal for you freaks. So this one was two days after the last one. It seems like no one has supported the show in significant size, so I don't really have anything to read out. But thank you to everyone who does support the show. An easy way to support the show without sparing your hard earned stats is sharing it with your friends and family. So dispatch is available on every major podcast app.

20
00:01:58.140 --> 00:02:02.700
All relevant links at citadeldispatch.com.

21
00:02:03.180 --> 00:02:05.420
Anyway, freaks, I have a great show today.

22
00:02:05.820 --> 00:02:07.659
We are gonna be talking about

23
00:02:08.835 --> 00:02:11.635
the recently announced FIPS project,

24
00:02:12.115 --> 00:02:13.715
which I believe stands

25
00:02:13.715 --> 00:02:16.035
for free Internetworking

26
00:02:16.035 --> 00:02:17.315
peering system.

27
00:02:17.795 --> 00:02:20.835
And it's basically the idea of of

28
00:02:21.430 --> 00:02:25.270
building the Internet from the ground up without all the middleman bullshit

29
00:02:25.350 --> 00:02:39.445
that is involved in the current Internet setup using Noster at its core. It's a little bit above my pay grade, so we're gonna be diving in deep here. And if I can understand it, then at least some of you can understand it. And we have Arjun here, one of the main contributors. How's it going, Arjun?

30
00:02:39.685 --> 00:02:41.445
I'm good. Thank you for having me.

31
00:02:43.445 --> 00:02:46.325
What was my basic explanation decent?

32
00:02:46.885 --> 00:02:48.885
Yeah, I think so. I think so.

33
00:02:49.845 --> 00:02:50.725
What is FIPS?

34
00:02:51.980 --> 00:02:54.780
So FIPS is a attempt to

35
00:02:55.420 --> 00:02:56.620
do networking

36
00:02:56.620 --> 00:03:02.380
in a way that doesn't require any authority to be involved. The need actually came from

37
00:03:03.739 --> 00:03:04.540
a tollgate

38
00:03:05.005 --> 00:03:05.725
where

39
00:03:06.525 --> 00:03:09.325
you know, we pay for internet access for,

40
00:03:09.965 --> 00:03:16.045
but if you have a system where you know, can pay other people to peer with them basically,

41
00:03:16.125 --> 00:03:18.205
you need, you can switch between the people.

42
00:03:18.909 --> 00:03:22.430
So if you switch the person you're buying your internet from,

43
00:03:22.670 --> 00:03:35.145
what happens in the current structure of the internet is that you lose your IP address, changes and that's okay if you're reaching out to the outer world, but that's not okay if you want to host anything inside such a network.

44
00:03:37.145 --> 00:03:48.180
Yeah, so first to pull back, Tollgate is this project that allows you to basically sell your Wi Fi for SaaS and then people are able to access it. And then in the traditional internet infrastructure,

45
00:03:48.660 --> 00:03:50.660
we have internet service providers.

46
00:03:51.140 --> 00:03:53.380
We have DNS providers.

47
00:03:53.380 --> 00:03:58.260
We have all this different, all these middlemen that are involved in networking everyone together.

48
00:03:58.805 --> 00:04:03.205
And our IP address is our quote unquote identity, I guess, on the Internet.

49
00:04:03.685 --> 00:04:13.525
And a lot of home Internet, I guess their IP addresses do change a decent amount. Sometimes they change, sometimes they don't. But if you're like hosting a website or something, you basically need a fixed IP address. Right?

50
00:04:14.250 --> 00:04:15.370
Exactly, yeah.

51
00:04:16.250 --> 00:04:18.570
So, FIPS, yeah, so continue.

52
00:04:19.050 --> 00:04:38.435
Yeah, so in a tollgate network, right, the way we envisioned it first is like, okay, you have someone that is connected to the legacy ISP, if you will, and from there on out, you start reselling that internet and someone can buy it from you and they start reselling it. That assumes a tree structure where someone's on top and someone's at the bottom.

53
00:04:38.915 --> 00:04:46.150
But if you have a network that grows and like say you're two, three steps down and there's someone that actually gives a better price for that connection,

54
00:04:46.390 --> 00:04:53.510
you're gonna switch over. Everyone below you is gonna lose their lose that structure that was there to to find them inside that network.

55
00:04:55.685 --> 00:04:57.925
Right. So in this situation,

56
00:04:59.845 --> 00:05:06.004
everyone has a Noster public key private key pair, which you can spin up relatively easily. That's your public identity.

57
00:05:07.099 --> 00:05:10.380
And then this is why I think it's fascinating because

58
00:05:10.620 --> 00:05:13.180
conceptually high level, it makes a lot of sense to me.

59
00:05:13.740 --> 00:05:18.060
So then you're able to just connect peer to peer between those public keys

60
00:05:18.379 --> 00:05:29.645
without anything else. So I can be connected via Wi Fi or Bluetooth, I can run a long ass Ethernet cable to my neighbor. And he can run along as Ethernet cable to his neighbor, and we'd all be connected to each other.

61
00:05:30.285 --> 00:05:40.260
And then one of them could then have like some kind of long distance mesh to someone else. And then you continue and all that networking would work natively with Noster. That all seems awesome. High level.

62
00:05:41.460 --> 00:05:47.139
How about how is that possible? That doesn't like what's the nitty gritty that actually makes that reality

63
00:05:47.139 --> 00:05:50.419
versus just something that just seems really cool and

64
00:05:51.485 --> 00:05:52.365
in a tweet. It

65
00:05:53.645 --> 00:05:55.325
is just by by decoupling

66
00:05:55.325 --> 00:06:04.044
two layers, if you will, the the physical transport layer and the routing layer. In a lot of cases, they're very interconnected. Right? If we

67
00:06:04.044 --> 00:06:04.285
have

68
00:06:05.200 --> 00:06:15.680
internet like IP traffic, it presumes that it uses ethernet, basically ethernet or wifi. It doesn't run over Bluetooth and every different protocol kind of has its own way of doing that

69
00:06:16.080 --> 00:06:16.800
and

70
00:06:16.960 --> 00:06:22.585
what we found is it's better if you have something that works across it and just

71
00:06:23.625 --> 00:06:24.425
show,

72
00:06:24.664 --> 00:06:26.505
expose some interfaces

73
00:06:26.905 --> 00:06:46.530
to the layer below where it doesn't matter how it works. All you need to know is just, I want to be able to send some data to appear and I want to be able to get some data to appear. I don't care how you get it there, just get it there. If it's ethernet, right, you use the ethernet protocol or WiFi. If it's Bluetooth, you use Bluetooth underneath, but the FIPS protocol

74
00:06:46.795 --> 00:06:49.115
doesn't have to doesn't care about that.

75
00:06:50.955 --> 00:06:52.235
But then how does

76
00:06:52.635 --> 00:06:53.915
discovery work?

77
00:06:55.195 --> 00:07:08.610
That depends on the layer you use or the transport you use. If you use a broadcast medium, say Wi Fi, you can broadcast the fact that you are a FIPS node and that you want to peer with people.

78
00:07:09.169 --> 00:07:14.610
That way people can discover you and send messages back. Oh, yeah. Word with me here on

79
00:07:15.745 --> 00:07:17.185
hypothetical because it

80
00:07:17.665 --> 00:07:19.585
I understand hypotheticals better.

81
00:07:20.305 --> 00:07:25.025
Let's say you're successful. This project is a smashing success and five years in the future.

82
00:07:27.120 --> 00:07:29.120
You're in a different country than me.

83
00:07:29.440 --> 00:07:31.040
I have your public key.

84
00:07:32.480 --> 00:07:34.160
I want to

85
00:07:34.480 --> 00:07:35.760
send you information.

86
00:07:36.640 --> 00:07:37.120
How

87
00:07:38.400 --> 00:07:42.455
does me pressing enter on my side get to you?

88
00:07:43.655 --> 00:07:53.895
If we are on the other side of the world Yeah. That is a problem we hope that we're gonna run into with the with people using it. We're nowhere near that yet. But I I think the

89
00:07:54.830 --> 00:07:56.990
one thing that can help us with that where

90
00:07:57.389 --> 00:08:11.425
if you do mesh without the cryptographic identities and Nostrad keys for that matter, I think we can use nodes that are somewhere in between that can help us route that traffic. But this is two step two, three steps ahead and like routing further away.

91
00:08:11.824 --> 00:08:12.945
So are similar

92
00:08:13.585 --> 00:08:16.865
to like what a DNS server currently is? How does that look?

93
00:08:17.585 --> 00:08:28.650
Yeah, in this instance, it would be something like that. Like you would maybe publish something to, it's very theoretical. You would publish something to say a Nostra relay that is specialized in this, right? You can

94
00:08:29.610 --> 00:08:31.050
use your Nostra keys

95
00:08:31.210 --> 00:08:37.050
to sign something and like how people can find you, but you can do it in a way where there's not one

96
00:08:37.385 --> 00:08:46.425
party involved. There's like one central authority you look at, like, does that traffic go from A to B? But you can send it to multiple people. So, difference would be from

97
00:08:46.905 --> 00:09:02.150
the modern day setup is that it'd just be more accessible to run these kind of discovery servers or whatever you're calling them. Like anyone could basically run one and there there wouldn't be like lock in. Maybe? Am I reading this correctly? Yeah. If you would use something like this. Yes.

98
00:09:02.815 --> 00:09:09.295
But I think we should backtrack a bit first, like, to Let's backtrack. Yeah. Whatever you think it on the local level.

99
00:09:10.175 --> 00:09:12.894
So on the local level, you discover a peer and

100
00:09:14.014 --> 00:09:15.535
you encrypt,

101
00:09:15.535 --> 00:09:24.330
like, you advertise your own pubkey, right, the peer advertises a pubkey, you can immediately encrypt something to that pubkey, so there's a handshake there,

102
00:09:24.730 --> 00:09:26.810
where two peers

103
00:09:26.889 --> 00:09:28.330
use a noise protocol

104
00:09:28.490 --> 00:09:34.074
to establish an encrypted connection. And every peer does that amongst each other

105
00:09:34.634 --> 00:09:38.315
and so every hop of the way is individually encrypted.

106
00:09:38.954 --> 00:09:50.640
Then on top of that, there is the longer routing of like the longer routes and the way you can find another peer within the mesh, say like a mesh up to 10,000 people,

107
00:09:51.040 --> 00:09:52.000
is that every

108
00:09:52.720 --> 00:09:53.520
peer

109
00:09:53.600 --> 00:09:57.120
holds a Bloom filter of the people that they can reach,

110
00:09:58.145 --> 00:10:03.425
so if you connect to a peer that can already reach say like 10,000

111
00:10:03.425 --> 00:10:09.185
other peers, it will give you a Bloom filter, which is a very compressed version

112
00:10:09.345 --> 00:10:13.425
of a list of NPUBs that it can reach, which is one kilobyte at this moment.

113
00:10:14.040 --> 00:10:18.360
You get that and then whenever you get a packet that's for any of those 10,000,

114
00:10:18.600 --> 00:10:22.680
you know that that peer that's on your left hand side can actually reach it.

115
00:10:24.680 --> 00:10:26.600
Got it. So

116
00:10:28.075 --> 00:10:31.755
in practice, each peer is almost like a DNS server.

117
00:10:35.915 --> 00:10:37.835
I think it's hard to make that comparison

118
00:10:38.714 --> 00:10:41.274
because it's not it's

119
00:10:41.274 --> 00:10:43.435
a different if it's a different way of doing things.

120
00:10:44.290 --> 00:10:49.570
Right. It's fundamentally different, but each peer is also my method of discovery.

121
00:10:50.610 --> 00:10:54.050
Yes. In a smaller local mesh, that is the way you found other.

122
00:10:54.210 --> 00:10:56.770
Yeah. I mean, could, this is a interoperable

123
00:10:56.770 --> 00:10:57.570
way of

124
00:10:58.115 --> 00:11:01.475
rolling out like a local community mesh relatively easily.

125
00:11:02.274 --> 00:11:11.714
Yeah. Yeah. And that's honestly, that's if only that works, I would already be very happy because you can roll this out in a community. You can host servers, right?

126
00:11:12.680 --> 00:11:21.880
You can host things on an NPUB that can even physically move around in the network and if the network gets cut off from the rest of the world, everything just keeps working.

127
00:11:22.200 --> 00:11:27.240
You can do it if, you know, half the network fails, you go over Bluetooth, whatever works.

128
00:11:28.275 --> 00:11:30.115
Whatever method you have available,

129
00:11:30.275 --> 00:11:38.995
that's how you want to route the traffic. It's completely agnostic. And some peers can be on ethernet, some could be on WiFi, some could be on Bluetooth, doesn't matter.

130
00:11:39.395 --> 00:11:41.075
Yeah. Or even satellite uplinks.

131
00:11:42.459 --> 00:11:45.260
Now, if one person have you guys,

132
00:11:45.660 --> 00:11:48.620
is it in scope of the project? If like one person has

133
00:11:49.820 --> 00:11:59.165
Starlink for instance, would then the whole community have broader internet access or no? Is that Yes, you can. So if you do use Starlink, you are using

134
00:11:59.965 --> 00:12:01.965
the regular internet stack IPs,

135
00:12:02.045 --> 00:12:03.325
but you can establish

136
00:12:03.405 --> 00:12:14.640
peering connections over the internet. So if I have a mesh here in my house and you have one in your house, we can establish a link over UDP and connect the mesh that way.

137
00:12:15.520 --> 00:12:17.360
Yeah, I mean, because like in practice,

138
00:12:18.320 --> 00:12:30.444
so let's use a real world example, right? The internet, the government of Iran cut the internet relatively recently. I don't know if the Internet's on right now or if it's off, but at least during the protests a couple weeks ago

139
00:12:31.165 --> 00:12:44.000
now we have war in Iran. But during the protests a couple weeks ago, government internally cut the Internet because they didn't want communication among the protesters. Protesters. It's something we see happen all the time. And as a result, bit chat usage spiked in the country.

140
00:12:44.480 --> 00:12:45.040
Now,

141
00:12:45.680 --> 00:12:54.320
bit chat has its own issues, right, in terms of range and whatnot and capability. But the biggest one that I kept thinking about is those people could communicate internally,

142
00:12:55.255 --> 00:12:59.735
which is great, still an advantage. It's better than the alternative,

143
00:12:59.735 --> 00:13:16.490
which is no communication internally. But then they couldn't, for instance, broadcast to the rest of the world and be like, this is what's happening on the ground right now. There was a fog of war that was happening, and that was part of the government's desire. That's why when you see large protest movements happen in different places, authoritarian governments often cut the internet.

144
00:13:16.810 --> 00:13:20.410
Now, the dream high level in my mind has always been,

145
00:13:20.810 --> 00:13:22.410
you have like local meshes,

146
00:13:22.865 --> 00:13:41.290
and then one person smuggles in a Starlink, and then all of a sudden, the entire community can broadcast globally on Noster, for instance, right and say, but you know, here's a video of the police abusing us or whatnot, or corruption or whatever they're trying to get out. Presumably this project should be able to offer that kind of capability, no?

147
00:13:41.610 --> 00:13:44.650
Yes, because you can introduce basically,

148
00:13:45.130 --> 00:13:48.570
say quote unquote, tunnel to the rest of the world from anywhere

149
00:13:48.730 --> 00:13:57.485
and that would automatically be discovered by the network. So if yes, you have a Starlink that goes up and it goes down in another country and you have a mesh there,

150
00:13:57.805 --> 00:14:04.045
well, as long as you knew one of the NPUBs that was on that side of the mesh before it got cut off, you can actually find that route again.

151
00:14:05.020 --> 00:14:06.060
That's awesome.

152
00:14:08.140 --> 00:14:10.860
I mean, have you talked to the

153
00:14:11.420 --> 00:14:13.340
you talked to the Bitchat guys at all?

154
00:14:14.940 --> 00:14:19.225
No. We just we just released it actually. So it was two weeks ago.

155
00:14:20.105 --> 00:14:21.225
I just met.

156
00:14:21.945 --> 00:14:24.985
The idea has been around for a little while and

157
00:14:25.385 --> 00:14:29.545
I met Jonathan just in last November and we kept talking

158
00:14:29.785 --> 00:14:31.385
about the idea and

159
00:14:31.770 --> 00:14:37.530
so that slowly developed over the last few months and just the last couple of weeks we had a working Did

160
00:14:39.770 --> 00:14:41.530
you guys meet at Sovereign Engineering?

161
00:14:42.330 --> 00:14:44.170
No, at a conference in Costa Rica.

162
00:14:45.055 --> 00:14:47.295
There was this conference, the Nostra conference,

163
00:14:47.375 --> 00:14:58.654
and I think that was two days. The only thing I did is basically sit in a room with him talking about these ideas on doing addressing with MPUBs instead of instead of IP or for DNS as well.

164
00:14:59.980 --> 00:15:06.300
So what is the Sovereign Engineering connection? Justin Moon introduced us. I believe he met you at Sovereign Engineering?

165
00:15:06.459 --> 00:15:09.899
Yeah, correct. Yeah. What was the Sovereign Engineering

166
00:15:09.980 --> 00:15:20.075
experience like? I mean, I love what those guys are doing. I haven't been myself, but I work closely with GG at OpenSats and he's heavily involved in Sovereign Engineering. I think it's a fascinating program.

167
00:15:21.115 --> 00:15:28.875
Yeah. So some of the original idea and like addressing with NPUBs is something I worked on at Sovereign Engineering last year.

168
00:15:30.290 --> 00:15:32.850
It came from the idea is like, we can

169
00:15:34.290 --> 00:15:46.505
use endpubs to address services instead of IP addresses or traditional domain names, then at least we have a static identifier we can use across the web to reach things, even if the IP address changes.

170
00:15:46.825 --> 00:15:50.425
That experiment turned into what's called now a no DNS,

171
00:15:50.585 --> 00:15:51.465
where someone

172
00:15:51.705 --> 00:15:53.065
signs cryptographically

173
00:15:53.065 --> 00:15:54.505
in a Nostril message,

174
00:15:55.000 --> 00:15:55.960
all the

175
00:15:56.920 --> 00:16:01.400
DNS records publishes that and other people can resolve that as DNS.

176
00:16:01.560 --> 00:16:13.635
So that's kind of the predecessor of this idea. We can do it inside the IP network. You still have that structure, but when it changes, you have some flexibility on correcting that similar to if an IP address changes now,

177
00:16:13.955 --> 00:16:21.795
you update the DNS record and people can reach you again. You can do it much faster this way. That's nice, but it doesn't resolve the entire issue.

178
00:16:23.920 --> 00:16:27.440
I didn't realize so Tollgate is your project as well?

179
00:16:28.320 --> 00:16:30.720
I work on it as well. Yeah. Yeah.

180
00:16:30.880 --> 00:16:34.160
So you were in Sovereign Engineering for Tollgate specifically?

181
00:16:35.165 --> 00:16:36.285
The

182
00:16:36.285 --> 00:16:48.925
first one, was at Sovereign Engineering three. I didn't know much about Tollgate back then, but I met the guy that started it. And from there on, we started to basically rolled into it and we started to work on it together.

183
00:16:49.830 --> 00:16:53.270
I think it's a super cool project too. I the

184
00:16:54.870 --> 00:17:04.070
the whole premise of Tollgate is that I'm I'm paying stats for Internet access. Are stats involved in FIPS at all? Like, are people are people using

185
00:17:04.615 --> 00:17:10.215
is the idea that people will be paying for peering or have you thought about that at all?

186
00:17:10.775 --> 00:17:13.335
Yeah, that's my hope for sure. And the

187
00:17:13.335 --> 00:17:18.294
whole reason FIPS exists is because we don't have a way to do this dynamically

188
00:17:19.015 --> 00:17:21.789
changing network. So I think payment

189
00:17:22.350 --> 00:17:24.669
is a very important part of it because

190
00:17:24.909 --> 00:17:38.845
you want to be able to steer traffic based on economic incentives as well, so if you say one link is very expensive and the other is cheap, well, why not if you pay for the connection, why not incorporate that in your routing decisions as well?

191
00:17:39.325 --> 00:17:40.125
But that's

192
00:17:40.525 --> 00:17:42.765
definitely a next step, but it can

193
00:17:43.085 --> 00:17:43.965
be combined.

194
00:17:44.765 --> 00:17:47.885
Mean, wouldn't something like that be necessary because

195
00:17:48.860 --> 00:17:49.499
would

196
00:17:49.740 --> 00:17:52.299
have you thought at all about DDoS concerns

197
00:17:52.299 --> 00:17:53.019
or

198
00:17:53.259 --> 00:17:57.739
any any kind of malicious attacker trying to flood the network or

199
00:17:57.980 --> 00:17:59.019
break down the mesh?

200
00:18:00.395 --> 00:18:01.354
Yeah, there's

201
00:18:02.235 --> 00:18:06.554
a couple of things there. The mesh, when joining the mesh physically,

202
00:18:06.554 --> 00:18:19.360
you need to do that with a peer. Send that peer, it will be rate limiting how many people can connect at the same time. So that's, that's one defense. Another defense is that to send traffic to an endpoint,

203
00:18:19.600 --> 00:18:23.440
you need to know the NPUB because on the routing layer,

204
00:18:24.000 --> 00:18:24.880
the nodes

205
00:18:25.360 --> 00:18:33.195
don't know for the packets they sent, they don't know the NPUB. They only know a node ID that is derived from the NPUB.

206
00:18:33.435 --> 00:18:39.515
So that gives you some protection. If your NPUB is not known by the whole world, it's hard for someone to DDoS you.

207
00:18:40.795 --> 00:18:41.195
Interesting.

208
00:18:42.150 --> 00:18:45.590
Because that would be the attack, right? If we were going go down our hypothetical.

209
00:18:46.870 --> 00:18:47.510
Yeah.

210
00:18:47.910 --> 00:18:51.350
And you're in you're in Iran, and the government shutting down the internet,

211
00:18:51.750 --> 00:19:00.875
they would try and jam different types of signals, I guess. And then also, they would presumably just spin up, spin up NPUBS, right? And just start spamming the network.

212
00:19:01.595 --> 00:19:03.675
Yeah. I mean, it's a,

213
00:19:04.155 --> 00:19:09.435
it's definitely not a not an easy problem to solve. Right? It's it's something that's probably the hardest problem to solve.

214
00:19:10.970 --> 00:19:13.770
Well, the current Internet just solved it with centralization.

215
00:19:13.770 --> 00:19:14.250
Right?

216
00:19:16.250 --> 00:19:18.970
Yes. Yeah. You have Cloudflare to do these things.

217
00:19:20.250 --> 00:19:36.940
It's just kind Which of is a a massive middleman, honeypot, And then also just internet infrastructure in general, right? There's just a million central points of failure that can be pressured and shut down. That's why authoritarians can, I mean, it's not as simple as I would basically click a button and cut off the internet for the entire country, right? Yeah, yeah.

218
00:19:38.299 --> 00:19:38.940
So

219
00:19:39.100 --> 00:19:41.659
that's why an internet that is designed

220
00:19:42.140 --> 00:19:44.379
to fracture and recombine

221
00:19:44.539 --> 00:19:45.499
is very useful.

222
00:19:45.980 --> 00:19:49.020
Well, what I like about this is it's very pragmatic because

223
00:19:50.554 --> 00:19:58.874
one of the trouble like, mesh is something that I've been fascinated with for maybe a decade, and there's been many different attempts at doing different things.

224
00:19:59.595 --> 00:20:15.020
I think it was it was exciting that and obviously, partially, it was because of Jack Dorsey tweeting it out, but the excitement around bit chat. Yeah. But it was also kind of weird, right? Because if you had actually been following the mesh space for a while, like people were acting like it was the first mesh project that ever existed.

225
00:20:15.260 --> 00:20:25.914
But there was a million predecessors that failed beforehand. And always the problem. Well, not always, there's many different use, like you said, it's very hard problem to solve. But one of the core problems I feel like,

226
00:20:26.315 --> 00:20:27.755
is this bootstrapping

227
00:20:27.755 --> 00:20:28.474
issue,

228
00:20:28.955 --> 00:20:29.195
where,

229
00:20:30.490 --> 00:20:35.289
need a critical mass of at least your neighbors to be using it for it to be useful.

230
00:20:35.850 --> 00:20:39.210
And people saw with BitChat, right? It's like they would download BitChat,

231
00:20:39.690 --> 00:20:52.255
and then it was just nobody to talk to. Right? Because you don't have neighbors that also download BitChat. And there's different ways of solving it. You know, it's easier in cities. I like the idea of being in a,

232
00:20:53.295 --> 00:21:07.910
like a sports arena or something that already has poor Internet. And maybe in a sports arena, everyone wants to talk about the same thing. They're all watching the same game. They all wanna talk about the same game as a high density group of people. You could see it being really useful in that situation, a concert, a music festival.

233
00:21:09.784 --> 00:21:13.304
But at scale to actually, like, see it work at scale,

234
00:21:15.945 --> 00:21:20.904
it's just a really hard problem. But one of the things that I've thought about historically is if you could

235
00:21:22.120 --> 00:21:26.440
bootstrap it in a way that it works with modern internet infrastructure,

236
00:21:27.240 --> 00:21:30.759
until the modern internet infrastructure isn't needed anymore,

237
00:21:30.919 --> 00:21:35.799
then that makes it way more useful. Because if we're in different parts of the world,

238
00:21:36.705 --> 00:21:41.504
but we can use this tech to communicate because of the existing internet infrastructure.

239
00:21:42.865 --> 00:21:47.504
Then all of a sudden, it's useful today without actually having the build out of people

240
00:21:47.825 --> 00:21:52.210
internet connected all the way between us or whatever. Right? Does that make sense?

241
00:21:52.610 --> 00:21:58.210
Yeah. Yeah. And there's a couple of things to unpack there too, is that I really hope we can nerdsnite

242
00:21:58.210 --> 00:21:58.850
the

243
00:21:59.010 --> 00:22:04.130
people from BitChat into this. If, you know, if you run a mesh that is cross transports,

244
00:22:04.684 --> 00:22:14.764
you can lower the burden of making apps like BitChat because now BitChat needs to design its own protocol on like how over Bluetooth the app apps are gonna talk together,

245
00:22:15.485 --> 00:22:22.100
whereas if it was just you can just send TCP IP traffic like through this, like any existing application,

246
00:22:22.179 --> 00:22:28.980
like a Relay and a and a Nostra app, then you can do this over Bluetooth without having to specifically design

247
00:22:29.059 --> 00:22:30.820
the app to also support that.

248
00:22:32.915 --> 00:22:36.034
Can we go a little bit deeper there? How does that look in So,

249
00:22:37.795 --> 00:22:46.930
say you would have, you would run a FiPS network and every phone has, has it running and is peering with each other over both WiFi and Bluetooth. Some people only Bluetooth.

250
00:22:46.930 --> 00:22:49.409
Now on these phones, can host

251
00:22:49.970 --> 00:22:52.210
something like a Nostra relay.

252
00:22:53.250 --> 00:22:56.770
Now everyone can reach that relay over a npub.fibs

253
00:22:56.770 --> 00:22:57.490
address

254
00:22:57.985 --> 00:22:59.744
from any app on their phone.

255
00:23:00.225 --> 00:23:21.160
So now they don't need an app that is specifically designed to be a Bluetooth, it can just be like any other app and not have to put in any effort to do this and so you don't just have one app that can do this, but you have pretty much everything under the sun that would work if it uses infrastructure like Nostril Relays that are really good at facilitating

256
00:23:21.320 --> 00:23:23.080
so many use cases at once.

257
00:23:24.040 --> 00:23:29.000
But so how does that look in practice for like an app developer? How would they integrate in that situation?

258
00:23:31.135 --> 00:23:31.775
So

259
00:23:33.775 --> 00:23:40.735
if I would say like white noise, right? Yeah. Still the chat app. Good example. White noise connects to Nostril Relays.

260
00:23:41.055 --> 00:23:46.489
Noise does what white noise does best, like do all the encryption, do all the rotation, group management,

261
00:23:46.650 --> 00:23:50.649
but they might not wanna put so much effort into making a Bluetooth mesh.

262
00:23:51.130 --> 00:23:51.769
If

263
00:23:52.169 --> 00:23:52.889
they

264
00:23:53.130 --> 00:23:56.169
if someone that uses their app on their phone

265
00:23:56.490 --> 00:23:58.970
also connects to a Phipps network,

266
00:23:59.575 --> 00:24:01.174
they can just configure

267
00:24:01.175 --> 00:24:04.455
a relay like they always would, saying npub.

268
00:24:04.455 --> 00:24:06.135
FIPS in the relay list,

269
00:24:07.495 --> 00:24:10.535
then they can already talk to that relay that's on FIPS.

270
00:24:10.775 --> 00:24:13.415
Now if they then move around inside that mesh

271
00:24:13.710 --> 00:24:21.629
and other people join, they go from Bluetooth to WiFi, they can still reach that relay that is elsewhere in the network.

272
00:24:22.909 --> 00:24:27.230
So they don't have to change their app to work over Bluetooth.

273
00:24:31.054 --> 00:24:32.495
But they do

274
00:24:32.895 --> 00:24:37.215
they have do they they have to add FIPS support specifically though. Right?

275
00:24:37.695 --> 00:24:39.375
No. That's that's

276
00:24:39.375 --> 00:24:44.869
one of the things that I really wanted in here is a, I should have mentioned that earlier,

277
00:24:45.270 --> 00:24:46.629
is a system where

278
00:24:47.110 --> 00:24:55.270
it works for existing applications that expect the IP stack to work. Because I looked at some of the other protocols

279
00:24:55.765 --> 00:24:58.164
and what I found is they

280
00:24:58.485 --> 00:25:17.000
often seem to expect everyone to re implement all their applications to work with it. There's no way in hell you're going to get any adoption if everyone needs to rebuild their stack from scratch. There's forty years of history in libraries, etcetera. Unless it works from scratch or like without any modification in all the applications,

281
00:25:17.000 --> 00:25:18.280
it's not going to fly.

282
00:25:18.600 --> 00:25:26.085
So the way this works is we add a custom DNS server together with FIPS, the FIPS daemon.

283
00:25:26.885 --> 00:25:36.610
What happens is if any application on your on on let's say with computers for now, any application on your computer asks for npub. Fips.

284
00:25:36.690 --> 00:25:42.770
What that DNS server does is it gives you back an IPv6 address that is deterministically

285
00:25:42.770 --> 00:25:44.690
derived from that NPUB,

286
00:25:44.770 --> 00:25:48.370
which is the same as the node ID of the destination. That's wild.

287
00:25:49.115 --> 00:25:56.955
And then the application will send its traffic like it always would, right. It's gonna, in my browser, it's gonna be HTTP becomes TCP

288
00:25:56.955 --> 00:25:58.475
becomes IP packets

289
00:25:58.635 --> 00:26:03.595
and then down at the bottom where, you know, the system would send it out as an IP packet,

290
00:26:04.180 --> 00:26:10.100
we know we just generated that I b v six adder, so we intercept it and actually send it over FIPS instead.

291
00:26:10.980 --> 00:26:13.620
And the app just thinks it's using the regular Internet.

292
00:26:14.100 --> 00:26:14.740
Yes.

293
00:26:15.300 --> 00:26:23.875
So that's what we're focusing on most now is like all the applications, right, Ping when I did the first experiments in sovereign engineering, the sec five,

294
00:26:24.195 --> 00:26:26.675
I found I was like, okay, I'll make something like this,

295
00:26:27.075 --> 00:26:34.980
and now I have to rewrite fucking Ping app excuse my French, the the Ping application. I'm not gonna do that. Like, no one's no one in hell is gonna gonna,

296
00:26:35.220 --> 00:26:40.100
you know, rewrite everything from scratch. So it has to work with everything that we already have.

297
00:26:42.500 --> 00:26:43.300
That's awesome.

298
00:26:48.515 --> 00:26:53.715
I mean, I think that's the key, right? That's the key for bootstrapping. Then you don't even have to,

299
00:26:54.355 --> 00:26:56.355
the app developers don't have to change a thing.

300
00:26:57.080 --> 00:26:59.640
Yeah. I think I think that's a

301
00:26:59.800 --> 00:27:05.559
that's a must have. I don't think anything like this can can scale if it doesn't isn't backwards compatible.

302
00:27:08.280 --> 00:27:19.414
Okay. I mean, I don't know where to go from here. That's like a mic drop moment for me. I mean, if this works, it seems like it's the kind of the holy grail that you stumbled on here, sir.

303
00:27:22.695 --> 00:27:24.695
I mean, I'm reading through your Git repo.

304
00:27:25.360 --> 00:27:35.440
What do you wanna cover? You know better than me. I by the way, huge shout out to Justin Moon. He set up this conversation. I told him to join for it. He said he was unnecessary. I think he would have been very helpful.

305
00:27:36.159 --> 00:27:37.840
We can we can still try to get him in.

306
00:27:39.495 --> 00:27:45.015
What do you wanna talk about? What is is most interesting to you here? You have thousands

307
00:27:45.015 --> 00:27:46.615
of people listening to the show.

308
00:27:46.935 --> 00:27:48.294
What do you wanna talk about?

309
00:27:49.175 --> 00:27:51.575
Think I think the opportunity

310
00:27:51.575 --> 00:27:52.294
to

311
00:27:53.335 --> 00:28:00.830
make the Internet in this general like, Phipps doesn't have to replace the Internet if for, like, long long range stuff. Right? If necessarily.

312
00:28:00.910 --> 00:28:14.565
If we're doing a call like this, it's fine if that still exists, like, the hierarchy there. So we're not you know, that's not gonna change quick. I think it already wins if it works local, and that's exactly, I think, the most exciting thing is, like, if it works local

313
00:28:14.965 --> 00:28:18.085
with, say, half a million people or a million people,

314
00:28:18.565 --> 00:28:24.245
you don't even need the traditional Internet. Like, the traditional way of doing things is

315
00:28:24.325 --> 00:28:25.205
we go out,

316
00:28:25.820 --> 00:28:29.179
like, when we visit a website, right, I go to amazon.com.

317
00:28:29.260 --> 00:28:35.259
Way it works now is I send a message to Amazon. It's like, go fetch. Go fetch. Go fetch.

318
00:28:35.580 --> 00:28:40.994
And I think in a world with Nostr, where everything everything in Nostril is is a stream,

319
00:28:41.395 --> 00:28:45.154
all the data is signed so we can do replication wherever needed.

320
00:28:45.554 --> 00:28:47.794
So what we can do with that is

321
00:28:48.034 --> 00:28:50.034
we collect information once,

322
00:28:50.115 --> 00:29:00.349
we pull it inside the network that we have here, and from there on out, it doesn't matter if that connection to the outside world gets severed because the information is already inside the network

323
00:29:00.590 --> 00:29:03.869
on the relays and then from there we can spread that information.

324
00:29:04.350 --> 00:29:12.005
So I think if we have a decent way of hosting that stuff inside this network that can rearrange and is resilient,

325
00:29:13.045 --> 00:29:17.605
then it doesn't matter as much when connections outside are unstable,

326
00:29:17.605 --> 00:29:24.119
like you'll just pull in the new stuff whenever you have a connection and if not, you go about your day and do your things inside your network.

327
00:29:25.880 --> 00:29:31.399
You can run your Bitcoin nodes, your Cashew mints, and Nostra Relays and Blossom servers

328
00:29:31.640 --> 00:29:32.360
in

329
00:29:32.760 --> 00:29:33.559
your town

330
00:29:33.735 --> 00:29:34.375
and

331
00:29:34.535 --> 00:29:39.815
the main cable gets cut, well, okay, it sucks, but you can still chat with everyone over

332
00:29:39.895 --> 00:29:43.975
all the over white noise. You can still use Primal. Right?

333
00:29:45.575 --> 00:29:47.815
And then what and then the key is

334
00:29:48.480 --> 00:29:54.239
when that cable gets uncut or whatever, don't know what the opposite analogy is. When you get reconnected,

335
00:29:54.400 --> 00:29:57.119
you can gracefully reconnect to the water network.

336
00:29:57.840 --> 00:30:02.145
Yeah. And then you can see, like, what was gone, what is not. Right?

337
00:30:02.305 --> 00:30:03.105
That boundary,

338
00:30:03.505 --> 00:30:05.425
Nostra allows us to completely

339
00:30:05.825 --> 00:30:06.545
remove

340
00:30:06.785 --> 00:30:12.225
the boundary between what is offline and online is becomes a spectrum of offline and online.

341
00:30:12.545 --> 00:30:19.440
Offline is I don't have anything on I don't have a Relay on my computer. I don't have a Blossom server on my computer,

342
00:30:19.759 --> 00:30:23.039
and I'm not connected to any other node, then I'm offline.

343
00:30:23.759 --> 00:30:30.615
Where it's like you can be a little bit online where you have one other node to heal in Zoom phone. Yeah.

344
00:30:31.095 --> 00:30:35.174
So there's no And then every because of nostril, everything's signed. It's all verifiable.

345
00:30:35.175 --> 00:30:36.935
You can gracefully reconcile

346
00:30:36.935 --> 00:30:37.735
afterwards.

347
00:30:38.455 --> 00:30:44.855
Yeah. So the way information flows, I think, will dramatically change in a nostril world.

348
00:30:46.230 --> 00:30:47.030
What

349
00:30:47.030 --> 00:30:47.990
are the

350
00:30:48.310 --> 00:30:52.710
hurdles you face? Like, what are the trade offs here? Like, concerns?

351
00:30:52.870 --> 00:30:55.590
What are the deal breakers? How are you thinking about that?

352
00:30:56.390 --> 00:31:07.434
Well, for sure, we need a shit ton of testing of this. Right? People need to if you have any kind of knowledge related to this, you should test it out, break it. We want feedback as much as possible.

353
00:31:08.155 --> 00:31:12.955
Because, of course, it's a it's a it's a very big aim. So we need to running in the wild right now?

354
00:31:14.730 --> 00:31:24.970
Was it just in two weeks, but I yeah. I have I have two servers, public public servers people can connect to. I can share the Are they connected to any peers? How many people are using this thing?

355
00:31:25.450 --> 00:31:32.645
Well, right now, it's mostly Jonathan, me, and maybe one or two other people. So we're hoping for a lot Moon using it yet?

356
00:31:33.525 --> 00:31:36.725
No. He said he didn't yet. We have to bully him into doing it.

357
00:31:37.925 --> 00:31:38.805
Fair enough.

358
00:31:39.765 --> 00:31:43.499
I'll try and get my feet wet. This Is there limitations?

359
00:31:43.980 --> 00:31:47.019
Is it like a bandwidth users?

360
00:31:47.100 --> 00:31:49.259
You know, where are the where are the

361
00:31:50.059 --> 00:31:51.419
points of failure here?

362
00:31:51.820 --> 00:31:53.019
As someone who I

363
00:31:53.340 --> 00:32:00.654
I want to straw man it, but I don't have the capability of straw manning it because it's way, way above my pay grade.

364
00:32:01.215 --> 00:32:02.094
So,

365
00:32:02.335 --> 00:32:02.974
there are

366
00:32:03.455 --> 00:32:04.335
limitations

367
00:32:04.335 --> 00:32:05.054
on

368
00:32:05.855 --> 00:32:10.450
the physical trash Not straw can man, by the Steelman. Sorry. Continue. The

369
00:32:12.210 --> 00:32:12.850
know I can't

370
00:32:14.130 --> 00:32:17.410
oh, I'm sorry. Like, limitations on, like, Wi Fi connections

371
00:32:17.410 --> 00:32:18.049
or,

372
00:32:18.690 --> 00:32:20.130
like, actual physical limitations?

373
00:32:20.914 --> 00:32:24.514
Yeah. WiFi and ethernet are fine, but it is like the

374
00:32:24.914 --> 00:32:32.034
lower you get, like you have tech like LoRa, right? There is in the way internet protocols work, you have something called an MTU,

375
00:32:32.115 --> 00:32:33.315
which is the

376
00:32:33.794 --> 00:32:34.595
minimum,

377
00:32:34.674 --> 00:32:36.914
I'll

378
00:32:36.809 --> 00:32:40.409
find where, what the full meaning is, but it's the amount of bytes you

379
00:32:41.769 --> 00:32:44.729
can transfer in one go on a network,

380
00:32:45.210 --> 00:32:48.809
so on traditional IP that's like 1,500 bytes for every packet,

381
00:32:49.435 --> 00:32:52.635
something like that. You can go up and down in some networks,

382
00:32:52.955 --> 00:32:54.075
but if you have

383
00:32:54.315 --> 00:32:57.835
transports that are less reliable or lower power, something

384
00:32:58.315 --> 00:33:05.520
like Bluetooth uses smaller packets, but still works fine. But if you go down to LoRa, like LoRa MeshTestik,

385
00:33:05.600 --> 00:33:09.520
they might get too small to send, like the minimum

386
00:33:09.520 --> 00:33:12.480
size of a FIPS packet might be too big for those.

387
00:33:12.720 --> 00:33:16.014
Although there's some really exciting developments with stuff like

388
00:33:16.575 --> 00:33:18.094
Halo, which is a

389
00:33:18.575 --> 00:33:20.094
WiFi standard

390
00:33:20.335 --> 00:33:22.334
on the LoRa frequencies,

391
00:33:23.054 --> 00:33:23.854
so I

392
00:33:24.174 --> 00:33:25.695
do have hopes that

393
00:33:26.270 --> 00:33:32.349
even though it's the same frequencies, the throughput can be increased in the coming years and then maybe that will become feasible,

394
00:33:33.230 --> 00:33:36.109
but stuff like satellite uplinks might be already.

395
00:33:37.470 --> 00:33:46.245
I mean, I don't know how much it matters, but MTU stands for maximum transmission unit. Is that what you're looking for? Yeah. It's basically I just ask my bot.

396
00:33:46.645 --> 00:33:53.845
Yeah. Yeah. It's basically how how thick the pipe is between the two nodes, like, much how much water you can move at once.

397
00:33:55.610 --> 00:33:58.410
What's happening with the lower projects? Are you following it or?

398
00:33:59.290 --> 00:34:04.410
I'm not following it that much. I think it's cool, but a lot of them have been around for years, right?

399
00:34:06.330 --> 00:34:13.305
I really hope that's my, maybe it's wishful thinking that if the throughput can get higher, which Corbador,

400
00:34:13.305 --> 00:34:15.705
the guy I work with for Tallgate,

401
00:34:15.865 --> 00:34:18.265
he knows a lot about doing wireless

402
00:34:19.465 --> 00:34:20.185
and

403
00:34:20.665 --> 00:34:29.950
the things here is like, I have to go from secondhand information, but what I know about is that the waves and the frequencies themselves are not necessarily the problem.

404
00:34:30.270 --> 00:34:36.430
It is the tech that's used on either end on like how much data you can put through that on that same frequency

405
00:34:36.565 --> 00:34:41.605
at once. With newer hardware, you can use the same frequencies, but actually transmit more data

406
00:34:41.925 --> 00:34:44.245
at once. So I think if

407
00:34:44.565 --> 00:34:45.125
those

408
00:34:45.365 --> 00:34:56.760
developments continue, I think those technologies will be helpful. Well, I mean, I'm a little bit confused because it doesn't, like if I have a lower device, isn't using Wi Fi usually to transmit information?

409
00:34:59.240 --> 00:35:02.200
I don't know. I don't know exactly what they But

410
00:35:03.400 --> 00:35:05.515
it's like whatever their specific

411
00:35:05.515 --> 00:35:08.715
protocol is, that is actually the limiter

412
00:35:09.915 --> 00:35:15.195
or It's yeah. No. It's a bunch of things. It's the hardware. It's the protocols they use for But

413
00:35:16.315 --> 00:35:21.150
the goal is your I guess your point here, the high level point is that

414
00:35:21.630 --> 00:35:28.750
you want low power devices to be able to communicate with this protocol. And there might be some limitations there that you'll have to

415
00:35:30.430 --> 00:35:42.785
smooth that out. I don't want to venture too much into that area. Like, that's not my my area of expertise. So I don't want to go too much into that. And I I guess the cool part of Phipps is that you have a very a relatively simple, robust protocol

416
00:35:43.184 --> 00:35:45.985
that people that are then more

417
00:35:46.545 --> 00:35:49.585
technically sound on on the hardware side could

418
00:35:49.960 --> 00:35:52.760
come up with low power ways of handling it.

419
00:35:53.240 --> 00:35:54.520
Yeah. Right.

420
00:35:55.720 --> 00:35:56.360
Yes.

421
00:35:57.160 --> 00:35:58.200
That's awesome.

422
00:36:00.680 --> 00:36:01.720
What are

423
00:36:01.880 --> 00:36:04.120
there any other pain points to Steelman?

424
00:36:07.984 --> 00:36:10.545
I just I just wanna be clear here. Like, I

425
00:36:10.944 --> 00:36:11.664
have

426
00:36:11.825 --> 00:36:13.744
I got into the Laura hype.

427
00:36:14.145 --> 00:36:17.825
I got into the Gotena hype. Gotena's proprietary as hell.

428
00:36:18.640 --> 00:36:21.200
I don't know. I just been through a lot of mesh hype

429
00:36:21.440 --> 00:36:24.400
to the point where when bitch had came out, like, I I

430
00:36:25.119 --> 00:36:29.280
went along with the hype, like, internally, I was fading it. I was like, yeah. Yeah.

431
00:36:30.320 --> 00:36:33.359
So what are what are the things that you hit that

432
00:36:33.744 --> 00:36:35.505
this, I guess, disappoint you? Or

433
00:36:36.705 --> 00:36:41.585
I just want it to be a reality, you know, like, the modern Internet sucks.

434
00:36:42.385 --> 00:36:46.065
But story of the story of humanity

435
00:36:46.065 --> 00:36:51.020
is us just solving problems by centralizing things. It's the easiest way to do it.

436
00:36:51.660 --> 00:36:52.460
And

437
00:36:52.540 --> 00:36:53.820
as a result,

438
00:36:54.700 --> 00:37:03.180
our lives that are incredibly digital now, the most digital our lives have ever been in existence are like built on like a shit ton of centralized points of failure.

439
00:37:04.244 --> 00:37:04.805
And

440
00:37:05.444 --> 00:37:08.885
so I would love to have this dream of

441
00:37:09.845 --> 00:37:13.525
robots and people and drones and everything all

442
00:37:13.605 --> 00:37:15.845
interconnected in a graceful,

443
00:37:15.845 --> 00:37:17.924
robust peer to peer mesh way.

444
00:37:20.810 --> 00:37:25.290
But usually it's just hype and we don't actually see any of it in practice.

445
00:37:25.930 --> 00:37:27.770
And maybe this time is different.

446
00:37:28.890 --> 00:37:36.335
And I wanna ask the hard questions, but I don't have the capability of asking the hard questions. So I'm asking you to ask yourself the hard questions is what I'm trying to do here.

447
00:37:36.735 --> 00:37:37.375
Yeah.

448
00:37:37.935 --> 00:37:39.055
No, I think

449
00:37:39.215 --> 00:37:41.535
that's a fair ask. It's

450
00:37:41.535 --> 00:37:47.215
a very big aim. I think it's a very big aim to say like we can make anything else than work besides IT.

451
00:37:48.350 --> 00:37:49.710
I had this idea,

452
00:37:50.190 --> 00:37:53.790
this like exactly what I told you, this local

453
00:37:54.030 --> 00:37:56.510
networking stuff. Think can

454
00:37:57.550 --> 00:38:00.510
work and I think it can work because we have the primitives of

455
00:38:03.744 --> 00:38:07.185
Noster and Blossom and eCash, right, we can transact locally,

456
00:38:07.345 --> 00:38:12.385
do micro payments. So we have a bunch of new primitives that have never been combined this way.

457
00:38:12.865 --> 00:38:13.425
And

458
00:38:13.905 --> 00:38:14.545
when

459
00:38:14.865 --> 00:38:18.050
I talked to Jonathan, who by the way is like a very OG

460
00:38:18.210 --> 00:38:21.810
OG open source His reputation precedes himself.

461
00:38:22.450 --> 00:38:24.210
Yeah. He he's been around

462
00:38:24.450 --> 00:38:29.330
in Bitcoin early on. He was on the on the mailing list, the Cypherpunks mailing list.

463
00:38:29.970 --> 00:38:31.890
He's done a ton of cryptography.

464
00:38:32.535 --> 00:38:36.695
And he he looked at it and was like, oh, this this might work.

465
00:38:37.015 --> 00:38:37.575
And

466
00:38:37.815 --> 00:38:46.215
I'm not at his level, and but I I think I nerd nerd sniped him hard enough to to come back from his retirement. Seal of approval. Yeah. Yeah.

467
00:38:47.015 --> 00:38:47.255
So,

468
00:38:47.990 --> 00:38:49.990
you know, it's

469
00:38:49.990 --> 00:38:50.550
not,

470
00:38:51.430 --> 00:38:53.750
you know, you might notice I venture

471
00:38:53.750 --> 00:39:01.670
outside of some of my comfort zone as well. Know these high over things and how we use these services together. But when it comes to cryptography,

472
00:39:01.670 --> 00:39:02.470
I have to

473
00:39:03.065 --> 00:39:04.665
give it to Jonathan there.

474
00:39:05.705 --> 00:39:09.945
Okay. So let's pull back to something that I'm actually very comfortable with.

475
00:39:10.265 --> 00:39:12.425
By the way, when Justin said

476
00:39:12.905 --> 00:39:26.510
so first of all, I saw FIPS because Jonathan posted it. And so I immediately retweeted on Noster because it was Jonathan. So I was like, okay. Like, it might be hype y, but it's coming from this dude. So I have respect for it automatically.

477
00:39:26.830 --> 00:39:28.750
And then Justin was like

478
00:39:29.155 --> 00:39:37.875
Justin was like, I you should talk about Phipps on dispatch. I was like, I would love to and I was like, I can't believe I'm getting Jonathan on the podcast. And he's like, no, Jonathan doesn't want to speak.

479
00:39:38.275 --> 00:39:48.450
But you'll get Arjun and Arjun is is very impressive individual. I met him at sovereign engineering. So by the way, that's the background of the show. But Noster. Right? So Noster

480
00:39:48.610 --> 00:39:50.290
gets a lot of shit, I think,

481
00:39:50.930 --> 00:39:52.210
because of

482
00:39:52.850 --> 00:39:53.570
people

483
00:39:54.075 --> 00:39:55.035
specifically,

484
00:39:55.035 --> 00:40:00.955
if I would distill it is like perfect is the enemy of good. Like, Noster is fascinating

485
00:40:00.955 --> 00:40:02.955
to me because it's super simple

486
00:40:03.355 --> 00:40:08.795
and robust and doesn't try and solve all the problems. It's like very relatively easy to implement.

487
00:40:09.290 --> 00:40:13.050
I mean, things like just the events being just like simple j sign JSON,

488
00:40:13.050 --> 00:40:15.130
the private keys just being simple,

489
00:40:15.369 --> 00:40:17.370
you know, single sig private keys.

490
00:40:18.250 --> 00:40:21.370
When you think about Noster used in this context,

491
00:40:22.090 --> 00:40:23.130
is there a concern

492
00:40:24.055 --> 00:40:27.655
that someone's basic digital identity is just,

493
00:40:29.495 --> 00:40:33.335
you know, just a private key that effectively can't really be rotated. Right?

494
00:40:37.450 --> 00:40:40.410
I'm not too much into the debate of rotating

495
00:40:40.410 --> 00:40:41.530
keys. I know

496
00:40:41.850 --> 00:40:42.970
it's a big topic.

497
00:40:43.930 --> 00:40:47.370
One thing I do think is that everyone should, like we use

498
00:40:47.930 --> 00:40:50.570
nostril keys in the FIPS context,

499
00:40:51.085 --> 00:40:54.125
but it's not meant to be tied to your

500
00:40:54.525 --> 00:40:57.245
Nostril, like social identity. It is just,

501
00:40:58.285 --> 00:40:59.485
should be rotated.

502
00:40:59.645 --> 00:41:04.685
We have an open issue for that. It should be rotated by default. Only when you host something, it should be static.

503
00:41:06.490 --> 00:41:10.570
Sorry, don't know if that answers your question. I mean, it kind of does. I mean, I think

504
00:41:12.650 --> 00:41:13.210
on

505
00:41:13.770 --> 00:41:15.210
the social aspect,

506
00:41:15.450 --> 00:41:19.210
I don't think it's like that big of a deal. I think you just deal with key security.

507
00:41:19.615 --> 00:41:26.335
So, it's a key security problem. Mean, you can't rotate Bitcoin keys. If your Bitcoin keys compromise, you lose your Bitcoin, but you can have many.

508
00:41:27.855 --> 00:41:28.735
And also,

509
00:41:29.135 --> 00:41:40.290
we'd have all these different mechanisms for accessible cold storage and all this other stuff. So, I think you solve it from the key storage piece. And I think especially when you start thinking about agents and stuff using these things,

510
00:41:40.610 --> 00:41:45.170
it's more important that you can spin up a ton of keys rather than

511
00:41:45.410 --> 00:41:46.690
the individual

512
00:41:46.690 --> 00:41:49.490
robustness of a single key. I mean, I've

513
00:41:50.244 --> 00:41:59.125
been diving down the AI rabbit hole, like pretty hard over the last five weeks or so. Like my agent at this point has like 25 different master keys, you know, so

514
00:41:59.925 --> 00:42:01.205
that's who

515
00:42:01.205 --> 00:42:11.350
knows, like, my point is, is the cool part is that you can just spin them up on demand all the time. But in in some practice on your side for this, are you envisioning

516
00:42:12.710 --> 00:42:14.150
that peers will

517
00:42:14.790 --> 00:42:18.630
constantly be changing their or not maybe not constantly,

518
00:42:18.630 --> 00:42:20.775
but they will be changing their

519
00:42:21.335 --> 00:42:22.215
identities

520
00:42:22.215 --> 00:42:22.935
often? Or

521
00:42:23.815 --> 00:42:35.430
Yeah. I think they should if you're if you're just consuming like right you are like you are right now. Like, you don't you don't care on your phone when you're out and about what your IP address is. Right? You're not hosting anything. No. I have no idea what my IP address is.

522
00:42:35.830 --> 00:42:46.905
Yeah. And it's actually a good thing that it changes all the time. Similar to Mac addresses when you go hop on different WiFi networks, like it's your phone spoofs it. You should do the same with FIPS keys.

523
00:42:47.385 --> 00:42:49.465
Only I've been using Starlink.

524
00:42:49.625 --> 00:42:53.145
I've been using Starlink and I was talking to a gray beard about it.

525
00:42:53.625 --> 00:43:00.490
And I was like, it's fantastic. Like, blah, blah, blah. And he's like, yeah, but Elon gimped it because the way he did the scaling,

526
00:43:00.490 --> 00:43:04.650
your IP address is like shared and rotated all the time and you can't host anything.

527
00:43:05.130 --> 00:43:11.930
And I was like, that's a huge advantage. Like, if I accidentally leaked my IP address, like, I'd rather be rotated and shared all the time. Yeah.

528
00:43:12.755 --> 00:43:15.555
DLP now is in this this part of the

529
00:43:15.795 --> 00:43:19.395
part of the globe and two minutes later, just the region basically.

530
00:43:19.555 --> 00:43:22.195
Yeah. You basically just have the region.

531
00:43:22.435 --> 00:43:28.660
So for the actual individual, it's actually a benefit. But if you wanna host something locally, it's a negative. That's interesting.

532
00:43:29.220 --> 00:43:30.420
But then how to,

533
00:43:31.700 --> 00:43:34.500
and I guess just peers would just handle that gracefully.

534
00:43:34.660 --> 00:43:35.860
They would just have,

535
00:43:36.340 --> 00:43:48.865
it doesn't necessarily have to be a static identity for your peers to know. And I think if you cycle, it's gonna be the same as like, you know, walking from from WiFi to four gs right now. If you walk out the door, you get a little hiccup. Right?

536
00:43:50.704 --> 00:43:56.430
It would be similar to That's interesting. So yeah, then that doesn't really matter, I guess, unless you're hosting something.

537
00:43:57.070 --> 00:43:57.710
Yeah.

538
00:43:57.950 --> 00:44:01.790
But if you're hosting something, how do you think about it in that regard? Like what if

539
00:44:03.310 --> 00:44:06.190
I don't know if these hypotheticals are helpful or not, but

540
00:44:07.345 --> 00:44:10.785
what if I'm the person in charge of keeping track of

541
00:44:12.385 --> 00:44:13.345
everyone's,

542
00:44:14.065 --> 00:44:17.265
the total grain that the community has or something?

543
00:44:18.065 --> 00:44:18.305
Yeah.

544
00:44:19.970 --> 00:44:22.609
And my Nostril key gets compromised.

545
00:44:23.170 --> 00:44:25.970
Is that really that bad of a situation? Couldn't I just

546
00:44:26.690 --> 00:44:29.330
broadcast out that like, I'm now at this new

547
00:44:29.410 --> 00:44:32.529
one? I mean, I don't know how they verify that I'm the one saying it.

548
00:44:34.025 --> 00:44:34.905
Well,

549
00:44:34.905 --> 00:44:40.665
that's that's social social key rotation then. Right? If if you lose your you mean, like, the social master

550
00:44:40.745 --> 00:44:41.465
key?

551
00:44:41.785 --> 00:44:50.770
Yeah. I don't know what it looks like. Look. The a lot of these problems are easy to solve locally because you just, walk to the farmer's market and you're like, yeah, it's just you can find out this new address now. Right?

552
00:44:51.970 --> 00:44:56.210
Well, I guess an example of a broader example would be

553
00:44:57.970 --> 00:45:00.530
I don't know if you saw but downdetector.com

554
00:45:00.530 --> 00:45:02.210
got sold for a billion dollars.

555
00:45:02.849 --> 00:45:03.170
Yeah.

556
00:45:04.505 --> 00:45:07.145
Isn't that wild? But anyway, I

557
00:45:07.785 --> 00:45:10.905
mean, it's Fiat games. It's like, well, what is things valued nowadays?

558
00:45:10.985 --> 00:45:14.585
But a part of the reason is not necessarily

559
00:45:14.665 --> 00:45:18.505
the data that you know, a down detector is, right? Like you go and check if it works out.

560
00:45:19.610 --> 00:45:27.050
But it's not necessarily that they have the data on what things are down. And a lot of it is user reported. Some of it is ISP reported.

561
00:45:27.370 --> 00:45:30.330
But it's also just a reputation, right? Like I know,

562
00:45:30.650 --> 00:45:39.105
if I'm having trouble with something, and I'm trying to troubleshoot if it's me, or if it's, you know, Cloudflare going down globally. If I go to down detector doc,

563
00:45:39.585 --> 00:45:41.184
they have a relatively

564
00:45:41.184 --> 00:45:47.905
good reputation that they're telling the truth and have good data. Right? So in this context, it would be some NPUB

565
00:45:47.905 --> 00:45:49.025
presumably

566
00:45:50.000 --> 00:45:54.880
that is like tracking some information that and they've been doing it for five years, ten years.

567
00:45:55.440 --> 00:46:00.160
How would they have you even thought about like how they would gracefully

568
00:46:00.160 --> 00:46:00.800
move to?

569
00:46:01.715 --> 00:46:04.995
Cause it's hard to keep a key secure for five Well, years

570
00:46:06.675 --> 00:46:10.275
I can only talk from the networking perspective.

571
00:46:10.515 --> 00:46:11.795
The social

572
00:46:11.955 --> 00:46:12.755
rotation,

573
00:46:13.075 --> 00:46:17.010
I really do not know how that should be solved. But for

574
00:46:18.049 --> 00:46:19.650
the routing side,

575
00:46:20.369 --> 00:46:25.730
if you say you are hosting an important server, say you are hosting a

576
00:46:26.049 --> 00:46:29.645
cache mint, like that's an important server and the

577
00:46:30.045 --> 00:46:49.480
traffic is encrypted with a Nostril key, which means that the key is probably hot, right? The key is used actively on the device. In that case, it might be dangerous to link that, to make that the identity of the mint, because currently the mint identity is the domain name, so if that becomes npub.fibs

578
00:46:49.480 --> 00:46:52.599
and that key leaks because it's always hot, that can be problematic.

579
00:46:53.735 --> 00:46:55.815
So it might still be useful to

580
00:46:57.015 --> 00:46:59.255
use something like NodeNS where

581
00:46:59.415 --> 00:47:07.815
you have a key maybe in cold storage that then publishes these DNS records on Nostr, get resolved by name servers that are compatible

582
00:47:08.750 --> 00:47:12.110
and that then actually link to the hot key,

583
00:47:12.270 --> 00:47:13.790
but that can then be rotated

584
00:47:13.950 --> 00:47:17.069
because the identity is then tied to Yes. That self

585
00:47:18.430 --> 00:47:22.190
But at least you can keep one in cold storage and no one should be able to touch it.

586
00:47:23.424 --> 00:47:28.464
That's a good solution. And that's a good example, by the way. I'm running my base business in my community bank.

587
00:47:28.625 --> 00:47:31.025
That's like a pretty serious responsibility.

588
00:47:31.904 --> 00:47:32.545
Yeah.

589
00:47:34.065 --> 00:47:40.220
And they need to be able to securely connect to me and know it's actually me and not some malicious actor.

590
00:47:41.420 --> 00:47:43.340
Yeah. I think that's particularly

591
00:47:44.220 --> 00:47:52.300
with Mints, I think it is a risk that it somewhat uses the domain name as its identity, right? It's mint.minibits.cache.

592
00:47:54.905 --> 00:47:58.185
So if that gets rug pulled and they change their domain,

593
00:47:58.425 --> 00:48:00.185
well, it's kind of gone from

594
00:48:02.345 --> 00:48:03.865
all the apps that I use it.

595
00:48:04.265 --> 00:48:06.985
So I think those things should probably be endpubs

596
00:48:07.065 --> 00:48:07.785
to begin with.

597
00:48:09.690 --> 00:48:14.250
I mean, on that note, I mean, it would make self hosting these things way easier,

598
00:48:14.570 --> 00:48:17.850
right? And self hosting and then connecting to them way easier.

599
00:48:18.330 --> 00:48:19.530
Yeah, that too.

600
00:48:20.010 --> 00:48:21.210
Specifically privately,

601
00:48:21.210 --> 00:48:22.410
right? Like

602
00:48:23.335 --> 00:48:33.015
the powers that be know who I don't know who runs minibets, but the powers that be knows who runs minibets because of the existing networking stack, presumably,

603
00:48:33.975 --> 00:48:36.055
it's pretty hard to get a private domain,

604
00:48:36.135 --> 00:48:40.270
it's pretty hard to have a private IP address that's not linked to your identity.

605
00:48:40.750 --> 00:48:44.030
Like he's presumably doxed to the powers that be.

606
00:48:44.510 --> 00:48:45.710
And then existing

607
00:48:45.710 --> 00:48:53.805
solutions like things like Tor or whatever, have a bunch of their own trade offs and actually solve a bunch of things with centralization themselves and centralized block lists.

608
00:48:55.165 --> 00:49:01.885
They have a bunch of what about latency issues? Like, Tor slow as hell. Would this be slow as hell in comparison?

609
00:49:02.765 --> 00:49:05.085
It's not it's not onion routed. So

610
00:49:07.070 --> 00:49:07.870
it's direct peer It's to

611
00:49:08.830 --> 00:49:09.950
to be fast.

612
00:49:10.030 --> 00:49:20.750
So I'm not making any big privacy claims here. Don't think it's necessarily way better than what we have. In some aspects it is like it's encrypted hop to hop and then also end to end.

613
00:49:21.444 --> 00:49:22.805
I think that helps.

614
00:49:23.045 --> 00:49:30.005
Of course, if you are the almighty observer of the entire network, I don't think it's gonna be much different from now.

615
00:49:31.125 --> 00:49:32.005
Fair enough.

616
00:49:32.724 --> 00:49:36.885
But right now we're forced to run through the almighty observer. In this case, we wouldn't be.

617
00:49:37.900 --> 00:49:40.060
Yeah, I think that's

618
00:49:40.460 --> 00:49:41.980
actually a big thing with

619
00:49:42.220 --> 00:49:45.180
Tollgate, right, to change is the financial incentives.

620
00:49:45.580 --> 00:49:46.540
So if you have

621
00:49:48.380 --> 00:49:49.340
more actors,

622
00:49:49.340 --> 00:50:00.195
especially on the edges, right, you're always going to have the undersea cables or like major parties. That's fine. That's going to stay that way, but if you have entire communities that self run and don't

623
00:50:00.595 --> 00:50:11.180
observe everything by choice, you can at least maybe only deduct that someone in this community looks up this thing, which is way better than always being able point down everything to every individual.

624
00:50:11.820 --> 00:50:15.340
It's kind of like in that situation, it's almost like a hosted VPN,

625
00:50:15.340 --> 00:50:17.260
shared VPN kind of privacy model

626
00:50:17.755 --> 00:50:19.835
where you have a bunch of people coming

627
00:50:19.835 --> 00:50:21.435
out to the same IP address.

628
00:50:22.315 --> 00:50:27.275
Well, yeah, I think it I think it helps to introduce more people to convince to observe

629
00:50:27.835 --> 00:50:38.810
rather than just a few. Right now, just go to large ISPs and say like, oh, you give me this information. Whereas with the Tollgate, have to go to maybe half a million ISPs because everyone has an ISP.

630
00:50:39.450 --> 00:50:40.090
Right.

631
00:50:40.650 --> 00:50:43.130
I mean, on the Tollgate piece while I have you,

632
00:50:44.885 --> 00:50:48.005
A lot of people's concerns I've heard with the tollgate project

633
00:50:48.244 --> 00:50:51.125
is like similar to running a tour exit node.

634
00:50:51.285 --> 00:50:59.845
It's like, let's say I live in Paris, and a bunch of random people are just connecting to my Wi Fi and paying me sats and then looking up maybe questionable stuff.

635
00:51:00.849 --> 00:51:04.690
Yeah. What is your answer to those people on the tollgate side?

636
00:51:05.410 --> 00:51:06.050
Yeah.

637
00:51:07.650 --> 00:51:11.570
I think the people that like have the connections to

638
00:51:11.970 --> 00:51:16.050
basically to upstream, right, to the general broader internet

639
00:51:16.185 --> 00:51:17.865
should probably imply

640
00:51:18.025 --> 00:51:20.665
or impose specific block filters

641
00:51:21.385 --> 00:51:24.185
to block things that are like clearly illegal,

642
00:51:24.825 --> 00:51:26.025
but there's no clear

643
00:51:26.745 --> 00:51:28.105
cut solution to it,

644
00:51:29.225 --> 00:51:29.865
but I think

645
00:51:30.530 --> 00:51:33.730
it's also why I want to move to local communities,

646
00:51:34.849 --> 00:51:36.210
doing everything local,

647
00:51:36.609 --> 00:51:39.650
where you should trust your community

648
00:51:39.730 --> 00:51:48.185
enough that everyone's like an honest actor or I want to maybe. Maybe it's naive, but Well, at least in small communities, you definitely could. Yeah.

649
00:51:49.545 --> 00:51:50.985
Think it's small towns.

650
00:51:51.625 --> 00:51:53.625
Yeah. It is a good point,

651
00:51:53.785 --> 00:51:55.385
but also it's not really

652
00:51:55.660 --> 00:52:00.540
it's like, are you gonna abuse cars for who's responsible for produce, is the person

653
00:52:01.020 --> 00:52:03.340
that produces the cars responsible

654
00:52:03.340 --> 00:52:06.700
for, you know, anything anyone ever does with a car?

655
00:52:07.100 --> 00:52:10.860
It becomes this, I think this moral debates that

656
00:52:11.155 --> 00:52:13.555
you take either either one stance on.

657
00:52:14.275 --> 00:52:16.595
Yeah. I mean, it's not specific to tollgate.

658
00:52:16.595 --> 00:52:24.035
I mean, you see this already, like coffee shops and stuff. Right? It's particularly in the developing world where you have bad cell connections.

659
00:52:24.800 --> 00:52:34.400
It's like every coffee shop becomes an ISP. They just don't have tollgate there to charge people for it. Instead, it's just you know, you're you're buying a coffee, so you get the Wi Fi password.

660
00:52:35.200 --> 00:52:35.920
Yeah. Yeah.

661
00:52:37.255 --> 00:52:38.695
But there's no My good

662
00:52:41.175 --> 00:52:45.735
personal opinion is that, you know, the internet should be open and free.

663
00:52:46.055 --> 00:52:47.335
I think the

664
00:52:47.575 --> 00:52:51.390
only counter movement is that you observe everything,

665
00:52:51.950 --> 00:53:00.430
start to play police on every little thing, which is what we're seemingly heading towards. I don't think that's the right future. Making everything like completely

666
00:53:00.430 --> 00:53:01.230
open and free,

667
00:53:02.235 --> 00:53:05.195
I think that's probably the best way to solve

668
00:53:05.595 --> 00:53:10.635
things in the old fashioned sleuthing way where you go after bad people whenever the

669
00:53:11.355 --> 00:53:12.315
chance occurs.

670
00:53:12.875 --> 00:53:15.995
I think that's reasonable. I think that's what a lot of us are working towards.

671
00:53:21.520 --> 00:53:27.440
I just asked my bot to steal man Phipps. I think this conversation has been fascinating. I think the project's really fucking cool,

672
00:53:27.680 --> 00:53:34.135
to be frank. I obviously need to play around with it. I'm hoping this conversation leads to more people trying

673
00:53:34.135 --> 00:53:35.815
it out, giving feedback.

674
00:53:36.855 --> 00:53:45.415
Yes, please. We want we want a lot of people to test it. What's the process for well, like, how does someone go about doing that? How should they think about

675
00:53:46.710 --> 00:53:47.510
testing Yeah.

676
00:53:49.590 --> 00:53:51.430
So the current lead repository,

677
00:53:51.510 --> 00:53:55.590
there's some manuals where you can compile and run it yourself.

678
00:53:55.830 --> 00:53:57.110
There's test cases,

679
00:53:57.625 --> 00:53:58.665
Docker

680
00:53:59.625 --> 00:54:07.625
based meshes you can spin up quite easily. There's like step by step guides. Your LLM can do it and we're currently working on packaging

681
00:54:08.425 --> 00:54:08.745
it.

682
00:54:09.700 --> 00:54:15.780
Tarball should be ready any moment now and I'm working on packaging it for OpenWRT

683
00:54:15.780 --> 00:54:16.660
routers

684
00:54:16.740 --> 00:54:18.100
and a bunch more.

685
00:54:19.220 --> 00:54:22.100
That's awesome. Then it should become easier to deploy it as well.

686
00:54:26.005 --> 00:54:26.645
I

687
00:54:26.805 --> 00:54:32.245
okay. So I'm gonna play around with it. Hopefully, the freaks play around with it, give feedback.

688
00:54:32.805 --> 00:54:35.445
Those who can will look over

689
00:54:36.130 --> 00:54:39.650
the code and specs and maybe provide feedback and advice on that side.

690
00:54:40.609 --> 00:54:49.970
And then when I'm a little bit more fluent in it, and more people are using it, I would love to have you back on when I can ask more reasonable questions. And I hope I wasn't too much of a struggle here.

691
00:54:50.664 --> 00:54:52.265
I think No. These

692
00:54:52.664 --> 00:55:00.025
questions are these questions are valid, and and I have to make, like, know, some of it ventures outside of my my comfort zone as well. It's a

693
00:55:00.505 --> 00:55:02.265
and so it's

694
00:55:02.265 --> 00:55:03.224
a very

695
00:55:03.579 --> 00:55:09.820
there's a lot of things to it, and it's really hard to, you know, convey these things in in a short manner as well.

696
00:55:10.619 --> 00:55:11.740
So I asked

697
00:55:14.380 --> 00:55:16.700
I asked Opus 4.6,

698
00:55:16.700 --> 00:55:17.260
which is

699
00:55:17.715 --> 00:55:21.795
supposed to be the smartest of the models right now to steel man your project.

700
00:55:22.515 --> 00:55:25.795
Uh-huh. I've I've never done this before, but I'm

701
00:55:25.795 --> 00:55:35.610
just gonna read what Opus said. Phipps embodies a principle that the cypherpunks articulated decades ago. Privacy and freedom of communication should be enforced by mathematics, not by policy.

702
00:55:35.850 --> 00:55:43.130
Laws change, companies get acquired, governments get replaced, but the laws of cryptography don't change. A system where your privacy is guaranteed by encryption

703
00:55:43.585 --> 00:55:47.265
rather than by someone's terms of service is fundamentally more robust.

704
00:55:47.585 --> 00:55:54.865
Phipps is ambitious, but not delusional. It's technically sound, addresses a real and growing need, is built by someone with relevant deep expertise,

705
00:55:55.265 --> 00:56:13.850
integrates with an existing ecosystem, and is designed to work even at small scale. It gets even 10% of the way to its vision, it can provide genuinely lifesaving communication infrastructure for people living under authoritarian regimes and a meaningful privacy upgrade for everyone else. The Internet was supposed to be a network of peers. Somewhere along the way, it became a network of subjects.

706
00:56:14.295 --> 00:56:17.015
Phipps is trying to make it a network appears again.

707
00:56:17.734 --> 00:56:21.655
Ma'am, you didn't even have to have me on because of just generating That's pretty good. Right?

708
00:56:22.454 --> 00:56:25.174
That was just a one shot prompt to Steelman Phipps.

709
00:56:27.380 --> 00:56:29.140
And I gave you that's a great summary.

710
00:56:30.900 --> 00:56:38.340
That's a great. Okay, well, I had a great time. I'm excited. I'm excited to see where this project goes. You have any final thoughts for the freaks before we wrap?

711
00:56:39.954 --> 00:56:40.835
Test it.

712
00:56:41.795 --> 00:56:42.915
Fair enough. Get feedback.

713
00:56:42.994 --> 00:56:43.955
Break it.

714
00:56:45.315 --> 00:56:46.675
All that. I will

715
00:56:46.835 --> 00:56:57.530
link to the GitHub repo. I'm gonna link to sovereign engineering. I think if you're a developer out there, should check it out. It's a really great program. Anything else I should link to in the show notes for the freaks?

716
00:56:59.130 --> 00:56:59.930
Tollgate.

717
00:57:00.809 --> 00:57:06.010
Tollgate. I'll link to Tollgate. You're you're on Noster too. Do you have a personal input on Noster?

718
00:57:06.555 --> 00:57:07.515
Yeah. Yeah.

719
00:57:08.474 --> 00:57:18.955
You don't have to say it out loud. You can just send it to me, and then I'll put it in the show notes as well. Awesome. I'm not gonna make you read the m pub. Okay. Arjun, this was awesome. Thanks for joining.

720
00:57:19.515 --> 00:57:20.555
Yeah. Thanks for having me.

721
00:57:21.430 --> 00:57:24.230
Freaks, I hope you enjoyed the show. Provide feedback.

722
00:57:24.790 --> 00:57:26.870
All links are still dispatch.com.

723
00:57:26.950 --> 00:57:29.030
You go to primal.net/citadel.

724
00:57:29.030 --> 00:57:29.910
It's the main

725
00:57:30.310 --> 00:57:31.590
citadel master experience.

726
00:57:33.145 --> 00:57:37.385
That's the best place to leave feedback. Then the rest of the community can jump in and everyone can comment.

727
00:57:37.625 --> 00:57:40.185
I'll tag Arjun there in that post as well.

728
00:57:40.745 --> 00:57:41.385
Awesome.

729
00:57:42.105 --> 00:57:44.905
Love y'all stay on the stack sets. Peace.

730
00:57:45.545 --> 00:57:45.865
Cheers.