I would like to give an update on "federation" on Bluesky.
-
Follow up, 2025-12-27: Rudy here confirms the Blacksky appview is still being worked on (eg: blacksky uses bluesky's appview still)
Rudy wants revolution. (@rude1.blacksky.team)
Funding for Cash comes from CCI and the Cypherpunk Fellowship ($70K total). I am still working on the app-view. I hit storage limits on the previous server during backfill and needed to buy a $14K OVH Cloud instance.
Bluesky Social (bsky.app)
The sticking point, as he describes it, is "backfill". This alludes to the issue that makes me compare ATProto to blockchain: to get the features users expect, every node on the network must mirror the network's entire history. This is impractical, which is why bluesky is as of this moment a federated network with effectively only one node.
@mcc it's such a confusing aspect of the protocol. why does everything need the firehose? how do they expect it to scale/?
-
@mcc it's such a confusing aspect of the protocol. why does everything need the firehose? how do they expect it to scale/?
@whitequark If hypothetically, just hypothetically, we imagine that a core design requirement of the protocol was "regardless of what happens in future, it must continue to be necessary that the company Bluesky LLC exists"… the decision becomes a lot less confusing.
-
@whitequark If hypothetically, just hypothetically, we imagine that a core design requirement of the protocol was "regardless of what happens in future, it must continue to be necessary that the company Bluesky LLC exists"… the decision becomes a lot less confusing.
@whitequark (More charitably: If one considered fast, full-text search to be a highest priority feature, and it was merely *unimportant* to the designer whether a second full-service node could ever function… then one might make the decisions bluesky made here.
As for scaling, I assume when the day comes they need it to actually scale they'll either discontinue or break the externally-published linear event stream?)
-
Follow up, 2025-12-27: Rudy here confirms the Blacksky appview is still being worked on (eg: blacksky uses bluesky's appview still)
Rudy wants revolution. (@rude1.blacksky.team)
Funding for Cash comes from CCI and the Cypherpunk Fellowship ($70K total). I am still working on the app-view. I hit storage limits on the previous server during backfill and needed to buy a $14K OVH Cloud instance.
Bluesky Social (bsky.app)
The sticking point, as he describes it, is "backfill". This alludes to the issue that makes me compare ATProto to blockchain: to get the features users expect, every node on the network must mirror the network's entire history. This is impractical, which is why bluesky is as of this moment a federated network with effectively only one node.
:frogsiren: BLUESKY HAS OFFICIALLY NETSPLIT :frogsiren:
There has always been more than one Fediverse. Different instances make different moderation decisions so some instances can't see posts by some users.
There has only ever been one Bluesky because every ATProto frontend uses the same Appview.
It is January 2026 and that's no longer true; Blacksky's Appview is available for beta use and there is at least 1 user banned on Bluesky but not Blacksky. And vice versa.
Rudy wants revolution. (@rude1.blacksky.team)
Bluesky runs an appview. Blacksky runs an appview. A complete appview is a several terabytes sized database of the >18 billion follows, likes and posts of all bsky users, ever and forever. To run a different appview is to make a fork in bsky’s timeline. One has new posts from Łink. One doesn’t.
Bluesky Social (bsky.app)
-
:frogsiren: BLUESKY HAS OFFICIALLY NETSPLIT :frogsiren:
There has always been more than one Fediverse. Different instances make different moderation decisions so some instances can't see posts by some users.
There has only ever been one Bluesky because every ATProto frontend uses the same Appview.
It is January 2026 and that's no longer true; Blacksky's Appview is available for beta use and there is at least 1 user banned on Bluesky but not Blacksky. And vice versa.
Rudy wants revolution. (@rude1.blacksky.team)
Bluesky runs an appview. Blacksky runs an appview. A complete appview is a several terabytes sized database of the >18 billion follows, likes and posts of all bsky users, ever and forever. To run a different appview is to make a fork in bsky’s timeline. One has new posts from Łink. One doesn’t.
Bluesky Social (bsky.app)
@mcc for us tech noobies in the audience, could you explain what does this mean?

-
:frogsiren: BLUESKY HAS OFFICIALLY NETSPLIT :frogsiren:
There has always been more than one Fediverse. Different instances make different moderation decisions so some instances can't see posts by some users.
There has only ever been one Bluesky because every ATProto frontend uses the same Appview.
It is January 2026 and that's no longer true; Blacksky's Appview is available for beta use and there is at least 1 user banned on Bluesky but not Blacksky. And vice versa.
Rudy wants revolution. (@rude1.blacksky.team)
Bluesky runs an appview. Blacksky runs an appview. A complete appview is a several terabytes sized database of the >18 billion follows, likes and posts of all bsky users, ever and forever. To run a different appview is to make a fork in bsky’s timeline. One has new posts from Łink. One doesn’t.
Bluesky Social (bsky.app)
The "portable identity" elements of Bluesky/ATProto make the netsplit just a tad odd. My account is hosted on a PDS server I run, so I'm beholden to no frontend. If I log in through the main Blacksky frontend (Bluesky appview) one user I'm following shows only an error message. Via the Staging Blacksky frontend (atproto.africa), I can see I'm following him and see his posts. I'm SO curious about the edge cases. I assume if I boost him it's hidden from the Bluesky appview. What if I reply to him?
-
The "portable identity" elements of Bluesky/ATProto make the netsplit just a tad odd. My account is hosted on a PDS server I run, so I'm beholden to no frontend. If I log in through the main Blacksky frontend (Bluesky appview) one user I'm following shows only an error message. Via the Staging Blacksky frontend (atproto.africa), I can see I'm following him and see his posts. I'm SO curious about the edge cases. I assume if I boost him it's hidden from the Bluesky appview. What if I reply to him?
@mcc When you are suspended by bluesky corp, is the ban at the app view or PDS level?
-
The "portable identity" elements of Bluesky/ATProto make the netsplit just a tad odd. My account is hosted on a PDS server I run, so I'm beholden to no frontend. If I log in through the main Blacksky frontend (Bluesky appview) one user I'm following shows only an error message. Via the Staging Blacksky frontend (atproto.africa), I can see I'm following him and see his posts. I'm SO curious about the edge cases. I assume if I boost him it's hidden from the Bluesky appview. What if I reply to him?
Oh and I can't get staging.blacksky on my phone app. So imagine if you were using Mastodon, but you saw a slightly different list of posters, *and potentially a different set of your own posts*, depending on whether you were using your PC or your phone. This is great if there's a banned user you want to follow— you get an *option* to follow them. Mastodon.social can deny me the *option* to follow someone, on Fediverse. But except in this edge case that *might* not be a fantastic user experience!
-
@mcc for us tech noobies in the audience, could you explain what does this mean?

@coracinho Does this help? https://mastodon.social/@mcc/115918101156654032
-
@mcc When you are suspended by bluesky corp, is the ban at the app view or PDS level?
@fabrice This is a VERY interesting question, as the answer appears to be "all of them". And when Link got banned, *that answer appeared to be surprising even to Bluesky employees*. The original messaging from Bluesky suggested you'd get banned only by the "labeler"— a third thing altogether. But there's obvious problems with that answer, it's never what Bluesky implemented. After Link got banned Bluesky said they were reviewing this, but I don't think *changed* anything.
-
Oh and I can't get staging.blacksky on my phone app. So imagine if you were using Mastodon, but you saw a slightly different list of posters, *and potentially a different set of your own posts*, depending on whether you were using your PC or your phone. This is great if there's a banned user you want to follow— you get an *option* to follow them. Mastodon.social can deny me the *option* to follow someone, on Fediverse. But except in this edge case that *might* not be a fantastic user experience!
Oh, and let's consider, for a moment, the downsides of an individual user being able to "opt out" of moderation decisions. The problem with misbehavior on social media is force multipliers. One person harassing you is no problem; one person and their 3000 friends is a big problem. Imagine Bluesky and Blacksky ban user X but Trumpsky lets X keep posting. Now their 3000 friends— still in Bluesky's good graces— can see their posts calling to harass you, AND can zero-friction zip over to yell at you
-
Oh, and let's consider, for a moment, the downsides of an individual user being able to "opt out" of moderation decisions. The problem with misbehavior on social media is force multipliers. One person harassing you is no problem; one person and their 3000 friends is a big problem. Imagine Bluesky and Blacksky ban user X but Trumpsky lets X keep posting. Now their 3000 friends— still in Bluesky's good graces— can see their posts calling to harass you, AND can zero-friction zip over to yell at you
@mcc is
is Trumpsky a real thing
-
@mcc is
is Trumpsky a real thing
-
@mcc phew, you had me worried for a second there was another one of Those Bloody Things
-
Oh, and let's consider, for a moment, the downsides of an individual user being able to "opt out" of moderation decisions. The problem with misbehavior on social media is force multipliers. One person harassing you is no problem; one person and their 3000 friends is a big problem. Imagine Bluesky and Blacksky ban user X but Trumpsky lets X keep posting. Now their 3000 friends— still in Bluesky's good graces— can see their posts calling to harass you, AND can zero-friction zip over to yell at you
This is why—although, now Blacksky is letting me "see through" Bluesky's worst moderation decisions, I'm glad, because Bluesky's moderation is weird and arbitrary—I think it's a downside of the network, and Mastodon made the right decision not offering this feature. Fediverse defederation forces a degree of soft group consensus on moderation: it's possible to say "if you're talking to X, I don't want to talk to *you*". On Bluesky we are all ghosts walking through walls and this can't be enforced
-
This is why—although, now Blacksky is letting me "see through" Bluesky's worst moderation decisions, I'm glad, because Bluesky's moderation is weird and arbitrary—I think it's a downside of the network, and Mastodon made the right decision not offering this feature. Fediverse defederation forces a degree of soft group consensus on moderation: it's possible to say "if you're talking to X, I don't want to talk to *you*". On Bluesky we are all ghosts walking through walls and this can't be enforced
@mcc I guess you could simultaneously see this as a success and a failure for ATproto: decentralization is possible... but you immediately get a lot of the same problems ActivityPub has that ATProto ostensibly solved.
-
@mcc I guess you could simultaneously see this as a success and a failure for ATproto: decentralization is possible... but you immediately get a lot of the same problems ActivityPub has that ATProto ostensibly solved.
@operand However, they experience those problems in a *completely different way*, which not only is their userbase unprepared for, but the pre-existing experience of fediverse users does not exactly prepare for!
-
:frogsiren: BLUESKY HAS OFFICIALLY NETSPLIT :frogsiren:
There has always been more than one Fediverse. Different instances make different moderation decisions so some instances can't see posts by some users.
There has only ever been one Bluesky because every ATProto frontend uses the same Appview.
It is January 2026 and that's no longer true; Blacksky's Appview is available for beta use and there is at least 1 user banned on Bluesky but not Blacksky. And vice versa.
Rudy wants revolution. (@rude1.blacksky.team)
Bluesky runs an appview. Blacksky runs an appview. A complete appview is a several terabytes sized database of the >18 billion follows, likes and posts of all bsky users, ever and forever. To run a different appview is to make a fork in bsky’s timeline. One has new posts from Łink. One doesn’t.
Bluesky Social (bsky.app)
@mcc oh that's sick. congrats to blacksky for making it
-
t yet
-
:frogsiren: BLUESKY HAS OFFICIALLY NETSPLIT :frogsiren:
There has always been more than one Fediverse. Different instances make different moderation decisions so some instances can't see posts by some users.
There has only ever been one Bluesky because every ATProto frontend uses the same Appview.
It is January 2026 and that's no longer true; Blacksky's Appview is available for beta use and there is at least 1 user banned on Bluesky but not Blacksky. And vice versa.
Rudy wants revolution. (@rude1.blacksky.team)
Bluesky runs an appview. Blacksky runs an appview. A complete appview is a several terabytes sized database of the >18 billion follows, likes and posts of all bsky users, ever and forever. To run a different appview is to make a fork in bsky’s timeline. One has new posts from Łink. One doesn’t.
Bluesky Social (bsky.app)
@mcc What's the monthly cost on maintaining several terabytes of data in perpetuity?