Trying to figure this out as in the recent threads a few people said that Bluesky was federated, but it didn’t seem to actually be the case.
https://bsky.social/about/blog/02-22-2024-open-social-web in February announced that Bluesky would allow federated servers
The Bluesky documentation on the topic isn’t very clear. They mention Bluesky.social a lot, as if it’s supposed to be the one central server other PDS need to federate with:
Bluesky runs many PDSs. Each PDS runs as a completely separate service in the network with its own identity. They federate with the rest of the network in the exact same manner that a non-Bluesky PDS would. These PDSs have hostnames such as morel.us-east.host.bsky.network.
However, the user-facing concept for Bluesky’s “PDS Service” is simply bsky.social. This is reflected in the provided subdomain that users on a Bluesky PDS have access to (i.e. their default handle suffix), as well as the hostname that they may provide at login in order to route their login request to the correct service. A user should not be expected to understand or remember the specific host that their account is on.
To enable this, we introduced a PDS Entryway service. This service is used to orchestrate account management across Bluesky PDSs and to provide an interface for interacting with bsky.social accounts.
https://docs.bsky.app/docs/advanced-guides/entryway#account-management
Self-hosting a Bluesky PDS means running your own Personal Data Server that is capable of federating with the wider Bluesky social network.
https://github.com/bluesky-social/pds?tab=readme-ov-file#what-is-the-current-status-of-federation
The custom domain name is still something else, and does not seem to require a PDS: https://bsky.social/about/blog/4-28-2023-domain-handle-tutorial
So, to come back to the title question, do people know of an example of PDS that can be used to access Bluesky without being on the main server?
@Blaze $150-$300 per month is what a relay costs for the entire 10M account network. That is extremely efficient.
It’s also not necessary. Smoke Signal the events on ATProtoo connects to user PDS directly.
So what would happen if a billionaire buys out Bluesky and starts spreading right wing propaganda all over it?
Completely hypothetical scenario
Long winded, nuanced answer, ready your eyeballs:
It’s a bit complicated, but since we’re on Fediverse and at least somewhat familiar with how things work here, I’ll try to explain with that comparison in mind.
On Fediverse, instances are in control of the user data directly. To “migrate” your account, you’d be switching instances and admins entirely.
BlueSky splits things up quite a bit more.
There, you can host your own “PDS” or Personal Data Server. That hosts your account and post info only.
Then, there’s the “AppView”. In comparison to Fediverse, these are like Lemmy, Mastodon, Mbin, etc. Right now, there’s VERY few Appviews to choose from.
Then, there’s the “relay”. Which to Fediverse, the only thing similar is also relays, but they work differently. On BlueSky, they relay every post and interactions of all the PDS data that connect to AppViews. I do not think there’s a choice on *what* is relayed, just a huge firehose. That being said, they’re not optional like Fediverse. To complete the network, relays are required on ATProto and apparently could be expensive to host, so right now, it appears the only relay is hosted by BlueSky the company. Which makes things slightly centralized.
Now, that we have those definitions out of the way, this is where things get a bit muddy and a bit of purposeful corporate created confusion for purpose of selfishness is quite apparent.
Right now, there’s very few AppViews. The ones I’m aware of are, BlueSky itself, Whitewind, and Frontpage.xyz.
The confusion happens because BlueSky, the company, doesn’t separate the fact that accounts hosted on self-hosted PDS, aren’t technically Bluesky accounts, they’re ATproto accounts. Everywhere you look to login, it says “login using your BlueSky account”. I can only assume they’re doing this on purpose so that anyone who tries to make an Appview, host a PDS, AND a relay, can’t have their own “identity” like different instances and platforms have here on Fedi.
That will confuse people and make them think *everything* is just hosted by BlueSky the company. However, as we’ve now established, there’s definitely a separation of “Bluesky” the company, “BlueSky” the AppView that you can login to using your “BlueSky” account, which doesnt technically have to be hosted by anything related to BlueSky.
I hope this all makes sense and you can tell that *technically* things are decentralized for the most part. It’s just that BlueSky is purposefully muddying their own definitions of things so that anyone that tries to build on ATproto, has a hard time making themselves known as *not* bluesky due to the way they conflate all these definitions.
Sorry for the huge post and hope it makes sense in some way.
Thanks for reading.😁👍
@BeAware @Blaze @fediverse Yeah, so it’s not a bad explanation, maybe a bit biased ;)
The key is that the architecture is very different, and there isn’t a direct equivalent of instances. There are PDSes, but they do much less than Fedi instances, and they also don’t directly talk to (federate with) each other. The data flows from PDSes to relay(s) to AppView(s) and to clients.
@BeAware @Blaze @fediverse There’s a small number of self-hosted personal PDSes (https://blue.mackuba.eu/directory/pdses), but the system isn’t really open yet to running larger ones with open signup. The Bluesky Relay doesn’t currently accept more than 10 users on one PDS (with exceptions like Bridgy).
Technically anyone can run a parallel Relay and/or AppView, and hopefully that will happen, but nobody has done it yet so far (Whitewind/Frontpage are kind of different services on the same protocol).
@mackuba @Blaze @fediverse that’s what I said, no? just in more words.🤷♂️
And yeah, my opinion is mixed in, but I figured that should be obvious. Maybe I should put *opinion* somewhere in there?🤔
Most of it is true, with my opinion in 2 or 3 sentences.
So its activitypub, but worse because its designed from the ground up to be difficult to federate? Bro just use twitter at this point.
@tengkuizdihar well, it’s not difficult to federate, it’s difficult to seperate your identity from BlueSky itself, if you’re trying to create something on ATproto.
I doubt you’ll see big news about a service using ATproto, the way Fedi platforms do, besides BlueSky because they really don’t want you to differentiate that way.🤦♂️
Or maybe they do it because it would be very confusing for 99% of users to read “sign in with your atproto account” when no one knows what that is. Its a good thing theyre keeping things simple for now instead of getting the mastodon “its too complicated” issue and having non tech users not use it.
Mastodon and the activitypub culture is very much either “its too complicated” or “how do you not understand its so simple maybe you’re just dumb and shouldnt be here” energy and its why 99% of topics here are just tech and politics. Almost no artists use it and the few that use it are on mastodon.art which defederates from so many instances.
Where do you see atmosphere?
@xnx @ccoremapd @fediverse It was an unofficial term until recently, but they seem to be adopting it a bit more officially right now, see e.g. here https://atproto.com and in the “Glossary” section. But I think this will stay a developer-targeted term, I don’t think they’ll use it in such context as “Sign in with your ATmosphere account” (but they don’t really dictate to third parties right now how they should phrase this on their side).
@xnx well, it doesn’t really matter their reasoning when the end result is the same.
It won’t become truly decentralized with these things in the way.
It does matter their reasoning and they can change the word when atproto is more understood. No fedi software uses “sign in with your activitypub account” either because confusing users is a bad thing.
I personally like that theyre doing things to appeal to non tech users because i dont want to use a service no one uses. Its why i dont use any activitypub service for my art because theres no artists using activitypub but bluesky has a huge art community even though they still dont have video
@xnx to each their own.
The anarchist in me doesn’t feel right having a corporate overlord who can :yeet: me from existence whenever they choose.🤷♂️
That’s not important to everyone and that’s fine. We are all different.
@BeAware @xnx @fediverse I’m with you on this one, I think it’s important to eventually have non-Bluesky-owned infrastructure alternatives even if a lot of people don’t care about it… I hope we’ll get there
I think they do but they use AT protocol (theirs) instead of ActivityPub so that’s why you don’t see them in mastodon and they don’t have many servers in federation
Indeed, but I’m a bit surprised there isn’t any list of alternatives servers.
I would have to look more into the protocol specification, but it seems like this isn’t really federation, alternative servers are still relying on the central server, and that’s why nobody bothers with setting one up
Why would someone host a server and pay for it out of their own pocket, when the protocol just turns in to an invisible piece of infrastructure that people don’t even know exists?
AP instances allow for communities and identity to build around them, so there is a non monetary incentive to running them, but what’s the incentive to run an equivalent on bluesky and make it public?
Definitely, that’s why I guess there are still no other server than Bluesky’s
@Blaze @ada @fediverse There is a small number of personal PDSes, plus Bridgy’s one: https://blue.mackuba.eu/directory/pdses, but right now there aren’t really any public open-signup ones, because they’re limiting them to 10 users per PDS in this phase (I mean you can create more, but they won’t be seen by the Bluesky relay). They implied that the network/software is not yet ready for this yet at this point, because a lot of things are still in flux (e.g. they’re adding OAuth now).
That sounds like a really dumb design idea. Why make a federating protocol if you still rely on the server? I don’t even get why they did it at all then.
That’s indeed very interesting and peculiar.
@hoshikarakitaridia @Blaze @fediverse I think the main reason is that this solves a lot of UX problems that Fedi has because of its architecture, things like:
- thread comments, like counts, follower lists not being consistent between instances
- not being able to easily interact with content that’s not already cached on your instance
- user/post search not working globally, for the same reasonOn Bluesky, the AppView indexes all that, and you load threads, feeds and do search through there.
So, from up close it seems like people can have their own servers (i checked wurzelmann.at which is currently on the frontpage) but they do not seem to have their own frontend.
This indeed makes it so that for people to actually SEE your content you must federate with one entity and are controlled by them.
Imo this is very bad because it takes the freedom out of federation. Yes, you dont need to login to an app but if they ban you or defederate or delete your post, nobody will see it, right?
Please someone who has tried and gets the technical details shed light on this.
deleted by creator
@skullgiver @haui_lemmy @fediverse Yeah, I think that’s a pretty good overview, with the caveat that a lot of this is currently theoretical since nobody runs alternative AppViews and relays yet. (I’m planning to build a proof-of-concept in the coming months, though I don’t really intend to run a public one.)
@skullgiver @haui_lemmy @fediverse As for banning, they haven’t written an explicit documentation on this yet, but generally it can be done on a few layers depending on the offence:
- labelling you via Bluesky official moderation service, in a way that can be ignored
- giving you a “force hide” label that can’t be ignored
- suspending your account on a Bsky-hosted PDS
- preventing their AppView from indexing you
- preventing their Relay from indexing your account or whole PDS
I have setup bskysocial.world to test that (there’s no web interface, just select this domain when logging in or signing up via the app or https://bsky.app)
Note: This is for testing only, I can’t promise it will remain running.
(I am @ruud.bskysocial.world)
Thank you Ruud!
If I understand correctly, using a custom domain name still makes you use the central Bluesky server, right?
No, it doesn’t have to. Custom domain does not tied to any instances (PDS) you reside in. The way custom domain handle works is for the verification itself.
The first time you’ve created your account to that instance, you’ve been given to a specific instance name to your handle. For example “user.bskysocial.world”. With the “user” acts as a subdomain and “bskysocial.world” as a PDS name.
You can learn more of how the handles work in ATProto here:
https://atproto.com/specs/handleYou can still change your handle to however you’d like without having to migrate it to another PDS using your own domain name.
Every component in the ATProto (Handles, PDS, AppView, Relays, etc) are separated from each other and can be run individually, without having to cause massive interference to one another. I kind of think of it as a “Microservices” in ATProto, whilst ActivityPub is more like a “Monolithic” one.