¶ Intro / Opening
Happy Bitcoin Friday, freaks. It's your host, Odell, here for another sale dispatch. The show focused on actual Bitcoin and freedom tech discussion. Today is Friday, March 6 at twenty two hundred UTC. The current Bitcoin block height is nine three nine six three one. Sats per dollar, one four six five. Current US dollar price is 68,239. 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
ounces of gold buys you Bitcoin. We're outperforming gold on the week, but not on the day, the month, or the year. Well, we will eventually, hopefully. Expecting. We'll see. As always, dispatch is funded by our viewers, viewers like you. Thank you guys for supporting the show with your hard earned Bitcoin. We have no ads or sponsors.
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.
All relevant links at citadeldispatch.com.
¶ Introducing FIPS and the goal of a middleman free internet
Anyway, freaks, I have a great show today. We are gonna be talking about the recently announced FIPS project, which I believe stands for free Internetworking peering system. And it's basically the idea of of building the Internet from the ground up without all the middleman bullshit
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? I'm good. Thank you for having me. What was my basic explanation decent? Yeah, I think so. I think so. What is FIPS? So FIPS is a attempt to do networking
in a way that doesn't require any authority to be involved. The need actually came from a tollgate where you know, we pay for internet access for, but if you have a system where you know, can pay other people to peer with them basically, you need, you can switch between the people.
So if you switch the person you're buying your internet from, 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.
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, we have internet service providers. We have DNS providers. We have all this different, all these middlemen that are involved in networking everyone together. And our IP address is our quote unquote identity, I guess, on the Internet.
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? Exactly, yeah.
¶ Why static IPs fail for hosting and how FIPS reframes identity
So, FIPS, yeah, so continue. 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.
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, 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. Right. So in this situation, everyone has a Noster public key private key pair, which you can spin up relatively easily. That's your public identity.
And then this is why I think it's fascinating because conceptually high level, it makes a lot of sense to me. So then you're able to just connect peer to peer between those public keys 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.
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. How about how is that possible? That doesn't like what's the nitty gritty that actually makes that reality versus just something that just seems really cool and
¶ Decoupling transport and routing: protocol-agnostic design
in a tweet. It is just by by decoupling 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 have 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 and what we found is it's better if you have something that works across it and just show, expose some interfaces
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 doesn't have to doesn't care about that.
¶ Peer discovery across Wi‑Fi, Bluetooth, and local broadcast
But then how does discovery work? 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. That way people can discover you and send messages back. Oh, yeah. Word with me here on hypothetical because it I understand hypotheticals better. Let's say you're successful. This project is a smashing success and five years in the future.
You're in a different country than me. I have your public key. I want to send you information. How does me pressing enter on my side get to you?
¶ Future global routing ideas and decentralized discovery
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 one thing that can help us with that where 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. So are similar
to like what a DNS server currently is? How does that look? 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 use your Nostra keys to sign something and like how people can find you, but you can do it in a way where there's not one
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 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.
But I think we should backtrack a bit first, like, to Let's backtrack. Yeah. Whatever you think it on the local level.
¶ Local mesh handshakes, Noise encryption, and Bloom filters
So on the local level, you discover a peer and you encrypt, 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, where two peers use a noise protocol to establish an encrypted connection. And every peer does that amongst each other and so every hop of the way is individually encrypted.
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, is that every peer holds a Bloom filter of the people that they can reach, so if you connect to a peer that can already reach say like 10,000 other peers, it will give you a Bloom filter, which is a very compressed version of a list of NPUBs that it can reach, which is one kilobyte at this moment.
You get that and then whenever you get a packet that's for any of those 10,000, you know that that peer that's on your left hand side can actually reach it. Got it. So in practice, each peer is almost like a DNS server. I think it's hard to make that comparison because it's not it's a different if it's a different way of doing things. Right. It's fundamentally different, but each peer is also my method of discovery. Yes. In a smaller local mesh, that is the way you found other.
Yeah. I mean, could, this is a interoperable way of rolling out like a local community mesh relatively easily.
¶ Community meshes, resilience, and mixed transports
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? 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. You can do it if, you know, half the network fails, you go over Bluetooth, whatever works. Whatever method you have available,
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. Yeah. Or even satellite uplinks.
¶ Starlink and bridging meshes over the wider internet
Now, if one person have you guys, is it in scope of the project? If like one person has 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 the regular internet stack IPs, but you can establish 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.
Yeah, I mean, because like in practice, 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
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. Now, 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,
which is great, still an advantage. It's better than the alternative, 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.
Now, the dream high level in my mind has always been, you have like local meshes,
¶ Use case: protest resilience and reconnecting to the world
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? Yes, because you can introduce basically, say quote unquote, tunnel to the rest of the world from anywhere
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, 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. That's awesome.
¶ Origins: conferences, Sovereign Engineering, and NoDNS
I mean, have you talked to the you talked to the Bitchat guys at all? No. We just we just released it actually. So it was two weeks ago. I just met. The idea has been around for a little while and I met Jonathan just in last November and we kept talking about the idea and so that slowly developed over the last few months and just the last couple of weeks we had a working Did you guys meet at Sovereign Engineering? No, at a conference in Costa Rica.
There was this conference, the Nostra conference, 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. So what is the Sovereign Engineering connection? Justin Moon introduced us. I believe he met you at Sovereign Engineering? Yeah, correct. Yeah. What was the Sovereign Engineering
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. Yeah. So some of the original idea and like addressing with NPUBs is something I worked on at Sovereign Engineering last year.
It came from the idea is like, we can 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. That experiment turned into what's called now a no DNS, where someone signs cryptographically in a Nostril message, all the DNS records publishes that and other people can resolve that as DNS.
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,
¶ From NoDNS to FIPS: faster updates, remaining gaps
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. I didn't realize so Tollgate is your project as well? I work on it as well. Yeah. Yeah. So you were in Sovereign Engineering for Tollgate specifically? The
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. I think it's a super cool project too. I the
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 is the idea that people will be paying for peering or have you thought about that at all?
¶ Economics: sats for peering and incentive-aware routing
Yeah, that's my hope for sure. And the whole reason FIPS exists is because we don't have a way to do this dynamically changing network. So I think payment is a very important part of it because 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? But that's definitely a next step, but it can be combined.
Mean, wouldn't something like that be necessary because would have you thought at all about DDoS concerns or any any kind of malicious attacker trying to flood the network or break down the mesh?
¶ Abuse, DDoS surfaces, and defenses via npubs and rate limits
Yeah, there's a couple of things there. The mesh, when joining the mesh physically, 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, you need to know the NPUB because on the routing layer, the nodes 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.
So that gives you some protection. If your NPUB is not known by the whole world, it's hard for someone to DDoS you. Interesting. Because that would be the attack, right? If we were going go down our hypothetical. Yeah. And you're in you're in Iran, and the government shutting down the internet, 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. Yeah. I mean, it's a,
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. Well, the current Internet just solved it with centralization. Right? Yes. Yeah. You have Cloudflare to do these things.
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. So that's why an internet that is designed to fracture and recombine is very useful.
¶ Learning from mesh hype cycles and bootstrapping adoption
Well, what I like about this is it's very pragmatic because 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.
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.
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, is this bootstrapping issue, where, need a critical mass of at least your neighbors to be using it for it to be useful. And people saw with BitChat, right? It's like they would download BitChat,
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,
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. But at scale to actually, like, see it work at scale,
it's just a really hard problem. But one of the things that I've thought about historically is if you could bootstrap it in a way that it works with modern internet infrastructure, until the modern internet infrastructure isn't needed anymore, then that makes it way more useful. Because if we're in different parts of the world, but we can use this tech to communicate because of the existing internet infrastructure.
Then all of a sudden, it's useful today without actually having the build out of people internet connected all the way between us or whatever. Right? Does that make sense? Yeah. Yeah. And there's a couple of things to unpack there too, is that I really hope we can nerdsnite the
people from BitChat into this. If, you know, if you run a mesh that is cross transports, 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, whereas if it was just you can just send TCP IP traffic like through this, like any existing application, like a Relay and a and a Nostra app, then you can do this over Bluetooth without having to specifically design
the app to also support that.
¶ Lowering app friction: make existing apps work over FIPS
Can we go a little bit deeper there? How does that look in So, 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. Now on these phones, can host something like a Nostra relay. Now everyone can reach that relay over a npub.fibs address from any app on their phone.
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 so many use cases at once. But so how does that look in practice for like an app developer? How would they integrate in that situation? So
if I would say like white noise, right? Yeah. Still the chat app. Good example. White noise connects to Nostril Relays. Noise does what white noise does best, like do all the encryption, do all the rotation, group management, but they might not wanna put so much effort into making a Bluetooth mesh. If they if someone that uses their app on their phone also connects to a Phipps network, they can just configure a relay like they always would, saying npub.
FIPS in the relay list, then they can already talk to that relay that's on FIPS. Now if they then move around inside that mesh and other people join, they go from Bluetooth to WiFi, they can still reach that relay that is elsewhere in the network. So they don't have to change their app to work over Bluetooth. But they do they have do they they have to add FIPS support specifically though. Right?
No. That's that's one of the things that I really wanted in here is a, I should have mentioned that earlier, is a system where it works for existing applications that expect the IP stack to work. Because I looked at some of the other protocols and what I found is they
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,
¶ DNS trick: IPv6 mapping and transparent transport
it's not going to fly. So the way this works is we add a custom DNS server together with FIPS, the FIPS daemon. 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. What that DNS server does is it gives you back an IPv6 address that is deterministically derived from that NPUB, which is the same as the node ID of the destination. That's wild.
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 becomes IP packets and then down at the bottom where, you know, the system would send it out as an IP packet, we know we just generated that I b v six adder, so we intercept it and actually send it over FIPS instead. And the app just thinks it's using the regular Internet.
Yes. 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, I found I was like, okay, I'll make something like this, 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, you know, rewrite everything from scratch. So it has to work with everything that we already have. That's awesome.
I mean, I think that's the key, right? That's the key for bootstrapping. Then you don't even have to, the app developers don't have to change a thing. Yeah. I think I think that's a that's a must have. I don't think anything like this can can scale if it doesn't isn't backwards compatible.
¶ Backwards compatibility as a must-have for scale
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. I mean, I'm reading through your Git repo. 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. We can we can still try to get him in.
What do you wanna talk about? What is is most interesting to you here? You have thousands of people listening to the show. What do you wanna talk about? Think I think the opportunity to 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.
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
¶ Rethinking data flow with Nostr streams and local hosting
with, say, half a million people or a million people, you don't even need the traditional Internet. Like, the traditional way of doing things is we go out, like, when we visit a website, right, I go to amazon.com. Way it works now is I send a message to Amazon. It's like, go fetch. Go fetch. Go fetch. And I think in a world with Nostr, where everything everything in Nostril is is a stream, all the data is signed so we can do replication wherever needed.
So what we can do with that is we collect information once, 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 on the relays and then from there we can spread that information.
So I think if we have a decent way of hosting that stuff inside this network that can rearrange and is resilient, then it doesn't matter as much when connections outside are unstable, 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.
You can run your Bitcoin nodes, your Cashew mints, and Nostra Relays and Blossom servers in your town and the main cable gets cut, well, okay, it sucks, but you can still chat with everyone over all the over white noise. You can still use Primal. Right? And then what and then the key is when that cable gets uncut or whatever, don't know what the opposite analogy is. When you get reconnected, you can gracefully reconnect to the water network.
Yeah. And then you can see, like, what was gone, what is not. Right? That boundary, Nostra allows us to completely remove the boundary between what is offline and online is becomes a spectrum of offline and online.
¶ Offline-to-online spectrum and graceful reconciliation
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, and I'm not connected to any other node, then I'm offline. Where it's like you can be a little bit online where you have one other node to heal in Zoom phone. Yeah. So there's no And then every because of nostril, everything's signed. It's all verifiable. You can gracefully reconcile afterwards.
Yeah. So the way information flows, I think, will dramatically change in a nostril world. What are the hurdles you face? Like, what are the trade offs here? Like, concerns? What are the deal breakers? How are you thinking about that? 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.
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?
¶ Status update: early servers, testers, and bandwidth limits
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? 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? No. He said he didn't yet. We have to bully him into doing it. Fair enough. I'll try and get my feet wet. This Is there limitations? Is it like a bandwidth users?
You know, where are the where are the points of failure here? As someone who I 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. So, there are limitations on the physical trash Not straw can man, by the Steelman. Sorry. Continue. The know I can't oh, I'm sorry. Like, limitations on, like, Wi Fi connections or, like, actual physical limitations?
¶ Physical constraints: MTU, Bluetooth, LoRa
Yeah. WiFi and ethernet are fine, but it is like the lower you get, like you have tech like LoRa, right? There is in the way internet protocols work, you have something called an MTU, which is the minimum, I'll find where, what the full meaning is, but it's the amount of bytes you can transfer in one go on a network, so on traditional IP that's like 1,500 bytes for every packet,
something like that. You can go up and down in some networks, but if you have transports that are less reliable or lower power, something like Bluetooth uses smaller packets, but still works fine. But if you go down to LoRa, like LoRa MeshTestik, they might get too small to send, like the minimum size of a FIPS packet might be too big for those.
Although there's some really exciting developments with stuff like Halo, which is a WiFi standard on the LoRa frequencies, so I do have hopes that even though it's the same frequencies, the throughput can be increased in the coming years and then maybe that will become feasible, but stuff like satellite uplinks might be already. 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.
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. What's happening with the lower projects? Are you following it or? I'm not following it that much. I think it's cool, but a lot of them have been around for years, right?
I really hope that's my, maybe it's wishful thinking that if the throughput can get higher, which Corbador, the guy I work with for Tallgate, he knows a lot about doing wireless and 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. It is the tech that's used on either end on like how much data you can put through that on that same frequency
at once. With newer hardware, you can use the same frequencies, but actually transmit more data at once. So I think if those 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? I don't know. I don't know exactly what they But it's like whatever their specific protocol is, that is actually the limiter
or It's yeah. No. It's a bunch of things. It's the hardware. It's the protocols they use for But the goal is your I guess your point here, the high level point is that 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
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 that people that are then more technically sound on on the hardware side could come up with low power ways of handling it. Yeah. Right. Yes. That's awesome.
¶ Reality checks: pitfalls, past meshes, and expectations
What are there any other pain points to Steelman? I just I just wanna be clear here. Like, I have I got into the Laura hype. I got into the Gotena hype. Gotena's proprietary as hell. I don't know. I just been through a lot of mesh hype to the point where when bitch had came out, like, I I went along with the hype, like, internally, I was fading it. I was like, yeah. Yeah. So what are what are the things that you hit that
this, I guess, disappoint you? Or I just want it to be a reality, you know, like, the modern Internet sucks. But story of the story of humanity is us just solving problems by centralizing things. It's the easiest way to do it. And as a result, 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.
And so I would love to have this dream of robots and people and drones and everything all interconnected in a graceful, robust peer to peer mesh way. But usually it's just hype and we don't actually see any of it in practice. And maybe this time is different. 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. Yeah. No, I think that's a fair ask. It's
a very big aim. I think it's a very big aim to say like we can make anything else than work besides IT. I had this idea, this like exactly what I told you, this local networking stuff. Think can work and I think it can work because we have the primitives of Noster and Blossom and eCash, right, we can transact locally, do micro payments. So we have a bunch of new primitives that have never been combined this way.
¶ New primitives: Nostr, Blossom, eCash; Jonathan's role
And when I talked to Jonathan, who by the way is like a very OG OG open source His reputation precedes himself. Yeah. He he's been around in Bitcoin early on. He was on the on the mailing list, the Cypherpunks mailing list. He's done a ton of cryptography. And he he looked at it and was like, oh, this this might work. And 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.
So, you know, it's not, you know, you might notice I venture 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, I have to give it to Jonathan there. Okay. So let's pull back to something that I'm actually very comfortable with. By the way, when Justin said
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. And then Justin was like 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.
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 gets a lot of shit, I think, because of people specifically, if I would distill it is like perfect is the enemy of good. Like, Noster is fascinating to me because it's super simple and robust and doesn't try and solve all the problems. It's like very relatively easy to implement.
I mean, things like just the events being just like simple j sign JSON, the private keys just being simple, you know, single sig private keys. When you think about Noster used in this context, is there a concern that someone's basic digital identity is just, you know, just a private key that effectively can't really be rotated. Right?
¶ Identity concerns, key rotation, and operational practices
I'm not too much into the debate of rotating keys. I know it's a big topic. One thing I do think is that everyone should, like we use nostril keys in the FIPS context, but it's not meant to be tied to your Nostril, like social identity. It is just, should be rotated. We have an open issue for that. It should be rotated by default. Only when you host something, it should be static. Sorry, don't know if that answers your question. I mean, it kind of does. I mean, I think on the social aspect,
I don't think it's like that big of a deal. I think you just deal with key security. 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. And also,
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, it's more important that you can spin up a ton of keys rather than the individual robustness of a single key. I mean, I've
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 that's who 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 that peers will constantly be changing their or not maybe not constantly, but they will be changing their identities often? Or
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. 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.
Only I've been using Starlink. I've been using Starlink and I was talking to a gray beard about it. 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, your IP address is like shared and rotated all the time and you can't host anything. 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.
DLP now is in this this part of the part of the globe and two minutes later, just the region basically. Yeah. You basically just have the region. So for the actual individual, it's actually a benefit. But if you wanna host something locally, it's a negative. That's interesting. But then how to, and I guess just peers would just handle that gracefully. They would just have,
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? It would be similar to That's interesting. So yeah, then that doesn't really matter, I guess, unless you're hosting something. Yeah.
But if you're hosting something, how do you think about it in that regard? Like what if I don't know if these hypotheticals are helpful or not, but what if I'm the person in charge of keeping track of everyone's, the total grain that the community has or something? Yeah. And my Nostril key gets compromised. Is that really that bad of a situation? Couldn't I just broadcast out that like, I'm now at this new one? I mean, I don't know how they verify that I'm the one saying it. Well,
that's that's social social key rotation then. Right? If if you lose your you mean, like, the social master key? 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? Well, I guess an example of a broader example would be I don't know if you saw but downdetector.com got sold for a billion dollars. Yeah.
Isn't that wild? But anyway, I mean, it's Fiat games. It's like, well, what is things valued nowadays? But a part of the reason is not necessarily the data that you know, a down detector is, right? Like you go and check if it works out. 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. But it's also just a reputation, right? Like I know,
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, they have a relatively good reputation that they're telling the truth and have good data. Right? So in this context, it would be some NPUB presumably that is like tracking some information that and they've been doing it for five years, ten years. How would they have you even thought about like how they would gracefully move to?
Cause it's hard to keep a key secure for five Well, years I can only talk from the networking perspective.
¶ Hosting sensitive services: hot keys
The social rotation, I really do not know how that should be solved. But for the routing side, if you say you are hosting an important server, say you are hosting a cache mint, like that's an important server and the
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 and that key leaks because it's always hot, that can be problematic.
So it might still be useful to use something like NodeNS where you have a key maybe in cold storage that then publishes these DNS records on Nostr, get resolved by name servers that are compatible and that then actually link to the hot key, but that can then be rotated because the identity is then tied to Yes. That self But at least you can keep one in cold storage and no one should be able to touch it.
That's a good solution. And that's a good example, by the way. I'm running my base business in my community bank. That's like a pretty serious responsibility. Yeah. And they need to be able to securely connect to me and know it's actually me and not some malicious actor. Yeah. I think that's particularly with Mints, I think it is a risk that it somewhat uses the domain name as its identity, right? It's mint.minibits.cache.
So if that gets rug pulled and they change their domain, well, it's kind of gone from all the apps that I use it. So I think those things should probably be endpubs to begin with.
¶ Self-hosting privately, Tor comparisons, and latency
I mean, on that note, I mean, it would make self hosting these things way easier, right? And self hosting and then connecting to them way easier. Yeah, that too. Specifically privately, right? Like 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, it's pretty hard to get a private domain, it's pretty hard to have a private IP address that's not linked to your identity.
Like he's presumably doxed to the powers that be. And then existing 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. They have a bunch of what about latency issues? Like, Tor slow as hell. Would this be slow as hell in comparison? It's not it's not onion routed. So it's direct peer It's to to be fast.
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. I think that helps. Of course, if you are the almighty observer of the entire network, I don't think it's gonna be much different from now. Fair enough. But right now we're forced to run through the almighty observer. In this case, we wouldn't be.
¶ Observation, Tollgate incentives, and community privacy
Yeah, I think that's actually a big thing with Tollgate, right, to change is the financial incentives. So if you have more actors,
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 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.
It's kind of like in that situation, it's almost like a hosted VPN, shared VPN kind of privacy model where you have a bunch of people coming out to the same IP address. Well, yeah, I think it I think it helps to introduce more people to convince to observe 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. Right.
¶ Tollgate legal concerns and community norms
I mean, on the Tollgate piece while I have you, A lot of people's concerns I've heard with the tollgate project is like similar to running a tour exit node. 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. Yeah. What is your answer to those people on the tollgate side?
Yeah. I think the people that like have the connections to basically to upstream, right, to the general broader internet should probably imply or impose specific block filters to block things that are like clearly illegal, but there's no clear cut solution to it, but I think it's also why I want to move to local communities, doing everything local, where you should trust your community
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. Think it's small towns. Yeah. It is a good point, but also it's not really it's like, are you gonna abuse cars for who's responsible for produce, is the person that produces the cars responsible for, you know, anything anyone ever does with a car? It becomes this, I think this moral debates that you take either either one stance on.
Yeah. I mean, it's not specific to tollgate. 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. 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. Yeah. Yeah. But there's no My good personal opinion is that, you know, the internet should be open and free.
I think the only counter movement is that you observe everything, 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 open and free, I think that's probably the best way to solve things in the old fashioned sleuthing way where you go after bad people whenever the chance occurs. I think that's reasonable. I think that's what a lot of us are working towards.
¶ Call to action, testing FIPS, and packaging plans
I just asked my bot to steal man Phipps. I think this conversation has been fascinating. I think the project's really fucking cool, to be frank. I obviously need to play around with it. I'm hoping this conversation leads to more people trying it out, giving feedback. 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 testing Yeah.
So the current lead repository, there's some manuals where you can compile and run it yourself. There's test cases, Docker 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 it. Tarball should be ready any moment now and I'm working on packaging it for OpenWRT routers and a bunch more. That's awesome. Then it should become easier to deploy it as well. I
okay. So I'm gonna play around with it. Hopefully, the freaks play around with it, give feedback. Those who can will look over the code and specs and maybe provide feedback and advice on that side. 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. I think No. These
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 and so it's a very 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.
¶ Closing thoughts
So I asked I asked Opus 4.6, which is supposed to be the smartest of the models right now to steel man your project. Uh-huh. I've I've never done this before, but I'm 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.
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 rather than by someone's terms of service is fundamentally more robust. Phipps is ambitious, but not delusional. It's technically sound, addresses a real and growing need, is built by someone with relevant deep expertise,
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. Phipps is trying to make it a network appears again.
Ma'am, you didn't even have to have me on because of just generating That's pretty good. Right? That was just a one shot prompt to Steelman Phipps. And I gave you that's a great summary. 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? Test it. Fair enough. Get feedback. Break it. All that. I will
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? Tollgate. Tollgate. I'll link to Tollgate. You're you're on Noster too. Do you have a personal input on Noster? Yeah. Yeah.
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. Yeah. Thanks for having me. Freaks, I hope you enjoyed the show. Provide feedback. All links are still dispatch.com. You go to primal.net/citadel. It's the main citadel master experience.
That's the best place to leave feedback. Then the rest of the community can jump in and everyone can comment. I'll tag Arjun there in that post as well. Awesome. Love y'all stay on the stack sets. Peace. Cheers.
