I see a lot of misinformation about bluesky here, so I want to address a lot of the talking points against atproto/bluesky.
This is partially inspired by accounts like mastodon migration and feditips being really annoying about bluesky.
How Bluesky Works
I see a lot of people misunderstanding how it works.
The network has three main parts:
- A PDS – This stands for Personal Data Server. These store information in records, like who you are following, your posts, who you are blocking and your images.
- A relay – These crawl PDSes and keep a copy of all the records on them. They give a “Firehose” of all the data on the network (that they crawled).
- An AppView – These index and work through the data from the firehose. All interactions are handled through these, meaning if someone follows me on bluesky, that
app.bsky.graph.follow
record will be crawled by the relay, and recieved by the AppView. https://bsky.app/ is an Appview. Appviews don’t always have to use the relays, https://whtwnd.com/ connects to PDSes directly.
This is different to ActivityPub, where if I follow someone, my server sends that information directly to the other person’s server.
Common misconceptions
An atproto relay is too expensive to run.
https://atproto.africa/ is a second full-network relay run by the blacksky team. We already have a second relay, and they’re not even that expensive to run anymore, a lot of people run non-archival (meaning it doesn’t backfill every post) relays for less than $40 a month.
There is no instances available except for bsky.social
bsky.social isn’t actually an instance, its just the domain name assigned to users by default. This is explained here: https://app.wafrn.net/fediverse/post/f8fc8da8-cd7e-4fae-a895-ac59dc28088f
Wafrn has (opt-in) bluesky support, they act as a PDS and AppView, so if bluesky disappears tomorrow they can switch to the atproto.africa relay. (There is DID:PLC which is a problem, but I’ll get to that later.)
You can’t defederate bsky.social, this proves atproto is centralised!
https://app.wafrn.net/fediverse/post/f8fc8da8-cd7e-4fae-a895-ac59dc28088f also explains this, bsky.social is just the name assigned to users, each PDS has names like https://brittlegill.us-west.host.bsky.network/ (where my account is).
While you could ignore records from a specific PDS on the App layer, its pretty pointless, since atproto is portable/content addressed, meaning a user could seamlessly move to another PDS. (AP does support moving, but its pretty seamful.)
(While I was writing this someone posted a pretty good blogpost about this: https://blog.cyrneko.eu/there-is-no-bsky-social-instance)
Bluesky can censor people in turkey, this proves they’re centralised!
Those posts weren’t removed, people on third party bluesky apps in turkey could still see them.
People in Turkey are automatically subscribed to a Moderation Service which hides those posts, as the government requires it.
If a person unsubscribes, or uses a third party app/server the posts are still there.
Bluesky isn’t decentralised as someone was banned for pointing out the head of T&S liked jailbait porn.
That person came back on a different PDS. They literally are still on bluesky because they joined a different server.
Bluesky went down due to a DDoS, this proves they are centralised!
The DDoS only crashed the Bluesky PDSes. People self hosting were fine.
Wafrn
Wafrn is a federated tumblr alternative. It started off as a tumblr clone, the dev added AP support, and eventually, Atproto support.
Its a great example of how bluesky can be built on.
If bluesky disappeared tomorrow, Wafrn could switch relays to atproto.africa, and still interact with people on other PDSes.
AppViewLite
appviewlite is a cool project I forgot to mention in the original post. It lets you self host an extremely lightweight Appview.
You can crawl PDSes yourself, eliminating the need for a relay.
https://github.com/alnkesq/AppViewLite
The main reason I made this post is because so many people are blindly anti-atproto, without fully understanding how it works and how it can be improved.
There is obviously problems with it, but it does a lot right. (There’s a lot ActivityPub should do, like content addressing, DIDs and composable moderation).
I also think we could do with a better bridge. bridgy isn’t really cutting it right now.
Note on did:plc, its the only centralised part of the network as of now, its essentially the underlying ID every account has. It is possible to use a did:web id instead, which is tied to a website name.
~99.96% of all Bluesky users and content is on Bluesky servers.
Bluesky is decentralised in theory, but in reality it is not. Until one entity doesn’t own over 90% of the users and content, I really can’t see how it can be seen as decentralised.
@Ek-Hou-Van-Braai
@OpenStars
It’s not a matter of how many users, but whether those users have the option to switch servers. By the former standard, mastodon would be considered centralized simply because of mastodon.social.
In theory Bluesky users have the option to switch, but in practice they don’t 36 Million users can’t just switch to other servers only catering for ~15,000 users.
mastodon.social has ~30% of the active users, which is a lot, but if it went down Mastodon would continue working for most users.
You can’t compare the 99.96% market share Bluesky has with that.
Looking at your other comment on this thread, thank you - that kind of breakdown was precisely what I was hoping to see!:-)
So Bluesky is more decentralized than Reddit (or Facebook), but barely, and far less so than any Fediverse platform currently.
I think what OP was trying to convey was less the current state of affairs and more the underlying protocol itself, which they re-released now under a separate post.
The underlying protocol doesn’t get you very far when 99.96% of users are on one instance.
If Bluesky decides do defederate with everyone they keep all the users and content and all the control.
I loved how you phrased it here:-).
PDS migration works way better on atproto, and objects are portable, unlike on AP.
@irelephant What’s the use of portability, when there are no instances and when people are not interested in them 🤔 @KentNavalesi
There are instances though.
Portability makes it really easy to migrate accounts. You just need a .car archive of your old one.
@irelephant
@rolle
So bluesky is as decentralized as mastodon, but you achieve that by running a relay instead of a server? Do I have that right?
No, mastodon is more decentralised than bluesky, but its designed so that PDSes aren’t that important, unlike mastodon.
@irelephant
Genuine question, then: why is hardly anybody hosting their own Bluesky server?
Because all the nerds who want to do that are on mastodon ; ).
Jokes aside, people are self hosting them, there’s about 2000 independant PDSes right now.
@irelephant
I’ll stick with the nerds.
The person probably meant relays, which are not as popular
Oh.
Well, as of now, there’s little incentive to host one.
AppViewLite lets you use the network without a relay, which I think is cool.
Except being independent from the one company that hosts 99% of the network?
Annoyingly, most people aren’t interested in that.
Also: I found this list: https://github.com/mary-ext/atproto-scraping
There’s a good few more PDSes than I thought. There’s a few with open signups. Though, for relays the situation is a bit more bleak.
I’m sure it will improve in future, there is a lot of orgs planning on setting up AT infrastructure.