Need help?
<- Back

Comments (255)

  • 1dom
    > Every single time a post about atproto hits Hacker News, somebody asks in the comments: “But where are all the Bluesky instances?”. The problem is, there are no instances in atproto! The question is a category error. Instances are a Mastodon-brained concept, and I wanted something I can link to that explains this clearly.I feel like you've (perhaps purposefully?) misinterpreted "instances" just to plug ATProto specifically at the expense of ActivityPub (and RSS, a bit). I think you lower yourself by doing this:1. it forces you to omit and contort the interesting technical truths about ATProto and Activitypub, like Relays and their pros/cons for ATProto and account migrations and pros/cons for ActivityPub2. it creates unnecessary conflict and criticism and seems unnecessarily divisive for 2 platforms solving problems in such a similar spaceIt's also just seems a bit silly: why would you assume that when someone asks "where are the instances?" they're not using the common mainstream use of the word "instances", like, servers, or running software, or VMs, or containers?Sorry if this is overly harsh or I've misunderstood, but it gives me a strong vibe that it was motivated by disdain and frustration towards ActivityPub and ActivityPub users rather than wanting to legitimately inform the world about ActivityPub.I did enjoy the diagrams and the explainers though! I just felt like the subtle digs and pops at activitypub were an unnecessary distraction.
  • p4bl0
    I think the analogy presented here is broken. RSS doesn't depend on Google Reader at all. Even at its prime, RSS depended less on Google Reader than email depends on Gmail now. In ATProto, AppViews heavily depends on Relays to be useful, and Relays are quite expensive to run. Also, the yellow circles which represent blogs in the RSS illustration are really not of the same nature as the same circles which represent posts on Facebook. Blogs are self-sufficient, for example.I'm not saying ATProto is bad at all, but I feel like this blog post adds more confusion than it clarifies anything.
  • muglug
    As far as I can tell, Relays[1] are the glue that makes ATProto work performantly. I think they're supposed to be content-agnostic — they just shuttle data through, reducing the number of services each AppView needs to be aware of.As the blog mentions, the big improvement vs Mastodon is that Relays, AppViews and PDSes are separate services with their own distinct scaling demands. It's a rather beautiful solution to a system design problem.[1] https://atproto.com/guides/glossary
  • 4lx87
    If it quacks like a duck... An account has a single Personal Data Server (PDS), right? The DID links to a PDS which is the canonical data feed for a user, and where a user's writes go. Data can be replicated but the PDS is treated as canonical. That's much closer to client/server architecture than distributed architecture. There's no P2P database. There's no writes into a DHT or peers. You write to your PDS, then those writes are optionally mirrored. Also discovery happens via DNS, so you don't even ask peers for data. You connect to a relay not as a peer but as a client asking a server for a copy of data that's canonically hosted by the PDS. I don't think it's a stretch to call the PDS an instance and the relay a mirror.
  • JoshTriplett
    I appreciate how this explains the difference between the two.But I also found it a little frustrating, because it answered one part of the question but failed to answer the question so what does ATProto do to solve the problems that instances solve?For example, when this article dismisses defederation as merely a mysterious reason you might not see posts from your friends, it fails to answer "so how does atproto solve the problems that defederation solves?". Because the default reasonable answer to assume, given this framing, is "it doesn't".
  • nirui
    Facebook is not just a "evolution of this concept". I would argue they, along with Twitter (currently know as X) and other similar service is completely different from blogs.The main different is the designs Facebook has employed manipulated their users to adopt this "scroll down" method of reading. Each item of information is only displayed just a few seconds on user's screen, unless user stopped scrolling at the item they really interested in (and then maybe tap to open it).That's not the same design used by blogs. Think of blogs as mini news sites, it encourages their readers to open the content in a full page to read it without interruptions. And, the readers has to calm their heats down to read long statements, this costs time and demands focus.If you port the design used by blogs and apply it to display Facebook posts, that will be user-hostile, because user has to click each post only to read a potentially very short content.The opposite is true too. You can't encourage user to "scroll down" a wall of long texts just to read the next wall of long texts, because that will be exhausting. You can't even create the anticipation that there's more stuff down, because that will just manipulates the user to keep scrolling down and skip.That's why I think even you technically can aggregate blogs and social media in one app, you should probably be careful about it.
  • INTPenis
    ATproto sacrifices true decentralization for consistency, Mastodon and AP does the opposite, sacrifices true consistency for more accessible decentralization.At least that's how I understand it, because running an AP node is much more accessible to regular selfhosters than running one of those content relays in AT.So all you'll ever "decentralize" in AT is your own data, it's more about owning your data rather than collectively owning a part of the network.And we've been over this many times before on HN.
  • fizwidget
    This blog does a great job of explaining the architecture. In practice though I’d thought the “problem” was that Bluesky (the corporation) runs the main app and hosts almost all of the user data.So at the protocol level it’s decentralised, but in practice the system is still very centralised (in terms of who controls it).Not saying this is necessarily Bluesky’s fault, but it’s how things have played out so far right?
  • WorldMaker
    Google Reader feels like an ominous pick for an analogy. Sure, RSS survived the Google Reader shutdown, but not all the communities that used RSS (many that still don't know what RSS is) survived.It feels almost "Freudian" to claim a thing is decentralized and then by analogy keep pointing to a massive (social) centralization of a decentralized ecosystem as a good thing. But especially one that we already know the ending for. Google Reader united a lot of RSS houses, value added a social graph and social commentary between them, and then at the whims of executives Google Reader fell and nearly killed RSS, but certainly destroyed an impressive social graph.As an analogy that doesn't give me a lot of confidence in ATProto.
  • skybrian
    An important distinction is that blogs have their own websites and they're not required to publish full articles in their RSS feed.Bluesky doesn't normally work that way - everything in the PDS gets replicated. They are also encouraging people to put put full blog posts in the PDS for easy replication. So, anyone who wants to index it gets a copy and you have no control over what they do.You don't have to do it that way, though. You can publish your blog on your own website and just publish links to it on Bluesky.
  • andunie
    The RSS comparison is misleading.Atproto apps are not like an RSS reader that runs on the users' computers and connects directly to the sources of content.Atproto apps are servers that control, filter and shape the content they serve to readers.Atproto apps can censor, shadowban, show ads, algorithmize the feed into anything it wants. The user is powerless and the creator is a victim that can't do anything besides crying.The fact that any person can host their data anywhere is completely meaningless since they have no way of distributing that data.
  • RobotToaster
    There's basically only one instance.There's only one PLC directory.There's very few full relays (edit: appviews), none that I'm aware of that don't mirror bluesky censorship/moderation decisions.
  • tptacek
    I've wondered for awhile why someone hasn't started the Blogger.com of ActivityPub/Mastodon: 1 "instance" per person, no weird complicated group dynamics, the service handles all the technical details, the user draws from the same cohort as the people who signed up for Blogger blogs in the early aughts.If there are advantages to ATProto over ActivityPub in this kind of deployment setting, they don't seem clear enough to offset the weird corporate parentage; like, I can see how Mastodon keeps chugging along no matter what companies get sold to who, but I don't see how ATProto survives the death of Bsky.
  • AKSF_Ackermann
    I wonder why were relays mentioned only mentioned in passing and there was no elaboration on how they interact with the rest of the network. Maybe because doing that would show that there are in fact "instances" in atproto, but who knows?
  • basedrum
    Missing from this is Nostr, which is very similar to Atoroto
  • cavoirom
    One thing I like about the ATProto is the stable identity, I could change the hosting as the author did recently and the other users see no difference.The one down side of the system is the cost. It's cheap to host a PDS but expensive for other components. Users could not relies on "someone" for running those components for free forever.
  • consumer451
    I really want AT to succeed.It seems to be the nexus of federation + https://signal.org/blog/the-ecosystem-is-moving/
  • timbray
    ATProto is an interesting protocol and there is lots of room to argue about its plus and minuses (and about Fedi/Masto's), but lots of people are already doing that so I won't.My concern isn't technology or culture, it's money. At the moment, ATProto is existentially dependent on Bluesky PBC, a venture-funded startup ($100M from Bain Capital). There are people doing good work to make it more decentralized, more power to them, but at the moment it's still deeply centralized. And it's hard to see what the business model is that will support what Bsky PBC does at a global scale. Eventually Bain will want to see a revenue stream that justifies their investment; maybe there's a way to do that that doesn't involve enshittification but it's certainly not obvious.You can dislike the instance-centeredness of Fedi/Masto (seems to have worked OK for email over the decades) but it's an actual thing that's actually working. And offers account migration without losing followers if you don't like the instance you're on. And has multiple really excellent client software packages. And seems to be covering its costs through a mixture of Patreon, co-operative & nonprofits, some Euro-gov help, all without any VC input. It can't be bought or owned by anybody.Put another way, this is a really interesting space. But the technology is less interesting than the culture, and the culture is less interesting than the m money.
  • rzzzt
    Nobody asks _how_ are all the Bluesky instances :(
  • franga2000
    TL;DR: people complaining why there aren't bluesky instances are misunderstanding atproto. There are no "instances" like in Mastodon, atproto is different, it uses many "hostings". Except those hostings are just instances of the hosting software. And there in fact aren't that many.But you're just Mastodon-brained, you don't get it!
  • diimdeep
    My uninformed(about this particular enterprise) but educated guess: if tomorrow VC funding evaporates all this network cease to exists. I guess based on feely that 80% of all of these Relays, PDS, Apps including, Bsky are all from few if not one company, meaning centralized behind the curtain, but decentralized evangelism. It is very possible I am completely wrong, and so be it.
  • threetonesun
    I feel like the charts could be clearer if they showed the primary user experience difference between RSS and AT/AP, which is how do the arrows flow for Bob's response to Cat's post. I understand it fairly well for AP, I don't think I actually get it for AT.
  • uberex
    Thanks! Your name makes me think of a funner pre-LLM time when Elm and Redux was new and cool. Great explainer!
  • maelito
    Kind of a similar article, but in French : https://bonpote.com/bluesky-enfin-une-vraie-alternative-a-tw...
  • ponorin
    ATProto is good at what it was originally designed for: decentralizing Twitter. It allows a gradual introduction to the network and ensuring you have control over it at the same time.When a user decides to jump ship from mastodon.social run by Mastodon gGmbH to another server, they are using a similar but different service. It has different moderators, different emotes, different themes, different federation list, etc. They all have a different flavour, and, for better or worse, they come in a single package.When a user decides to jump ship from bsky.social run by Bluesky Social, PBC, first of all... what does that even mean? Do you want an alternative storage (PDS) for your data that will still be read by Bluesky the app and Bluesky the relay? Do you want a different "service" (what @ calls AppView) which is then not Bluesky? Do you want a different handle other than @[username].bsky.social? If that's the case, you don't even need to faff around with alternative PDSes or AppViews, you can just slap your domain on it!Mastodon invites users to federate by giving it a character. Bluesky slices and dices it to a point where the only reason you would bother considering decentralisation is for ideological reasons. And to that point, Bluesky has consistently prioritised building their own service up rather than decentralising. You still can't export photos and videos you've uploaded (through their AppView). Until some time ago you weren't able to return to using Bluesky's PDS once you've moved away. And of course, because ATProto operates out in the open, features such as bookmarks that are supposed to be private doesn't even go through the ATmosphere. (I'd love to know if these are exported but I don't know of a way to open their ".car" file which is neither a plaintext nor a zip file.)
  • agnishom
    > Are people migrating to alternative hosting?Yes, are they? Where are the alternative hosting that do the same thing as Bluesky?
  • jdgoesmarching
    All the nitpicking in this thread is missing the forest for the trees. You know what’s really bad for decentralization? The rest of the world living on fully centralized apps mostly belonging to one of 3 billionaires with no public protocol in sight.ATProto making some idealistic compromises to improve the protocol as a product is a more effective half-court shot at the winning users from the oligarchy of apps than AP will ever be with its current design.There’s a lot of talent in this community that could be spent building an ecosystem around the protocol far more likely to make a dent in social media centralization, but we’re stuck letting perfect be the enemy of the good.
  • toomim
    AT does have instances. They are just grouped differently.In BlueSky, there is only one single "AppView" instance in the entire network. There is one instantiated "Firehose". Each user can instance his own "PDS".In ActivityPub/Mastadon, the instances are "sender's server" vs "receiver's server."The difference isn't that there aren't "instances" in AT proto. It's just that the instances are segmented differently.
  • axus
    So all the censor needs to do is cut off one host? And then you upload everything to different host and connect that?
  • bjkeefe2
    If you're curious about atproto and feel like a n00b about it, this is a great place to start.
  • istillwritecode
    This reminds me of the early arguments about RSS.
  • numpad0
    So all the content servers under one big auth infra; you could post anything on relays and apps, doesn't matter because your account is banned and nobody has the key to fetch those invalid data from relays.I mean, that's how it went, after all. BS/AT is a fine replacement for twitpic-era Twitter, but it's not a locked-open decentralized social media.
  • Borrus-sudo
    great job explaining the concept!
  • weare138
    The AT Protocol has a federated network architecture, meaning that account data is stored on host servers, as opposed to a peer-to-peer model between end devices. Federation was chosen to ensure the network is convenient to use and reliably available. Repository data is synchronized between servers over standard web technologies (HTTP and WebSockets).https://atproto.com/guides/overview
  • yerik
    I read the post a few times, but I still have some questions that I feel weren't answered, probably because I lack the deep protocol knowledge. For context I run a 'single-user' Mastodon instance, and I don't really see how that is any different than either the blog or what ATProto offers.What I'm most confused about is that an 'instance' has just shifted elsewhere. Sure, with AP you have to choose an instance, or just go with the default mastodon.social. AT doesn't seem to have instances but, you have to choose a host, and I suppose there's probably a Bluesky default host. I can't really see how that is any different. You probably could self-host an AT host as much as you can self host an AP instance for yourself (I run mine on a $6/month VPS).The second point I don't quite get is that these apps don't seem to solve the same issues that instances do, and I believe this is the part where I'm lacking AT Protocol knowledge. If, in running my own host, I need to have software that handles access control, authentication, follows, etc, then I'm running an instance, even if it's called something else. If a host stores only data, then at some other place there is software that handles follows, access control, etc; then that software is equivalent to an instance, even if it's called something else.When people ask where the AT instances are, I think about it like this: with mastodon (or any other AP app) I control not only my data, but the code that handles it. With ATProto what it seems like to me is that I can control where my data is, but not the code that handles it (considering the main criticism that you can't run bluesky 'instances', even if instances are called something else). That's why I think 'There Are No Instances in atproto' doesn't convice me. There might not be something called instance or it might be broken down in different components, but there is at least something equivalent. If you have a million different hosts but this data is handled by a single component hosted by someone, then you can't really say it's decentralized.Sure, there are technical differences between both protocols, but from a user perspective without protocol knowledge, it doesn't seem any different from the outside. You download the app and use the default host/instance and if you don't want to be on the default one you have to get technical regardless of which protocol you chose.One bit of feedback is that the somewhat 'snarky' comments directed at ActivityPub might put off the target audience of the post, that are precisely the people who ask where the instances are. But all in all, I feel the article did a good job of explaining the differences (besides the few points I mentioned earlier) and clarifying that ATProtocol has a clear separation between the data and the presentation of the data. While it's something that AP can do (my instance works with mastodon, with pixelfed, and other 'Apps' and my data is in a machine I control), it's not the default and data tends to be tightly coupled with the big instances.
  • lern_too_spel
    Blogs are also hosted on instances, similar to the Mastodon diagram. The only difference is that the reader aggregator doesn't necessarily have to run on the blog host instance.
  • jchw
    Let's say I make a post on Bluesky, which is decentralized. My post is very contentious. It is blocked by the moderators, and the moderation service can't be disabled on bsky.app. I am now invisible on bsky.app.So when this happens where do we go? Forget about "instance brain", your problem is Bluesky is vastly more centralized in practice than the theoretical marketing. Because if it was truly practically decentralized you could actually point to numerous instances of the service, but last time I raised this point there were... 3. Except one of them was actually not running the full appview and we weren't 100% sure the other one was either.I'm sorry man, but this isn't going to cut it. A lot of people are absolutely right to not be sold on ATProto as it stands: there is no obvious reason to believe it will become more meaningfully decentralized over time rather than less. As it grows larger, the feasibility of having more "instances" that can run completely independently of Bluesky PBC becomes even less plausible.If over 99% of the users are using Bluesky PBC infrastructure and placeholder DIDs, almost all of the keys to the kingdom lie in one place, and at that point you have invented Twitter with a ridiculous number of extra steps.Can you explain to me why I would ever run my own PDS? Why would I pay to selfhost stuff while allowing someone to control almost everything I can see and do?Unfortunately, this will never get answered. It's very easy to write a long blog post explaining how ATProto is technically decentralized. It's much harder to unpack how it actually isn't really.
  • ctdinjeu2
    [dead]
  • AsterXing
    [flagged]
  • HashThis
    [flagged]
  • jrm4
    Yes, and this is exactly why ATProto is worse and more dangerous. Instances are safer. precisely because they are more genuinely decentralized.The ability to forever tie your stuff to a person, strongly, is exactly what the surveillance state would want.Mastodon's model gives you plausible deniability. It's safer.
  • MBCook
    When the first paragraph starts out by insulting people for not using the exact jargon you want them to, it really doesn’t make me want to read the rest.
  • Raed667
    Semi related post on why the moderation of federated Mastodon instances is a problem: https://blog.raed.dev/posts/mastodon_moderation
  • NoGravitas
    This article is deeply, deeply misleading, in that it leaves out relays and appviews in all of its diagrams of the ATProto network. Like, are ATProto identities namespaced by instance/home-server like Mastodon or Matrix identities? No. Does who you are able to follow dependent on the appview you connect to? Yes. Are you able to run your own appview? Probably not (this answer has been upgraded from "No" in only the last few months).
  • tomgag
    Every time I see a post praising ATProto on HN I cannot shake the feeling that this might be the product of a concerted (and VC-backed) marketing effort.ATProto is "decentr-washing" as far as I'm concerned. Even if you self-host as much as possible, if Bluesky's relay declines to crawl your PDS, or its AppView declines to index/serve your records, then to essentially the entire audience you simply don't exist. did:plc controlled by a Swiss Verein, as if this could be a reason to drop all self-sovereignty worries! Credible exit was actually always working well on ActivityPub already, and if you self-host your instance you probably won't even need it anyway. Regardless, there is FEP-ef61 now, so I genuinely don't understand why to prefer ATProto over ActivityPub, even in the foreseeable future.Let's not even talk about Nostr, that natively solves all the issues that ATProto seems to care about. Nostr is IMHO a much superior technology, unfortunately plagued by ecosystem/people and Bitcoin-dictated technical choices (BIP-340 keypairs, brrr).