I would like to give an update on "federation" on Bluesky.
-
@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!
-
@ratsnakegames @mcc it's probably only a matter of time though. And as with fedi/AP, where this already did happen, how the network reacts and deals with it will be a real test of its philosophy.
@megmac I refuse to believe Bluesky has a philosophy
-
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 Interestingly, this also breaks one of the main selling points of having a network architecture like ATProtos: that 'everyone gets all the replies' because suddenly you don't, maybe!
-
: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 blacksky is the social media platform for Black users that the fediverse promises to be and fails at
-
@mcc blacksky is the social media platform for Black users that the fediverse promises to be and fails at
@mcc for better or worse
-
@mcc blacksky is the social media platform for Black users that the fediverse promises to be and fails at
@burnoutqueen If it were not for Blacksky it is quite possible I would no longer be using Bluesky.
-
: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 Someone should update the Wikipedia page https://en.wikipedia.org/wiki/Blacksky
-
: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 Do you not find the login UI for https://blacksky.community and https://bsky.app a bit concerning? Because if you fill in a “custom server” you are now sending your password from one app view to a different server? If you host your own PDS do you only ever send that pw to your own servers?
-
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
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".
How? If server A blocks server B, and neither server blocks server C, server C can still interact with both servers A and B. Server A could of course choose to also block server C for not blocking server B, but this would have to be done manually (you can't necessarily tell if server C blocks server B, since blocklists are often not public and not all interactions are public either) and I don't see how it's forced.
-
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".
How? If server A blocks server B, and neither server blocks server C, server C can still interact with both servers A and B. Server A could of course choose to also block server C for not blocking server B, but this would have to be done manually (you can't necessarily tell if server C blocks server B, since blocklists are often not public and not all interactions are public either) and I don't see how it's forced.
@noisytoot It's possible for A to figure out C's blocks and take action. C might choose to make that hard, but A might choose to treat hiding the blocks as suspicious. Or just talk to people and ask them what the blocks are.
By contrast on Bluesky it's not possible to do any of this. Not "it's not automatic", not "it's potentially hard", it's impossible. Any account can be on any PDS can be on any appview, there are no walls or fences, the instance is not present as a moderation abstraction.
-
: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
-
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 read your thread only now, and I wanted to thank you for posting all that. I am no fan of Bluesky and their one-instance federation, but I have a phony account there, to follow how it's going for them. Threads like yours fill in additional context.

-
t yet
-
@lrhodes Depends on how you do it I imagine. But remember that's several terabytes for the like what, three years or something Bluesky has been running. We will expect it to grow endlessly, and we should expect the growth to grow endlessly as Bluesky becomes more popular.
-
What I saw happen when Black Twitter came to Fediverse is attempts to build community resources— like shared cross-instance blocklist infrastructure— get demonized by white queers as being anti-queer (because they, personally, wound up moderated— due to, as far as I saw, entirely real racism). I saw multiple projects shut down or hobbled by this and good people driven off fedi. I don't know if any devs from that era are involved in the new Bluesky efforts. But the Bluesky efforts *are* thriving.
@mcc sad stuff
Thanks for the history lesson and analysis. -
@mcc Do you not find the login UI for https://blacksky.community and https://bsky.app a bit concerning? Because if you fill in a “custom server” you are now sending your password from one app view to a different server? If you host your own PDS do you only ever send that pw to your own servers?
@poswald@mastodon.social @mcc@mastodon.social This is a really unfortunate thing in the Bluesky UI not using OAuth yet. It looks like there is a PR work in progress for it, but it hasn't seen activity in a few months: -> https://github.com/bluesky-social/social-app/pull/8665
You might want to use a different client in the meantime and set the appview to blacksky's. -
@mcc Do you not find the login UI for https://blacksky.community and https://bsky.app a bit concerning? Because if you fill in a “custom server” you are now sending your password from one app view to a different server? If you host your own PDS do you only ever send that pw to your own servers?
@poswald It's weird! It's one of a dozen things in the design of bluesky that makes it clear bluesky only ever intended for anyone to use the bluesky services and the federation was either a "look at our party trick" or an idea they abandoned very early
-
I would like to give an update on "federation" on Bluesky.
My expectation was it was unlikely we'd ever see this happen because "federation" on ATProto means basically reproducing the entirety of the Bluesky software stack. In old Big Data terms, on ActivityPub your instance is a "horizontal shard" of the network; ATProto forces full DB replicas only.
Still, we're seeing movement on this front, which I'd split into two categories:
1. Your fault (you reading this)
2. Aaron Rodericks's fault@mcc a in terms of DB replication could it be kind of Scuttlebutt, but with VC backing them? hehehe
-
I would like to give an update on "federation" on Bluesky.
My expectation was it was unlikely we'd ever see this happen because "federation" on ATProto means basically reproducing the entirety of the Bluesky software stack. In old Big Data terms, on ActivityPub your instance is a "horizontal shard" of the network; ATProto forces full DB replicas only.
Still, we're seeing movement on this front, which I'd split into two categories:
1. Your fault (you reading this)
2. Aaron Rodericks's fault@mcc People love to call the fediverse hard and complicated but ATProto looks so overengineered to me
-
: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 Nice! I seem to recall a prediction that ATProto would slowly evolve to become closer to ActivityPub because the supposed "bugs" of the fediverse are actually features to make it manageable. Eventually, once they strip it of all its oddities, they may be able to reimplement BS in ActivityPub.