this post was submitted on 08 Sep 2024
97 points (94.5% liked)

Fediverse

27812 readers
494 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to [email protected]!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy

founded 1 year ago
MODERATORS
 

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?

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 0 points 4 days ago (1 children)

@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.

[–] [email protected] 2 points 4 days ago

So what would happen if a billionaire buys out Bluesky and starts spreading right wing propaganda all over it?

Completely hypothetical scenario

[–] [email protected] 92 points 1 week ago (21 children)

@Blaze

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.😁👍

@fediverse

[–] [email protected] 1 points 6 days ago (2 children)

@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.

[–] [email protected] 1 points 6 days ago

@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).

[–] [email protected] 1 points 6 days ago

@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.

[–] [email protected] 13 points 1 week ago (1 children)

Damn. This needs to be a blog article and saved somewhere! No need to apologize. You've done a great job explaining a very technical topic in a simple and relatable way.

[–] [email protected] 12 points 1 week ago* (last edited 1 week ago) (1 children)

@mark thank you for the compliment and assurance friend.

I am always self conscious about my long winded replies because sometimes even I wouldn't wanna read a post that long.

Though, with topics like this that I'm very passionate about, I feel it's very important to lay out all the information and knowledge I have so that others can make informed decisions themselves based on the most important details.

I discuss Fediverse and networks like it, literally constantly and there's LOTS of nuances with these systems that need lots of explanations.

@fediverse

[–] [email protected] 5 points 1 week ago

I am always self conscious about my long winded replies because sometimes even I wouldn’t wanna read a post that long.

No need to be self-conscious - that's a concise account of a complicated issue, which is going to go long. Long posts become an issue when they are rambling and unfocused.

[–] [email protected] 11 points 1 week ago (1 children)

Thank you for the detailed explanation!

[–] [email protected] 11 points 1 week ago* (last edited 1 week ago) (1 children)

@Blaze no problem, friend.

I always worry if my long winded answers make sense to neurotypical people as I'm ADHD and slightly autistic.😅

So I hope it does make sense, at least even partially.

Overall, they're mostly centralized because there's *very* few relays and they're required infrastructure, but decentralized in other ways, which may or may not matter in the bigger picture because of this previous information.

@fediverse

[–] [email protected] 10 points 1 week ago (1 children)

Your answer was concise and succinct, for such a complicated topic. Thank you!

[–] [email protected] 6 points 1 week ago

@Drunemeton you're welcome, and thank you for the reassurance, friend.🫡

@fediverse

[–] [email protected] 8 points 1 week ago* (last edited 1 week ago) (1 children)

Thanks for the explanation. Didn't realize Bluesky/AT is more like a fedi-washed version of ActivityPub rather than a real alternative ...

I'm not sure; on the one hand, I think the fact that federation has become a unique selling point in micro-blogging is indicating a positive trend; so even if people join Bluesky its good for the Fediverse. On the other hand, if federated just becomes another buzz word that means nothing at all, while places where the real innovation is happening are drowned out, the window of opportunity could just close.

[–] [email protected] 5 points 1 week ago

@blue_berry TBH I think our biggest strength here is decentralization, but every day we're inching closer and closer to centralization here in many ways and most don't care.

Mastodon controls how 73% of users interact with Fediverse. Threads, if it fully federates will completely take that over, but then we have 2 corporate entities in charge here and there's nothing any of us are doing about it.

They will be able to enact change in AP that most other softwares can't and effectively completely change Fedi as we know it.

@fediverse

[–] [email protected] 4 points 1 week ago (3 children)

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.

A number I've seen quoted multiple times now is ~$150 per month to host a relay (Source). Which explains why Whitewind, Smokesignal and Frontpage don't host one, they are mostly still small projects by individual talented devs, but imo if that number is true, it really doesn't seem too outlandish that someone might go for it.

load more comments (3 replies)
[–] [email protected] 3 points 1 week ago (1 children)

Frontpage.xyz doesnt seem to exist do you know the correct domain?

[–] [email protected] 3 points 1 week ago* (last edited 1 week ago)

@xnx yes! I mistyped.🫣

It's frontpage.fyi

Sorry!😅

@fediverse

load more comments (15 replies)
[–] [email protected] 14 points 1 week ago (2 children)

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

[–] [email protected] 10 points 1 week ago (3 children)

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

[–] [email protected] 13 points 1 week ago* (last edited 1 week ago) (1 children)

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?

[–] [email protected] 2 points 1 week ago (1 children)

Definitely, that's why I guess there are still no other server than Bluesky's

[–] [email protected] 2 points 6 days ago

@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).

[–] [email protected] 8 points 1 week ago* (last edited 1 week ago) (2 children)

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.

[–] [email protected] 1 points 6 days ago

@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 reason

On Bluesky, the AppView indexes all that, and you load threads, feeds and do search through there.

[–] [email protected] 7 points 1 week ago

They could pretend to be federated while they're not.

Might show them in a more positive light to the general public

[–] [email protected] 8 points 1 week ago

There are some people hosting their own identity server, but yes the centralisation of the main aggregator server seems to be by design as they even scare people away from trying by talking about the high resource requirements of doing so.

IMHO Bluesky is only federated in the sense that responsibility for content and moderation can be outsourced, but the user endpoint stays mostly in control of Bluesky. This makes a lot of sense if you think about it from a company perspective... outsource the legally and personnel critical parts and keep the ones that are lucrarive for advertisement and can be easily scaled by throwing hardware at it.

But you must be a real sucker to take them up on that very one sided offer...

[–] [email protected] 4 points 1 week ago
[–] [email protected] 11 points 1 week ago (4 children)

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.

[–] [email protected] 10 points 1 week ago (1 children)

Their app is open source, but it doesn't give any instructions on how to self-host it, in fact it seems to not have been designed with self-hosting in mind given the forking section of the ReadMe:

You have our blessing 🪄✨ to fork this application! However, it's very important to be clear to users when you're giving them a fork.

Please be sure to:

  • Change all branding in the repository and UI to clearly differentiate from Bluesky.
  • Change any support links (feedback, email, terms of service, etc) to your own systems.
  • Replace any analytics or error-collection systems with your own so we don't get super confused.

The impression I get from Bluesky is that it doesn't view federation as a core feature of its platform, just a nice technical oddity. I'm no expert on the AT protocol, but from a quick skim of the quickstart, their view of federation seems to be having disparate data repositories (Personal Data Servers) app developers can put their app data into. It doesn't really seems to be about different software communicating with each other.

In contrast, ActivityPub is about passing JSON between servers in a somewhat standard format so different software can reasonably understand what that JSON represents and act on it in a way that makes sense for that software.

(But again, I'm don't know anything about the AT protocol, I could be completely wrong here)

[–] [email protected] 5 points 1 week ago

Thanks for chiming in. Thats very insightful. It still seems like bsky is claiming to be something that its not.

[–] [email protected] 2 points 1 week ago* (last edited 1 week ago) (2 children)

I mean, you can run your own frontend if you want to? If you can run a backend, you can run a frontend. You can't get away with hosting a relay or an app view, though, you need to host a full personal data server, with your own indexers and everything. You can also rely on external indexing, but then you turn dependent on the servers you interact with.

As for federation, you can federate with smaller services just fine, but Bluesky's design makes it very centralised around the main server. There's nothing on the protocol level that enforces federation with the main site.

This is a bit like with the Fediverse: for a couple of years, the only relevant service on there was Mastodon, specifically a few larger Mastodon servers. If you didn't federate with them, you may as well not have federated at all. This also made some of Mastodon's weird quirks de facto standards for Fediverse support (like how some ActivityPub object types aren't supported, and people put every huge web page in a "post" object so it would be rendered by Mastodon).

If the main Bluesky server bans you, there's nothing preventing other Bluesky instances from indexing your content just as easily.

If anything, this setup allows for more freedom than (for instance) Lemmy does. If Lemmy.world bans you, you can't post in their communities anymore. Other servers can't discover your attempts to post, so your local posts will remain local, out of reach of any ActivityPub server. Sure someone could scan the Lemmy API for differing posts, but that's not how Federation is implemented here.

On Bluesky, independent servers can (should) index each other using the standard API. You can get banned from bsky.app, but other servers can still see your posts pop up in their feed.

I don't know for sure how banning works on a technical level, but it is my understanding that moderation on Bluesky is actually done not dissimilarly to nostr. Everything gets processed and stored, but there's a layer between the database and the frontends that handles blocking and banning. Of course Bluesky could disable federation with your server entirely, but it seems to me like they'd still federate your content even if your account is banned using normal banning tools, unless other servers propagate your ban as well. That's up to them to decide. This too is unlike ActivityPub, where an account ban will also halt propagation.

From what I can tell, it's perfectly possible to set up an independent Bluesky network. The only issue is that Bluesky users don't give a shit about federation and won't move to any alternative server, so if you want to reach them, you need to play nice with the main instance.

[–] [email protected] 1 points 6 days ago (1 children)

@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.)

[–] [email protected] 1 points 6 days ago

@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

[–] [email protected] 2 points 1 week ago

From what I can tell, it’s perfectly possible to set up an independent Bluesky network. The only issue is that Bluesky users don’t give a shit about federation and won’t move to any alternative server, so if you want to reach them, you need to play nice with the main instance.

Makes sense

load more comments (2 replies)
[–] [email protected] 9 points 1 week ago* (last edited 1 week ago) (1 children)

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)

[–] [email protected] 6 points 1 week ago (3 children)

Thank you Ruud!

If I understand correctly, using a custom domain name still makes you use the central Bluesky server, right?

load more comments (3 replies)
[–] [email protected] 9 points 1 week ago* (last edited 1 week ago) (1 children)

@Blaze AT (Bluesky's protocol) is a little bit different then activity pub. There's two types of servers, a PDS and a relay. A PDS is basically a git repository of all your posts/interactions, it's super lightweight and doesn't do anything but host them and provide it to any server that asks for it. The PDS basically does the profile hosting portion of a Mastodon server, and is very similar to a Nostr relay if you're familiar with that.

A relay accesses data across a bunch of PDSs and provides it as one big network to the relay's users. It's basically the equivalent of the federated portion of what a Mastodon server does. It's also doing what a Nostr client does (although Nostr does that on the user's device) if you're familiar with that.

Any relay can pull data from any PDS, so theoretically it's very decentralized since anybody could host either a PDS and/or Relay. Bluesky was opened up very recently though, so there's not many non-Bluesky-hosted PDSs on the network yet and most are small and experimental. There's also no relays other than Bluesky that I'm aware of, although it's only been open for ~6 months so I expect that'd change soon.

load more comments (1 replies)
[–] [email protected] 2 points 1 week ago

Thank you for all the info! Been wondering about various things.

Zooming back, it feels like both the fedi and bluesky aren't fully resolved yet and might influence each other and a possible further replacement.

For example, I like the PDS/repository idea and think it would help make migrating easier in the fedi. But I would like more granular control over what is shared to relays as opposed to everything.

load more comments
view more: next ›