Email or username:

Password:

Forgot your password?
Top-level
Christine Lemmer-Webber

Now yes, they are using decentralized techniques. Remember when I said content-addressed storage is a good idea and the fediverse should do it too? IT IS! (And as I also said, it's actually fully possible for the fediverse to do, more on that later.)

But the reality is, it's still *centralized*

439 comments
Christine Lemmer-Webber replied to Christine

In every meaningful way from a power dynamics perspective *EXCEPT* the category of "credible exit" (which I am saying and agreeing is a good idea!) Bluesky is centralized.

MAYBE another big corporation could come along and host all this stuff but that's adding a Bing to our Google

Christine Lemmer-Webber replied to Christine

Yes, you can host your own PDS. You can also host your own blog. But try hosting your own PDS and NOT hosting a relay or AppView and you can't do much.

Blogs are decentralized, Google is not.
PDS'es are decentralized, Bluesky is not.

Christine Lemmer-Webber replied to Christine

We're getting to the point where we get to why I'm so damn frustrated about this and have been biting my tongue until it nearly comes detached from my mouth: users THINK Bluesky is decentralized because they're TOLD Bluesky is decentralized

AUGH! *That's* what drives me nuts.

Dr Kim Foale replied to Christine

@cwebber if theres one frustration i have trying to mature a tech thing the last few years its that "maybe this could work in the future" seems to be a much much bigger draw for people than "this is actually working now and we can use it if only we do X". it suckssss. like imagine if mastodon was only mastodon.social lol

Christine Lemmer-Webber replied to Christine

Here's an example of this problem in action

fry69: "The working search box was the second thing that impressed me on Bluesky, I thought that was not possible with a decentralized model"

Sorry fry sixty-nine I regret to inform you the reason search works so well is that it's centralized! THAT'S WHY

Christine Lemmer-Webber replied to Christine

So hold on, let me set some terms for "decentralization" and "federation" that I think are reasonable.

> Decentralization: the result of a system that diffuses power throughout its structure, so that no node holds particular power at the center.

Pretty reasonable. Do you agree? I hope so!

Christine Lemmer-Webber replied to Christine

Okay how about "federation" now because this is a *technical term* that the *fediverse has established* and I'm kinda PO'ed about the goalposts being moved on this one.

A lot of people coming to Bluesky have never heard of "federation" before in a social network so listen up this is important!

Christine Lemmer-Webber replied to Christine

Here's my definition of federation:

> Federation: a technical approach to communication architecture which achieves decentralization by many independent nodes cooperating and communicating to be a unified whole, with no node holding more power than the responsibility or communication of its parts.

Christine Lemmer-Webber replied to Christine

Now historically, federation has been achieved on the fediverse via "message passing". Actually, this is to the degree where I just always associated message passing with federation, but really, federation is about the distribution of power, creating an abstract whole in a sea of autonomy.

Christine Lemmer-Webber replied to Christine

Maybe there is another way to achieve federation, but it's about the power dynamics. It's a technical immersion of power dynamics, the flow and interchange of cooperation between many parts.

So you may say, well, doesn't ATProto have that? After all, messages flow through the different parts!

Christine Lemmer-Webber replied to Christine

ActivityPub, as it turns out, follows the actor model of computation. Okay, many people implementing the fediverse don't know about the actor model aspect of ActivityPub but I am here to tell YOU, dear reader, that it is an important thing, not a detail

Christine Lemmer-Webber replied to Christine

I'll take one more note about federation which is that often time the message passing mechanism of the fediverse is often called "federation", but theoretically another mechanism could exist, but I'm actually not so sure of that.

There's a reason the actor model and the lambda calculus are undying

Christine Lemmer-Webber replied to Christine

Oh god Christine said "the lambda calculus" did you know she's into lisp and functional programming, what's she going to talk about next monads?!?!

I am not going to talk about monads. Not TODAY

But we do need to get a better architectural idea of how these systems work because it matters a lot!

Darius Kazemi replied to Christine

@cwebber your spooky Halloween name next year should be Christine "Leibniz"-Webber

Christine Lemmer-Webber replied to Christine

So let me introduce two models of communication which we can use to analyze these two systems. It's important!

- Fediverse/ActivityPub: "message passing"
- Bluesky/ATProto: "shared heap"

Okay, cool, terms established, let's talk about them and why they matter because they matter A LOT

Christine Lemmer-Webber replied to Christine

"Message passing" is what ActivityPub uses. It's "like email", people say, and that's true.

Actually it's even a lot like physical mail. You write a letter, you say where it should go, it gets delivered to your house.

Message passing. The world runs on it.

Christine Lemmer-Webber replied to Christine

Now I can use message passing to send a message to you *directly* and indeed, that's "like email". For one-to-one correspondence, that's enough.

But it's not enough for a followers/following type mechanism. But we can build it on top! Thank *you* computational abstractions!

Christine Lemmer-Webber replied to Christine

On top of "message passing" we will build "publish-subscribe" as a second-layer abstraction

"Your ideas are interesting and I'd like to subscribe to your newsletter."

You send me a letter saying you'd like to hear the things I have to say, okay, you're part of the reader list. That's how it works.

Christine Lemmer-Webber replied to Christine

On top of that we can build even more abstractions and the net result is that this is how federation works in pretty much every "federated" system I know.

ActivityPub does some extra work to help you see replies on a thread, think "letters to the editor". This is a bit lossy sometimes though

Christine Lemmer-Webber replied to Christine

It's true that sometimes users click over to a thread and see some replies but not all on their instance's UI. There's things that could be done to improve it, but it's sometimes mildly confusing, but not so bad, and you can click over typically to see whatever else is happening, and people learn to

Christine Lemmer-Webber replied to Christine

I actually think this is improvable but I mostly don't care because this isn't as big a complaint as people tend to think it is on the fediverse, the other concerns like "what instance do I pick" tend to be bigger and "oh no my server went down"

That can be improved, we'll talk about that later

Christine Lemmer-Webber replied to Christine

So okay, the federation is "message passing" and like email, or physical mail. You have an idea how it works.

Now we need to get to that other thing, a "shared heap" architecture. What on earth does that mean?

Christine Lemmer-Webber replied to Christine

If "message passing" is like "mail comes to your house", a "shared heap" system works differently

In a "shared heap" system, all the mail gets dumped at the post office, and in the most naive version, you go over there and read through every single piece of mail to see which one is relevant to you

Christine Lemmer-Webber replied to Christine

There is no "directed delivery" in a "shared heap" system, which means you are stuck with two things: either a "god's eye view" (Bluesky) or "even lossier about replies than ActivityPub" (Secure Scuttlebutt/Nostr)

Christine Lemmer-Webber replied to Christine

The Bluesky approach to the "shared heap" is that *everything* goes into the big, centralized shared heap. Bluesky takes a "god's eye" view: it knows everything, and so knows what all your replies are, and can give you perfect search.

Secure Scuttlebutt / Nostr... well long story. Lossier, I'll say

Christine Lemmer-Webber replied to Christine

You can imagine the physical world version of "message passing" already because you already live in this world. Messages come to your house or apartment building or whatever

For Bluesky's "shared heap" architecture, you'd have to build a whole addition to your house for everyone's mail

Christine Lemmer-Webber replied to Christine

That's exactly why running a Relay or AppView is expensive: you're building an addition to your house for all the world's mail.

Eeep! That ain't cheap. That's why I'm saying: decentralization also means the ability to *scale down*.

Christine Lemmer-Webber replied to Christine

Look, I know that I've been hitting this nail on the head for a while but: the web is open, blogs are open, but Google isn't open

But you could run your own Google, in theory. You could index the web. So why aren't you?

Ah yeah. Same thing here. That's what I mean, that's why it's centralized

Christine Lemmer-Webber replied to Christine

Now as I have said, this is a *design decision*. And remember: most users of Bluesky really *don't care*. Decentralization is not their focus, they're trying to get the hell off the nazi hellscape that Musk's toxic reign of Twitter has become.

Bluesky's architecture, actually, is great for them.

Christine Lemmer-Webber replied to Christine

If what your *goal* is to get off Twitter, then Bluesky has solved it. They solved it by building another Twitter, and this time it's open source, which is cool! And it might have this "credible exit" thing.

But god damnit it's not decentralized and it's not federated stop TELLING people that

Christine Lemmer-Webber replied to Christine

"Oh Christine you're being sensitive"

Maybe, but there are real consequences to this. What if Bluesky/ATProto fails? "Oh well we tried decentralization and that didn't work." If people think something is something that it isn't, then that's a real problem.

Christine Lemmer-Webber replied to Christine

Users, clearly, think a lot more of Bluesky is decentralized than it is, and realize less of the consequences than they should. This really worries me. Blocks and DMs are both great examples of this.

Christine Lemmer-Webber replied to Christine

Blocking first. Bluesky's decision to have *everything* public means that it is expected that every participating node knows *everything* about who's blocking *everyone*.

"This is consistent with how blocking works on Twitter/X" their paper says

But wait, I'm pretty sure that one's not true though

Amber replied to Christine

@cwebber@social.coop https://clearsky.app/ is creepy as shit lol and it shows just how much is public

Christine Lemmer-Webber replied to Christine

It is ONE thing to be able to block JK Rowling and for you to see that JK Rowling is blocking you.

It is an ENTIRELY DIFFERENT THING for ANYONE to see who is blocking JK Rowling and who JK Rowling is blocking

This one is shocking to me: this seems like a vector for abusive actors

Natty :butterflyN: replied to Christine

@cwebber@social.coop Already happening, bots scrape and harass people who sub to a labeller marking transphobes or something

It's like getting a list of targets on a silver platter

Christine Lemmer-Webber replied to Christine

Now to be completely fair this is something that Bluesky's devs are interested in potentially changing: there is an open issue to discuss the possibility of private blocks github.com/bluesky-social/atpr

What I am saying is there are architectural consequences to fundamental design abstractions

Christine Lemmer-Webber replied to Christine

Yes, I may sometimes seem silly over here, SICP-hugging fangirl, come on we're just trying to build things that *work* over here

Look I'm a lisp lady, I know the realities of "Worse Is Better" more than most, I now the right CS designs don't win

But Conway's Law flows in two directions!

Christine Lemmer-Webber replied to Christine

You know what, we'll come back to "bidirectional Conway's Law", let's talk about Direct Messages for a minute because I think those are telling

Direct Messages in Bluesky, wait how do they work if ATProto is public?

Did you guess?

DMs are centralized! All DMs flow through Bluesky

Christine Lemmer-Webber replied to Christine

Now to be completely fair Bluesky is clear about this *in their blogpost announcing DMs*, but just like this thread, I doubt nearly anyone has read that far (am I talking to the void? I don't know, if you actually have gotten to this message reply with "I found the easter egg" or something)

Ruth [β˜•οΈ πŸ‘©πŸ»β€πŸ’»πŸ“šβœπŸ»πŸ§΅πŸͺ‘🍡] replied to Christine

@cwebber yeah, I haven't been on Twitter in a hot minute but I lived there for years and you could see things like follows and the most telling was Likes, even before they started getting put in people's TLs, you could look it up -- which were legit the first way we found out JKR was a terf, she wasn't posting it yet or RTing even but she was constantly liking terf shit.

However that was the most detailed info you could get on someone, the one thing they didn't necessarily intend to share.

ocdtrekkie replied to Christine

@cwebber I just saw this one comment, and then... clicked it and started scrolling up. Woo, time to read.

Jeremiah Lee replied to Christine

@cwebber My gourds, this thread has been a wild, insightful ride so far!

Edward L Platt replied to Christine

@cwebber I want to be able to speak intelligently enough on the subject, but I only learned enough about Bluesky/ATProto to know that I wasn't interested in using it. Do you think it's worth understanding to be able to explain to people? And/or is there a good brief explainer somewhere?

Edward L Platt replied to Christine

@cwebber I have kind of an axe to grind about "decentralized" systems that are really centralized organizations using some decentralized tech. People look at the protocols and cables to evaluate centralization, but what really matters are the wider trust relationships that are a layer even below those.

Anders Thoresson replied to Christine

@cwebber Dropping in mid-thread just to thank you for it! Helps me understand things. :)

Les Orchard replied to Christine

@cwebber An analogy I've used with some folks is to imagine blogs you can only read through Google Reader. And if Google Reader shuts down, you can't read those blogs any more. But that'll never happen right?

(which, of course, I see you've covered as I read further through your thread! πŸ˜… )

ionizedGirl replied to Christine

@cwebber if content addressed storage is considered a new idea then I'm done. I quit

smallcircles (Humanity Now πŸ•Š) replied to Christine

@cwebber fabulous! Stuff to πŸ‘€

You mention "Message passing" vs "shared heap" architectures and it occurred to me how fast this shift to pioneering in "decentralized/distributed solution design" space and entering entire new computing paradigms currently is.

Where once more tech is running way ahead of responsible use. Technically all is possible. Reality is we stumble ahead, no best-practices, impl on-the-fly.

We take as it were big bets on future direction, may overlook externalities.

1/..

Go Up