Oddbean new post about | logout
 Fair point, but that is tech debt not architecture debt. Apps don't have to hard code this, its just convenient for now. The source of truth is the PDS and you can self host that with did:web credentials. Eventually if the network gets to a certain scale, there will be SaaS companies like Supabase or Vercel offering 'ATproto relay as a service' so devs don't have to depend on them to build their apps.  
 Fair response, but I think you're not realizing how big this "relay" stuff can get. It's purpose is to download, store and serve ALL of the posts from a network that aims to be global, so we are talking about a lot of data (and a lot of connections to PDSes everywhere, one PDS for each human), so I think the only thing you can claim is that there will be 2 or 3 other companies running alternative "relays", like Cloudflare, Google and Amazon.

Even then it's hard to believe this will happen or that it would have a big impact because it would be mostly inconsequential -- 99% of the people will just use the default Bluesky (the company) relay, and if the Hunter Biden laptop is censored by the Bluesky relay, then the Cloudflare and the Google relay are also likely to censor it, right? Even if they don't, who is going to manually switch?

Or if some big influencer is banned from Bluesky then actually starts running their own "relay" for a huge cost, how many of the people who would otherwise be hearing from them would switch? How many people who followed Trump on Twitter joined TruthSocial in order to keep following him? 
 Yes, there will probably be only a few big world relays, just like there are only a few search engines. The difference is you can verify when relays are censoring which will incentivize them to be as neutral as possible, as long as there is one relay that is a good actor. It's actually very analogous to Bitcoin mining pools. Economics forces only a handful to exist, but as long as there is one transparent and fair option ( Ocean ), then the others can't collude as the switching cost is low due to the open nature of the protocol. It's the same with AppViews. This is all theoretical of course, time will tell. 
 How is this materially different for nostr relays? Sure, nostr clients connect to a few relays, improving censorship resistance greatly, but generally nostr relays are expected to have a large majority of all notes in the social context. 
 No, they are not. The entire idea of Nostr as a censorship-resistant thing was always that clients would connect directly to the original source of events as decided by the publisher, so if I follow you and you decide to publish only to relay.bitcoin.ninja then my client should connect to that server directly and fetch your notes. 
 Yea but in practice (a) clients mostly don’t, and for very good reason - probably you don’t want to leak your IP to everyone you follow and (b) the number of people with their own relay is very small, instead most users rely on some relay existing that will host everyone’s crap for free. 
 I guess if you ignore relative usage most clients in fact _do_ implement it (Coracle, Snort, Gossip, Highlighter, Habla, Yakihonne, Yana, Voyage). The ones that don't are in process of implementing it (Damus, Amethyst, Nostur, Nostrudel).

I'm pretty sure the reason why they didn't implement it in the first place wasn't because of any of these reasons, it was because of a misunderstanding of how Nostr was supposed to work, and also because they followed the example of my first client, which was badly designed and I left that relay part to sort out later because it wasn't clear to me how I was going to do it. Then later some people may have come up with reasons like IP leakage and whatnot to justify their poor initial choices (again, I take the blame for it).

In any case if we are talking about a Nostr in which clients _do not_ do the outbox model and just connect to a fixed set of big relays then I'll probably agree with you that Bluesky is better than Nostr. 
 On IP Leakage.  Fiatjaf’s actions speak for themselves. He quietely included analytics that share IP addresses with third parties, without consent, then promoted it prominently on the front page of the protocol area.  You can verify this yourself at https://nijump.me (warning: it includes spyware not found in the source). It’s concerning that other developers either ignored this or made light of it, instead of addressing the clear violation of trust. This behavior undermines  claims of caring about IP Leakage.



https://image.nostr.build/9fe474ffeb8f500c444f453f3aaf26c04e3c9794105d1014e1d1c3a8d4298c52.jpg 
 this is concerning