this post was submitted on 15 Apr 2025
1398 points (98.5% liked)

Technology

68808 readers
5628 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related news or articles.
  3. Be excellent to each other!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, this includes using AI responses and summaries. To ask if your bot can be added please contact a mod.
  9. Check for duplicates before posting, duplicates may be removed
  10. Accounts 7 days and younger will have their posts automatically removed.

Approved Bots


founded 2 years ago
MODERATORS
 

Original post: https://bsky.app/profile/ssg.dev/post/3lmuz3nr62k26

Email from Bluesky in the screenshot:

Hi there,

We are writing to inform you that we have received a formal request from a legal authority in Turkey regarding the removal of your account associated with the following handle (@carekavga.bsky.social) on Bluesky.

The legal authority has claimed that this content violates local laws in Turkey. As a result, we are required to review the request in accordance with local regulations and Bluesky's policies.

Following a thorough review, we have determined that the content in question violates local laws in Turkey, as outlined in the legal request. In compliance with these legal provisions, we have restricted access to your account for users.

you are viewing a single comment's thread
view the rest of the comments
[–] sp3ctr4l@lemmy.dbzer0.com 124 points 1 day ago* (last edited 20 hours ago) (52 children)

Assuming you are serious:

Bluesky is ... arguably 'federated', but it is centralized, not decentralized.

https://gigazine.net/gsc_news/en/20241128-bluesky-decentralization

Their model (AT Protocol) relies on a central, authoritative ... 'Relay', that all 'federated' users and posts on federated PDS (personal data servers) must go through, to actually reach the 'AppView', ie, what all other people/users can actually see.

So, this is not a many to many, tangled spider web of connections, the way lemmy, and other parts of the actual fediverse are.

It is a top down hierarchy, a pyramid.

And Bluesky runs the Relay, the chokepoint.

If Bluesky cuts off the PDS your account is on, everyone on it is now gone.

The actual fediverse, Mastadon, Lemmy, etc, runs on ActivityPub.

In that model... every instance is essentially self contained, and every instance that is federated communicates with every other instance that is federated.

Each instance can decide what other instances they want to federate with... and users on each instance can personally block even more other users, communities, or entire instances if they choose to, but that only effects what that particular user sees.

That is what you call decentralized, approaching, or also having elements of being 'distributed'.

To bring up an example without getting into the drama that led to it:

The 'Tankie Triad' of ml, lemmygrad and hexbear have had a number of other instances defederate from them.

But, there are also a good number of instances that have not done so.

So that means if your account is on hexbear... you can't see or post on an instamce that has blocked your instance.

But, if you (a hexbear...ian?), post on a neutral instance... users on that neutral instance will see the post.

But but, if a user from an instance that has defederated from hexbear goes to to the neutral instance... they will not see the hexbearian's post.

This sounds complicated, and it is, but ... thats the whole point of a decentralized system. It is more complex in the abstract... but the entire system ends up being more robust, more adaptable, more customizable... without a central authority in direct control of the entire system.

[–] Imgonnatrythis@sh.itjust.works 16 points 1 day ago (28 children)

So the decentralized version makes sense to me. The blue sky model you describe sounds like just farming out the server load. What am I missing?

[–] aeshna_cyanea@lemm.ee 5 points 1 day ago* (last edited 1 day ago) (18 children)

That there are actually multiple relays. There's no hard coded single relay, that would be ridiculous and idk why people keep repeating it

There is a hard coded relay in the official bluesky app, just like it has a hard coded moderation service. But both of those are changeable with third party appviews/clients

[–] sp3ctr4l@lemmy.dbzer0.com 9 points 1 day ago (1 children)

I was oversimplifying a bit such that it wouldn't be overwhelming to a self-described uninformed person asking for an explanation.

Yes, there are multiple actual relays but they functionally constitute a single layer or class of components in a birds eye view of the whole system.

As far as I am aware, no one other than BlueSky runs the relays, or has the code to do so.

If I am wrong about that, I would appreciate a source indicating such.

Does anyone other than BlueSky actually run a relay?

[–] aeshna_cyanea@lemm.ee 0 points 1 day ago* (last edited 1 day ago) (2 children)

Several people have self hosted relays. Afaik nothing that anyone has used in "production", everyone just uses the default one. I expect that will change as people figure it out, and trust in bsky pbc drops with things like the current Turkish censorship incident

Example of self hosting https://bsky.app/profile/why.bsky.team/post/3lkwg2djrfk23

The code to run a relay is here https://github.com/bluesky-social/indigo

[–] sp3ctr4l@lemmy.dbzer0.com 4 points 21 hours ago* (last edited 21 hours ago)

... Yeah, as 73ms already pointed out... that first link is just someone setting up an AppView.

To truly run an independent BlueSky system... you would have to run your own PDS, your own Relay, and your own AppView.

Your second link does actually have code and a rough setup guide to running your own Relay, so I will give you thanks and credit for showing that at least it is possible to theoretically do this...

But you say 'several people run their own Relays' and then do not evidence that.

The Relay config here is just... how to host your own Relay that would act as a member of BlueSky's Relay network.

Basically, that is just how to transfer some of BlueSky's server hosting costs ... to yourself.

If you set up a totally independent Relay... could it even interface with BlueSky's Relays?

As far as I can tell: No.

It would be totally independent... a parellel network, not a federated one that interfaces with the rest of BlueSky, and is thus not actually able to 'federate'.

What... you would have to do... is set up your own Relay, connect it to basically all the other preexisting PDSs you want to include, then also run your own PDS, then also run your own AppView, and connect it to your own Relay... or just trust someother person running their own AppView, or just trust the official ones.

(But... I think that to connect your own Relay to preexisting PDSs... that would require those PDSs to... disconnect from the mainline BlueSky Relay system... because they can only point to one Relay system at a time... so that's kind of a problem.)

That would be the only way to make your own ... sort of branch of the BlueSky system, that at least in theory might be resistant to centralized censorship from BlueSky.

And again... I am not aware of anyone who has yet done this, or if it would even work at a technical level.

When dealing with software and tech companies, a good rule of thumb is that a planned or possible feature... doesn't actually exist untill its been provably demonstrated to exist and work.

[–] 73ms@sopuli.xyz 4 points 1 day ago (2 children)

Your "example of self hosting" is not an example of self hosting the relay, just an appview which is still being fully dependent of other Bluesky services like the relay. It's pretty unlikely that the relay would be at all practical to host on a RPi5. But even if it was the problem still remains that the network is set up in a way where self-hosting it only results in you creating your own separate bubble, not meaningfully participating in the official one.

I also doubt anyone has selfhosted relays long-term since right now there's very little purpose to that and the resource requirements are massive as well as keep growing at a fast pace in terms of the disk space required.

[–] Natanael@infosec.pub 2 points 22 hours ago (2 children)

The whole architecture is built around content addressing and allowing every account hosting server (PDS) talk to multiple relays and to allowing mirroring.

The whole point is to NOT create bubbles.

People already run their own PDS servers and participate with the official bluesky network, and can talk to users there, because their self hosted PDS syncs to the bluesky relay.

If you run your own relay and appview it STILL works, and you can talk without bubbles, if you still link your PDS to the bluesky relay to make yourself visible to their users, and if you set your appview / relay to retrieve content from the bluesky relay then you see content from bluesky users too.

Self hosted relays do exist, they're just not open to the public (mostly used for archival / development currently)

[–] 73ms@sopuli.xyz 2 points 22 hours ago (1 children)

PDS is not very significant, it's just a tiny piece of the puzzle and doesn't really prove anything about the architecture. See this for more on what I'm getting at: https://neuromatch.social/@jonny/113365406995624763

[–] Natanael@infosec.pub 0 points 21 hours ago* (last edited 21 hours ago) (1 children)

That post is very misguided.

First of all, he's saying "you SHOULD make your PDS invisible to the bluesky servers because otherwise what's the point", but that's exactly equivalent to saying "our community want it's own Mastodon server - that means we MUST defederate Mastodon.social or what's the point?"

That's nonsense. Don't enforce silos on people.

Also, which relays to support are not chosen by users, it's chosen by the services the users choose. The PDS choose which relays to sync to, the appview does too, just like feed generators and moderation labelers does. They can trivially sync to multiple.

What people will choose is what app to use. This app will choose default appviews, and that appview chooses a relay, etc. Then they register an account, and the app suggests a default PDS server, or they host their own.

Also moderation labelers can be shared. Communities can run their own, and different communities who trust each other can import labels generated by the others.

Hosting a PDS is very cheap, it's just storage and bandwidth for the posts multiplied by the number of relays you directly sync to. With a few users on each that's nothing. It's in the range of free tier VPS hosting, RPi grade.

Deduplicating is probably the most trivial part. There's already code for handling duplicate events in streams. But more practically speaking, there's algorithms like set reconciliation which can make it significantly more bandwidth efficient to subscribe to multiple relays even when they have overlapping content.

Tldr no there won't be bubbles, unless that's what the users want. They surely CAN choose services which filter out the bluesky servers and which don't make them visible to bluesky, but why?

As for the DID part, the alternative is DID:Web, which requires permanent control over your domain name. With DID:PLC you can control your data by registering your own keys, although there's possibility for censorship. Their goal is to separate out running the DID:PLC service to an independent foundation.

As for the followup comments, just a few months ago bluesky made it significantly cheaper to authenticate jetstream events via Merkle tree diffs (jetstream is the lower bandwidth version of the relay firehose service). This means you can verify correctness quickly just by having a copy of the Merkle root hash & pubkey for the accounts you're interested in, you don't need to store the whole user repositories (excellent for feed generators and moderation labelers and anybody else doing partial sync)

[–] 73ms@sopuli.xyz 1 points 21 hours ago (1 children)

I don't think you got the point tbh. It isn't about wanting to separate but about how dependent you are on Bluesky Corp. in every other scenario (and how hard it would be to deal with the situation if they decide to go rogue).

[–] Natanael@infosec.pub 1 points 21 hours ago (1 children)

But that IS the point. The possibility of running independently PLUS the ability of bluesky users to migrate their account wholesale away from bluesky servers to 3rd party servers means you're not dependent on them.

They're literally designing for the principle of "the company is a future adversary" (see: Twitter, et al).

[–] 73ms@sopuli.xyz 1 points 20 hours ago

Yes and the thread I linked to explained why it is not looking like it's particularly well thought out for that case. Even beyond those issues they've always seemed very naive about what the company turning adversarial would actually be able to do but then again they obviously also have to worry about making money.

[–] sp3ctr4l@lemmy.dbzer0.com 0 points 21 hours ago (1 children)

Self hosted relays do exist, they're just not open to the public (mostly used for archival / development currently)

Blorgbob exists, and people use their own blorgbobs, but also people are not allowed to use blorgbobs, and they are only in archives or experimental development.

... Please tell me you understand you have just said completely self contradictory nonsense.

Leaving the actual truth or falsity of your claim aside... what you have just stated is a logically impossible paradox.

[–] Natanael@infosec.pub -1 points 21 hours ago (1 children)

Choosing to not understand the architecture is your failure, not mine

[–] sp3ctr4l@lemmy.dbzer0.com 1 points 20 hours ago (1 children)

Ok, noted, you are a fanatic who does not understand that the statement of yours I replied to literally is a logically impossible paradox.

Take a few deep breaths and ... maybe try to reformulate your words.

[–] Natanael@infosec.pub -1 points 19 hours ago (1 children)

Not knowing what a relay does and going on the attack over it makes you the fanatic.

It's an archive node, which can (but doesn't have to) forward ingested data

[–] sp3ctr4l@lemmy.dbzer0.com 1 points 17 hours ago

It is very, very clear, reading your other comments that you are incapable of grasping the concept of a decentralized or distributed network paradigm.

Maybe go look at how torrents work, how I2P works, how a MeshNet works.

Other metaphors would be a guerilla warfare network of cells vs a top down conventional hierarchy where individual units are allowed a degree of autonomy within certain bounds.

The AT Protocol system is not capable of operating in a non centralized manner.

Your only option is to point your PDS at either the official network of Relays... or set up your own system of Relays, and point your PDS at that.

Likewise for an AppView, you can either point yours to sync with the official network of Relays... or another network of Relays.

There is no meshing, where nodes on the mesh control what other nodes they interface with.... there is only branching or forking, setting up an entirely parellel structure, that is not capable of synchronizing with the original.

Beyond that, you still have not addressed that you said a blatantly self contradicting statement; that people self host relays, but also they don't self host relays because that is costly and the self hosted relay code available to the public is experimental and mainly used for reasons tangential to the core function of a production ready relay.

And for the I think third time I have asked this, not of you personally, but in this thread:

Who is hosting a Relay other than BlueSky?

Can you provide evidence any independent person has figured out how to do this and is actually doing it?

I would gladly accept new information and adjust my own understanding accordingly, but all I have seen in this thread so far is multiple people claiming that there are self hosted Relays, and then either providing no evidencd, or showing that they don't understand the subject and post a link to a guide to, or example of, somehow setting up an AppView or PDS.

[–] aeshna_cyanea@lemm.ee 1 points 1 day ago* (last edited 1 day ago) (2 children)

Can you explain what do you think "backfill" means in the context of the linked post?

Sorry if that sounds disrespectful but we kinda need to have shared definitions for stuff

[–] sp3ctr4l@lemmy.dbzer0.com 2 points 21 hours ago* (last edited 21 hours ago)

Backfill means that the AppView has to request and download and then be able to present... the entire history of all posts from everyone on BlueSky.

If you are familiar with crypto, its like how you have to download either the entire blockchain, or nowadays, a trimmed down/compressed version of it... before you can interact with it.

If you are familiar with any kind of database like a forum or something... when migrating, you have to actually import a copy of all the preexisting users, posts, forum structure, posts, etc... if you want the new forum to actually contain what the old forum did, before you allow people to start making new posts.

When this rando is setting up his own AppView... he is asking the BlueSky Relays to give his AppView all the older posts, before the AppView is caught up, and can then begin to function in realtime with the rest of the network.

I don't mean to be rude, but if you genuienly don't know what 'backfill' means in this context, it is very likely you have essentially zero experience with or knowledge of systems that involve large databases ... it is a very common and well known term to anyone with basically over a year of doing most kinds of db admin/server admin work.

[–] 73ms@sopuli.xyz 2 points 1 day ago

I have zero need to play games with you. Make your case if you have one.

load more comments (16 replies)
load more comments (25 replies)
load more comments (48 replies)