Rendered at 09:47:14 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
LelouBil 4 days ago [-]
I feel like it's the best ATProto architecture explanation on the web.
I hope it will make people who argue that "there are no instances in ATProto" is wrong, understand that it is actually true and not just a naming debate.
jmusall 3 hours ago [-]
The article did not make me understand that at all.
> Since we're making a new app, we're going to want two things: an app server (which hosts our API & frontend) and a view server (which collects data from the network for us).
Yes, the user data is decoupled from the apps, but aren't both stored on some kind of instances? Also:
> Why are we listening to the event stream if we're the one making the write? Because we're not the only ones making writes! There are lots of user repos generating events, and lots of apps writing to them!
Who is hosting this event stream? Aren't we making some kind of federated network by deciding on our app server which event streams or which users/apps pushing updates to listen to?
echelon 4 hours ago [-]
Is ATProto federated, P2P, or a protocol flexible enough to build all kinds of things?
Is it opinionated about which type of system to build?
Skimming this page, it looks like ATProto is a schema for the ontology, and despite saying "P2P", it looks built around federation and concerned about scaling infrastructure (rather than scaling message broadcast).
I'm interested in a p2p social network with federated supernodes (p2p first class, federation second class, relays for devices that don't want to join the swarm) for people and agents. Could you easily build that with ATProto, or is it the wrong domain?
I'm interested in true, first-class P2P. Not a bolt-on afterthought. That's the problem with all of these federated services like Bluesky and Mastodon.
A true social protocol should work like email. Any machine on the network should be able to talk it to any other machine. Of course centralization nodes will appear, but they should be optional. Used as aids for user friendliness, anonymity, and firewalling yourself off.
riffraff 3 hours ago [-]
> A true social protocol should work like email. Any machine on the network should be able to talk it to any other machine
Yes, and is that useful within the structure of the Bluesky ecosystem?
What if PDSes replicated the content of PDSes? Then it'd be available.
evbogue 6 hours ago [-]
The article seems to forget about content addressable storage and signing key cryptography and how these tools might make their software more distributed.
jauntywundrkind 6 hours ago [-]
my experience with most more-distributed internet-systems is: it's so distributed it's hard to get.
here you have Authenticated Transfer Protocol. you can get data very easily. via any of a huge range of means & sources! we have some examples ones today (direct from a pds, relay, jetstream, appview, new protocols like Atom (atproto over MoQ), new systems like hubble). and in most cases, you can tell that it's from a certain account!
i agree with you, i just think the bases are mostly covered here. i also think that it's a fascinating topic. and yes it matters. an "Atproto for Distributed Systems Engineers" probably should know why atproto has such great addressable data (not hash based though), signed key crypto. but also, if you dig in, you'll find quickly it has a great story here. (although your https://anproto.com/ indicates some clear disagreement about sufficiency.)
and the higher level what it is and how it works here is a much more useful practical guide, for getting started with.
there's a lot of people who focus on distributed, on what that means. what seems a lot missing though is that atproto is already nicely a nicely authenticated (crypto) transfer protocol. and that it's probably the best actually distributed, in terms of data availability, in terms of people trying to get your data.
evbogue 5 hours ago [-]
Yah atproto auths moving data from the pds to the index, similar to like https, but they missed authenticated distributed data storage somewhere along the way. Why is that, I wonder?
skybrian 5 hours ago [-]
Not quite sure what you're getting at with "authenticated distributed data," but records that came from a PDS are signed by the PDS. The signatures are there to enable untrusted mirrors to be used for distribution. There's a downside: you can't really disavow a post. But that doesn't seem to be the purpose of the signatures? It's more of an unfortunate side-effect.
In practice, this can be annoying and there are alternatives for people who write software that doesn't bother to check signatures.
Relying on https alone means you kinda have to get the data from the original website to know that it's authentic, and you can't prove it to anyone else other than by sending them the URL so they can check for themselves. (I mean, technically. In practice, people will trust quotes or screenshots even though they can be faked.)
evbogue 5 hours ago [-]
Yah it clearly has always done this, but why doesn't it support multi-PDS replication?
But you're right that the screenshot proto and the copy and paste proto are quite successful as a distributed system these days.
jauntywundrkind 41 minutes ago [-]
There's nothing stopping multi-PDS replication right now. It would work fine. No one would know that content is available elsewhere, is kind of the main chicken-and-egg problem.
Hubble is starting to come online, which is a network cache. With excellent storage and runtime characteristics, cheap to run. I'm not sure if this is in the same https://microcosm.blue banner-head, but the same developer, as another incredibly fantastic network service that's open for use, that's open source, that other people can also run themselves. https://atproto.com/blog/introducing-hubble-a-public-mirror-...
I agree that yes the PDS's hopefully start doing more mirroring too. It'd be nice if they would themselves also attest that they have seen it too.
I hope it will make people who argue that "there are no instances in ATProto" is wrong, understand that it is actually true and not just a naming debate.
> Since we're making a new app, we're going to want two things: an app server (which hosts our API & frontend) and a view server (which collects data from the network for us).
Yes, the user data is decoupled from the apps, but aren't both stored on some kind of instances? Also:
> Why are we listening to the event stream if we're the one making the write? Because we're not the only ones making writes! There are lots of user repos generating events, and lots of apps writing to them!
Who is hosting this event stream? Aren't we making some kind of federated network by deciding on our app server which event streams or which users/apps pushing updates to listen to?
Is it opinionated about which type of system to build?
Skimming this page, it looks like ATProto is a schema for the ontology, and despite saying "P2P", it looks built around federation and concerned about scaling infrastructure (rather than scaling message broadcast).
I'm interested in a p2p social network with federated supernodes (p2p first class, federation second class, relays for devices that don't want to join the swarm) for people and agents. Could you easily build that with ATProto, or is it the wrong domain?
I'm interested in true, first-class P2P. Not a bolt-on afterthought. That's the problem with all of these federated services like Bluesky and Mastodon.
A true social protocol should work like email. Any machine on the network should be able to talk it to any other machine. Of course centralization nodes will appear, but they should be optional. Used as aids for user friendliness, anonymity, and firewalling yourself off.
You may find littlefedi interesting
https://littleone.littlefedi.social/@stefano/blog/2026/08/07...
Sprinkled with a little bit of https://delta.chat ?
And potentially a dash of iroh https://news.ycombinator.com/item?id=48542480 https://www.iroh.computer/solutions/delta-chat ?
What if PDSes replicated the content of PDSes? Then it'd be available.
here you have Authenticated Transfer Protocol. you can get data very easily. via any of a huge range of means & sources! we have some examples ones today (direct from a pds, relay, jetstream, appview, new protocols like Atom (atproto over MoQ), new systems like hubble). and in most cases, you can tell that it's from a certain account!
i agree with you, i just think the bases are mostly covered here. i also think that it's a fascinating topic. and yes it matters. an "Atproto for Distributed Systems Engineers" probably should know why atproto has such great addressable data (not hash based though), signed key crypto. but also, if you dig in, you'll find quickly it has a great story here. (although your https://anproto.com/ indicates some clear disagreement about sufficiency.)
and the higher level what it is and how it works here is a much more useful practical guide, for getting started with.
there's a lot of people who focus on distributed, on what that means. what seems a lot missing though is that atproto is already nicely a nicely authenticated (crypto) transfer protocol. and that it's probably the best actually distributed, in terms of data availability, in terms of people trying to get your data.
In practice, this can be annoying and there are alternatives for people who write software that doesn't bother to check signatures.
Relying on https alone means you kinda have to get the data from the original website to know that it's authentic, and you can't prove it to anyone else other than by sending them the URL so they can check for themselves. (I mean, technically. In practice, people will trust quotes or screenshots even though they can be faked.)
But you're right that the screenshot proto and the copy and paste proto are quite successful as a distributed system these days.
Hubble is starting to come online, which is a network cache. With excellent storage and runtime characteristics, cheap to run. I'm not sure if this is in the same https://microcosm.blue banner-head, but the same developer, as another incredibly fantastic network service that's open for use, that's open source, that other people can also run themselves. https://atproto.com/blog/introducing-hubble-a-public-mirror-...
I agree that yes the PDS's hopefully start doing more mirroring too. It'd be nice if they would themselves also attest that they have seen it too.