There Are No Instances in atproto

There Are No Instances in atproto

atproto 中不存在“实例” (Instances)

June 19, 2026 | Pay what you like 2026年6月19日 | 随心付费

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. So this is that post. 每当有关于 atproto 的文章出现在 Hacker News 上时,评论区总有人问:“那 Bluesky 的实例都在哪儿呢?”问题在于,atproto 中根本没有“实例”!这个问题本身就犯了范畴错误。“实例”是 Mastodon 式的思维产物,我希望能有一篇可以随时引用的文章来清晰地解释这一点。所以,这就是那篇文章。

#RSS and Google Reader

#RSS 与 Google Reader

I know RSS is still being used somewhere (podcasts?!) but its heyday is arguably behind. Which is a shame. For a few years, which some of us might fondly remember as the golden age of the web, it felt like blogging was a cool thing. Now look at this picture because it’s going to be important: 我知道 RSS 在某些地方仍在使用(播客?!),但它的鼎盛时期可以说已经过去了。这很遗憾。在过去几年里,也就是我们中有的人可能怀念的“互联网黄金时代”,写博客曾是一件很酷的事情。现在请看这张图,因为它很重要:

As a reminder, you publish stuff on your own blog, which you can either self-host or host on a popular blogging platform. But then everyone’s stuff gets aggregated into apps like Google Reader and Feedly, or collective blogs like Monologue (RIP). Note that hosting and aggregation are two separate things. Your posts don’t “live” in an app like Google Reader. Apps are mere projections of the Blogosphere. Seriously, make sure this thought sears into your brain; it’s going to be essential. 提醒一下,你会在自己的博客上发布内容,你可以选择自托管,也可以托管在流行的博客平台上。然后,所有人的内容会被聚合到像 Google Reader 和 Feedly 这样的应用中,或者像 Monologue(已故)这样的集体博客中。请注意,托管和聚合是两码事。你的文章并不“居住”在 Google Reader 这样的应用里。应用仅仅是博客圈的投影。说真的,请务必把这个想法刻进脑子里;这至关重要。

#Facebook and Such

#Facebook 之流

Here’s what you could call an evolution of this concept. We put a box around the whole thing so that everyone is enclosed in the same space so we can show ads and stuff. Also, let’s leave only one app (we can let alternative apps live for a while, but not for long). That’s traditional social media. Oh no, now we have centralization! Oh no, runaway network effects! Oh no, bla bla bla. What do we do? We need to decentralize this somehow. 这就是所谓的概念演变。我们把整个东西装进一个盒子里,让每个人都被封闭在同一个空间里,这样我们就能展示广告之类的东西。此外,只保留一个应用(我们可以让替代应用存在一段时间,但不会太久)。这就是传统的社交媒体。糟糕,现在我们有了中心化!糟糕,失控的网络效应!糟糕,巴拉巴拉。我们该怎么办?我们需要以某种方式将其去中心化。

#Mastodon and Its Instances

#Mastodon 及其“实例”

I say “Mastodon” here because if I say “ActivityPub” instead, a crowd of people will show up and say that actually what I’m describing is how Mastodon chose to implement ActivityPub. Whereas ActivityPub by itself does not really specify how to actually use it in practice. I’m sure this is all very interesting—but I digress. How do we decentralize a social network? Let’s build a version of what we saw earlier, but make it self-hostable. Then every community can have their own “little Facebook” or “little Twitter”. We’ll call them instances. They’re kind of like countries—because you live “inside” one of them: 我在这里说“Mastodon”是因为如果我说“ActivityPub”,就会有一群人跳出来说,我所描述的实际上是 Mastodon 选择实现 ActivityPub 的方式,而 ActivityPub 本身并没有真正规定在实践中该如何使用它。我相信这些都很引人入胜——但我跑题了。我们该如何去中心化一个社交网络?让我们构建一个之前提到的那种模式的变体,但让它能够自托管。这样每个社区都可以拥有自己的“小 Facebook”或“小 Twitter”。我们称之为“实例”。它们有点像国家——因为你生活在其中一个“内部”:

But wait, this opens a bunch of questions. How do you choose which instance to join? Maybe you’re a member of a few overlapping communities. Well, I guess you’re just gonna have to pick which community’s admins you trust the most with handling your identity and data. Okay, now another problem—what if my friend’s on a different instance? How will they see my posts? Since each instance is basically its own little Facebook, they have no shared source of truth. So they have to send messages to each other: 等等,这引出了一堆问题。你如何选择加入哪个实例?也许你是几个重叠社区的成员。好吧,我想你只能选择你最信任哪个社区的管理员来处理你的身份和数据。好了,现在又有一个问题——如果我的朋友在另一个实例上怎么办?他们怎么看我的帖子?由于每个实例基本上都是它自己的小 Facebook,它们没有共享的真理来源。所以它们必须互相发送消息:

This network topology might remind you of warring fiefdoms in Ancient China. If Alice-from-instance-#1 follows Bree-from-instance-#2, the two instances make an agreement: Bree’s posts will be forwarded to instance #1 so that Alice can see them. That’s called “federation”. You post on your instance, and then it gets forwarded to other instances whose users wanted to hear from you. 这种网络拓扑结构可能会让你想起中国古代的诸侯割据。如果来自实例 #1 的 Alice 关注了来自实例 #2 的 Bree,这两个实例会达成协议:Bree 的帖子会被转发到实例 #1,这样 Alice 就能看到它们。这被称为“联邦”。你在你的实例上发布内容,然后它会被转发到其他有用户想关注你的实例上。

This picture has a few interesting implications: 这张图有几个有趣的含义:

  • You “belong” to your instance. You’re not Alice, you are Alice-from-instance-#1. That’s why your Mastodon login is literally [email protected]. “Where you’re from” is an immutable part of your identity. (Somehow, this manages to be even more restrictive than countries and nationalities.)
  • 你“属于”你的实例。你不是 Alice,你是“来自实例 #1 的 Alice”。这就是为什么你的 Mastodon 登录名实际上是 [email protected]。“你来自哪里”是你身份中不可改变的一部分。(不知何故,这比国家和国籍还要严格。)
  • If your instance’s admins pick a fight with another instance’s admins, they may choose to “stop federating”, and no longer forward any posts between them. That could be a surprising reason why you’re no longer seeing posts from your friends.
  • 如果你所在实例的管理员与另一个实例的管理员发生争执,他们可能会选择“停止联邦”,不再转发彼此之间的任何帖子。这可能就是你突然看不到朋友帖子的原因。
  • If your instance goes down, your identity ceases to exist. People who followed you followed you-from-that-instance, not some abstract platonic “actual you”.
  • 如果你的实例宕机,你的身份就不复存在了。关注你的人关注的是“来自那个实例的你”,而不是某种抽象的、柏拉图式的“真实的你”。
  • Oh, and the arrows between instances scale as O(n²). This might not matter much now, but it could matter if this approach to social networking becomes popular.
  • 哦,实例之间的连接线呈 O(n²) 增长。这现在可能无关紧要,但如果这种社交网络方式变得流行,它可能会成为问题。

#atproto

#atproto

Now forget all of that—full reset. The mistake was when we drew this box: Erase the box. Go back to this: We have hosting where things actually “live”, and apps aggregate from them. This worked for blogs just fine, so why wouldn’t it work for literally everything else? Like RSS, but for all kinds of stuff. That’s atproto. 现在忘掉这一切——彻底重置。错误在于我们画了那个盒子:擦掉盒子。回到最初的状态:我们有托管服务,内容真正“居住”在那里,而应用则从它们那里进行聚合。这对博客来说运行得很好,那为什么不能应用到其他所有事物上呢?就像 RSS,但适用于各种内容。这就是 atproto。

#So Where Are All the Bluesky Instances?

#那么 Bluesky 的实例都在哪儿呢?

Now you know! There are no instances in atproto. Instances are these Mastodon-brained things: They’re those isolated bundled hosting+app fiefdoms that send stuff to each other. Compare this picture to atproto. In atproto, we cut hosting apart from the aggregation at the network level: There are no instances at all! There’s hosting you can swap, and there are apps that aggregate from everyone’s hosting. It’s very much like RSS and Google Reader. 现在你知道了!atproto 中没有实例。实例是那些 Mastodon 式思维的产物:它们是那些相互发送内容的、孤立的“托管+应用”捆绑式封地。将这张图与 atproto 进行对比。在 atproto 中,我们在网络层面将托管与聚合分离开来:根本没有实例!你可以更换托管服务,也有应用可以从所有人的托管中进行聚合。这非常像 RSS 和 Google Reader。

The decentralization of atproto is richer in structure than “many copies of one app”: atproto 的去中心化在结构上比“同一个应用的多个副本”更丰富:

  • If you want to swap your hosting, you can. I literally did this today. Aside from three or four UX snags, it was all automatic. My atproto stuff is at Eurosky now. If I were more adventurous, I could host all my data myself too for free on Cloudflare.
  • 如果你想更换托管服务,完全可以。我今天就这么做了。除了三四个用户体验上的小瑕疵外,一切都是自动完成的。我的 atproto 内容现在在 Eurosky 上。如果我更大胆一点,我甚至可以在 Cloudflare 上免费托管我所有的数据。
  • If you want to try new apps or make new apps, you can do that too! Check out Tangled and Semble, which have nothing to do with Bluesky. I’ve made my own app recently (and it’s open source). I recommend you to try your hand at it too. You care about decentralization? You have full agency here. Decentralize away.
  • 如果你想尝试新应用或制作新应用,也可以!看看 Tangled 和 Semble,它们与 Bluesky 毫无关系。我最近也做了自己的应用(而且是开源的)。我建议你也尝试一下。你关心去中心化吗?在这里你拥有完全的自主权。去中心化吧。

#Free Yourself from the Instance Brain

#从“实例思维”中解放出来

Now you see why every decentralized social media discussion is derailed by this. Mastodon users measure decentralization by the number of instances because that’s the only thing you can do in Mastodon. If there’s only one type of “box”, and each box is “an app coupled with hosting”, the only thing you can do is to host more of these boxes and get them to talk to each other. 现在你明白为什么每次关于去中心化社交媒体的讨论都会被这个问题带偏了。Mastodon 用户通过实例数量来衡量去中心化程度,因为在 Mastodon 中你只能这么做。如果只有一种类型的“盒子”,而每个盒子都是“应用与托管的耦合体”,那么你唯一能做的就是托管更多的盒子,并让它们互相通信。