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.
maybe open technically. but my impression of BlueSky is that it is full of neoliberal status quo apologists. would be happy to be wrong.
There are only 15,000 out of 36 Million users that are on servers not owned by Bluesky.
99.96% of users being on one instance isn’t Decentralised even if the technology supports it in theory. If 99.96% of users were on lemmy.world, I wouldn’t call lemmy decentralised even if the technology allows it in theory.
🧮 Decentralization Scoring System (v1.3)
📋 Breakdown (Estimates)
Platform Score Visualization 📧 Email 95 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 🐹 Lemmy 79 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 🐘 Mastodon 74 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 🟣 PeerTube 94 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 🖼 Pixelfed 42 🟧🟧🟧🟧🟧🟧🟧🟧 🔵 Bluesky 14 🟥🟥🟥 🟥 Reddit 3 🟥 Define decentralised.
As per RFC 9518: Centralization, Decentralization, and Internet Standards,[…] “centralization” is the state of affairs where a single entity or a small group of them can observe, capture, control, or extract rent from the operation or use of an Internet function exclusively.
[Decentralization is when] “complete reliance upon a single point is not always required” (citing Baran, 1964)
[…] federation, i.e., designing a function in a way that uses independent instances that maintain connectivity and interoperability to provide a single cohesive service.
I don’t think “decentralised” is the word y’all are disagreeing on. Define platform. Because I think the “platform” you’re talking about is the technology underpinning Bluesky (AT Protocol), which is decentralised, and others here are talking about the Bluesky “platform” itself, as in the service which is a single, centralised implementation of AT Protocol.
I use them interchanagbly, which has proved to be a mistake.
Kinda like how mastodon and fediverse are used interchangably.
Top Provider User Share: bsky.social ≈ 99% → Score: 0/30
Top Provider Content Share: Nearly all content on bsky.social → Score: 0/30
Self-Hosting: Server: PDS hosting possible but very niche and poorly documented → Score: 4/20
Self-Hosting: Client: Mostly official client; some 3rd party → Score: 10/20Total: 14/100
Interesting score
The scoring system isn’t perfect, and is subjective, but it’s a good starting point to try and measure if something is decentralised.
I forsee a lot of big companies pretending to be Open-Source and decentralised because it’s good for profits. Just like they pretend to care about Gay rights etc. When it suites them
I like the wiki definition
https://en.wikipedia.org/wiki/Decentralization Decentralization or decentralisation is the process by which the activities of an organization, particularly those related to planning and decision-making, are distributed or delegated away from a central, authoritative location or group and given to smaller factions within it.
Based on this and other definitions I’ve seen, Bluesky is NOT decentralised.
I struggle to see how a platform of which 99.96% of it’s users are controlled by one entity is Decentralised.
PDSes and relays exist at the whim of Bluesky’s corporate entity. Having all of the endpoints on the network controlled by a single agent is what makes Bluesky centralized. If Bluesky decided so, your server can be removed from their network and is functionally useless at that point. They decide who is and is not allowed to be a part of Bluesky.
For contrast, no such governing body exists with ActivityPub networks. Nobody can decide whether or not an instance should be removed from the network, they can only choose whether or not to federate with that instance. If you wanted to truly silence a Lemmy instance, for example, it would take the cooperation of all the major Lemmy admins to defederate, and is an entirely democratic process as a result.
EDIT: To clarify, ATProto is not what is centralized, “Bluesky” the platform utilizing ATProto, is what’s centralized.
Well, that problem also exists with mastodon.social and a lot of the actual fediverse.
Its less decentralised, but its still distributed.Mastodon is more open than you think.
You made a post to attempt to dispell what you consider a misunderstanding about BlueSky, yet your comment suggests you dont understand the Fediverse.
Well, that problem also exists with mastodon.social
No, it doesn’t. There are thousands of instances, some with hundreds of thousands of users. If you sort the instance list by active users, the population spreads out even more, because smaller instances have more active users.
and a lot of the actual fediverse.
Wrong again. Lemmy.world is about 30% of Lemmy, and less when you include Mbin, PieFed, etc.
Its less distributed, but its still decentralised.
I run a Fedi instance connected to hundreds of others. If one, even a large one, defederates me, it does not cut me off. If I ran a PDS, I’d be connected to BlueSky, and they can do what they want.
You are rationalizing this to yourself because you like BlueSky.
You’re misinterpreting my comment, I said that getting cut off a large server is a problem in any network. The problem is worse on bluesky, but that can change.
If I run a PDS, I connect to bluesky and other instances as well. I can get cut off bluesky’s server, but there is other servers.I’m not rationalising anything, I just think the discourse around bluesky is toxic, and I want to at least make it less annoying.
I don’t even like bluesky, I do like the underlying protocol though.No I’m not, you’re just hot-swapping between ATProto and BlueSky, cherry picking the best parts of whichever to suit the debate. See: https://lemmy.dbzer0.com/post/47335289/19626444
No, because you said bluesky is run by Jack dorsey, and you’re critising bluesky, not atproto, like you said.
you are a dunce
👍
That’s at a very different level. With dot social it’s about a quarter of the active users on the fediverse, whereas bluesky is probably something like 95% centralized in practice. It seems to keep improving, but right now it’s basically impossible to use without mostly interacting with bsky.
99.96% actually.
Bluesky is all but 100% centralised
I know, but that wasn’t my point. Getting cut off by a large server is a problem in any network.
Yes, its bad that bluesky controls most of atproto, but its possible to use atproto without bluesky.
Christine Lemmer-Webber made an excellent blog post ~6 months ago titled How Decentralized is Bluesky really?
Give that a read.
- https://whtwnd.com/bnewbold.net/3lo7a2a4qxg2l
- https://bsky.app/profile/dustyweb.bsky.social/post/3lp4jtxxomc2p
I was wrong in my read on things; the new relays are pulling the entire network. Definitely a different experiment at that point.
Mea culpa on misrepresenting.
+1, I came here just to paste a link to it
I don’t mean this in an agressive way, but did you really think I haven’t read that?
Well, if you have read it then your cherry picking of minor ways Bluesky is slighly less closed comes accross as pretty bad faith 🤷
I have read it, and a lot of the problems have been addressed.
Bluesky is still very early. There was an awkward period where lemmy was mostly lemmy.ml.I’m not trying to cherry pick anything, I’m just addressing arguments against it I have seen.
Lemmy.ml, lemmy.world, lemmy.zip and any other instance run on the same software
Wafrn doesn’t run the same software as Bluesky.social
My point was that the network was fairly centralised in the beginning. The people behind atproto.africa are working on an alternate bluesky appview anyway.
Still is. Always will be.
I really hate this attitude.
Most people who are against bluesky don’t even care about an open internet or whatever, they just want their protocol to win or whatever.
Good to hear!
The main difference is still that every work put into Bluesky.social can not be reused by other “servers”, unlike Lemmy
I’m not quite sure what you mean here to be honest.
I hope I am not adding to the problem here as well. It seems that obviously Bluesky is neither fully centralized nor fully decentralized. Is there a statement about just how much of either it is?
Although that might be complicated - like someone could say that Lemmy is fairly centralized, bc if you block Lemmy.World then you lose half the users and perhaps half the communities (and PieFed even more so, with PieFed.social representing an even higher fraction of users and communities on it).
So there is a distinction between Bluesky the service as it currently is implemented and Bluesky the protocol, the former of which is fairly centralized but the latter is more expandable?
then you lose half the users and perhaps half the communities
As a thought, do you really lose them?
For example the “Television” community previously existed on the lemm.ee instance. The lemm.ee instance is scheduled for shutdown. The “Television” community is now hosted on the piefed.social instance.
It has the same users and has the same topics of discussion. Were the users really lost? Did the community really go away?
Let’s pretend Reddit decided it would no longer allow discussion on “Television”. What if BlueSky no longer allowed discussion on “Television”. You’d have to leave those platforms completely. You really would lose those communities. Those users (at least in part) really would be gone.
Is Lemmy.World a big instance? Sure. Would the users and communities really be lost if it went away? I don’t think so.
If Lemmy.World went away, then correct you would not “lose” the users as, well you said it, they would simply move to another instance.
But if Lemmy.World remained and you blocked it (if you had a method to do that - it’s not easy at all using base Lemmy but it is doable with some older apps or like Ublock Origin filter rules and such), then in that context you would indeed “lose” all of that content. Or like if you got banned from that instance then that’s another way that you could “lose” access to engage with communities located on it.
The more centralized something is, like Reddit, the more damaging it is to lose access to it, while the more decentralized, as you pointed out, the less overall effect that perturbations have upon the network.
Decentralisation is not black and white, and depends on your defintion of the word.
At this point, the problem is that everyone is on bluesky’s servers. There is little technical problems.That seems a very good way to phrase it.
The next issue then becomes cost. Which affects Lemmy as well: first there is the requisite effort to set up and self-host even a tiny instance (especially as it relates to potential spam and CSAM attacks), and second the network traffic costs. The latter may be tiny for a single user who only subscribes to a handful of communities, but someone trying to browse All and wanting everything to be available for their perusal (even if deleted soon-ish for storage reasons) will bear a much higher burden. Which depending on local costs may be trivially easy… or prohibitively expensive, but in either case the more data that someone wants to pull in the higher the cost.
And I imagine that Bluesky is either similar, or significantly worse.
Bluesky would work better for that, since everything would be on the AppView. Hosting multiple appviews would be intensive on the relays, but different ones could keep content for different amounts of time.
I think AP works better when you don’t need or want all the information to be available at once.
One issue for me, and this is also true of Mastodon and by extension Mbin, is that I greatly prefer the voting and focus on a topic area rather than person. X / Twitter / Mastodon / Bluesky is where celebrities go to increase their profits, fame, and relevance, while Reddit / Lemmy / PieFed (/ + nodeBB + flarum + others) are where we discuss matters of import. I’m not criticizing your post here - this is definitely the correct community to discuss such matters:-) - just interjecting my personal preferences into the conversation, to disclose my own biases.
~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.
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.
Bluesky is decentralised in theory, but in reality it is not.
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.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.
if you block Lemmy.World then you lose half the users
35% (16k out of 46k MAU): https://lemmy.fediverse.observer/list
Or even 33% as we should count PieFed and Mbin too (this makes 48k MAU overall). All 3 “apps” make one network.
Good point!
Nice. I remember when it was 80%, then it fell to half, 40%, and apparently now is closer to a third than half. Excellent decentralizing!:-)
I just say bluesky because that’s what everyone knows it as. I’m really talking about its network.
Its not very well distributed, because almost everyone is on bluesky’s meganodes.
Its more of a social problem than a technical problem at this point.
Very useful, thanks.
As I see it, Bluesky is fundamentally different from Xitter and it is a major step in the right direction. It is short-sighted to reject it because of some technical imperfections.
The fundamental question IMO is whether there is enough mindshare (i.e. users and attention) to allow ATSocial (AKA partial federation) and ActivityPub (AKA total federation) to both be successful. I’m thinking there is. After all, the vast majority of people are still on ad-fuelled corporate social media, with all its internal contradictions.
I think the technical imperfections are not the real reason people are against it. In my opinion it just can’t be trusted to have a corp in control. It would be like having Microsoft own the activity pub repo.
I agree with you there.
I wish they put a bit more effort into getting people onto independant servers.
They took to opposite approch of mastodon: they abandoned proper distribution for better growth.In any case, ActivityPub and atproto can both coexist.
No I think even if they did that I wouldnt trust it. The protocol is 100% controlled by a profit seeking company. That means it will 100% turn into a platform that tries to monitize its users for all theyre worth. Public benefit corporation is a meme and has no actual restrictions.
They are slowly making their way towards becoming another “Big Tech” company, they play nice with their users etc. now while they are still growing. Just like YouTube, Instagram, Facebook etc. did in the beginning, but eventually they will pick profit over their users.
I just don’t trust them enough to actually follow through with becoming Decentralised and giving up controlling over 99% of users.
https://en.wikipedia.org/wiki/Decentralization
Decentralization or decentralisation is the process by which the activities of an organization, particularly those related to planning and decision-making, are distributed or delegated away from a central, authoritative location or group and given to smaller factions within it
Interesting, thanks
I just had a quick look at a random Bsky account:
To see external users you need to be logged in. You can view their profile on their actual instance.
Is the login wall on purpose?
For wafrn? Yes. I don’t actually know their reasoning for it.
Should BSky go login wall one day the same way Twitter does, then wafrn wouldn’t be an alternative
I asked in the wafrn discord, they said it was for privacy. fwiw, they don’t show remote fediverse profiles either
Somebody could just use deer.social then.
All the data is available at https://clearsky.app/linuxfoundation.org/ or XRPC https://porcini.us-east.host.bsky.network/xrpc/com.atproto.repo.getRecord?repo=did%3Aplc%3Ah5hpocfxr26lrha2d6qwd2b7&collection=app.bsky.actor.profile&rkey=selfdeer.social
Isn’t this just a fork of the Bsky client?
It is, but the fork could get rid of the login-wall.
All data on Atproto has to be public for it to work.
What about private messages between users?
That is horribly centralised, but its not (imo) an essential part of the network.
They do intent to fix it at some point.
As I understand (I could be wrong) bridgy is not useful as it could be as it got bullied into being opt-in instead of opt-out.
You would be correct.
People in Turkey are automatically subscribed to a Moderation Service
Sucking the dick of any government is censorship. That’s my opinion and it’s not the American version of free speech but I dont care because I’m not American.
It is, but it’s also necessary sometimes. If governments didn’t have any power and could just be ignored or openly defied without consequences, we wouldn’t have to care about what they want to censor. But they do have power, despite all our wishing that they didn’t, and we can’t organize a resistance to them without careful maneuvering and sometimes at least making an appearance of playing by their rules. Government censorship you can unsubscribe from is objectively better than censorship you can’t. Don’t let perfect be the enemy of good.
Is there any way to connect the bsky android app to the atproto.africa relay or a third party appview that uses the atproto.africa relay? I wouldn’t mind using bsky more if there was a clone of the android app that doesn’t use the bsky relay/appview. Looking at whtwnd it appears to be just web and not native apps?
I would like to host my own PDS and access bsky through a native app using third party relay+appview, but I haven’t seen a way to do this yet.
Actually, take a look at AppViewLite, it lets you skip relays and crawl PDSes directly. Its fairly lightweight as well, so you could host it alongside a PDS.
That’s a good question, as of now, its not possible without self hosting something.
deer.social is an alt-app, but it uses bsky’s relay iirc.
I might be wrong, but feeds get their data from relays, correct? So if you are using any of the Blacksky feeds, presumably you would indirectly be using the atproto.africa relay?
It should, yes.
Good post, bookmarked. A lot of fediverse people who react almost reactionary against bluesky are well meaning, but don’t really understand how it works. This is good content, thanks.