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?
Top-level
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? 395 comments
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) 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 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 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*. 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 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. 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 "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. 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. 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 @cwebber@social.coop https://clearsky.app/ is creepy as shit lol and it shows just how much is public 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 @cwebber@social.coop Already happening, bots scrape and harass people who sub to a labeller marking transphobes or something 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 https://github.com/bluesky-social/atproto/discussions/1131 What I am saying is there are architectural consequences to fundamental design abstractions 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! 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 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) @cwebber i found the easter egg! (Actually readin this thread in semi-realtime) @cwebber@social.coop i mean you're on my timeline every 2 seconds, it's hard to miss The thing that is telling to me about DMs is that we *have* federated direct message protocols like XMPP which have been around for ages; if Bluesky wanted to they could have tacked that on pretty quickly, E2EE or not. It still would have been decentralized at least The point is that I have *seen in the wild* people saying "Oh yeah Bluesky added DMs to their decentralized protocol" and augh I know they aren't claiming this but it's very clear to me that people are reading things as being completely different architecture than it is But to Bluesky's credit, Twitter's DMs aren't decentralized either! And getting and shipping something that works, now for the influx of Twitter users, again... I am sympathetic Bluesky's team is doing an INCREDIBLE JOB in that way of scaling to meet the incoming stream of Twitter refugees On that note, again, I am not reading the replies right now because I am (a) afraid to and (b) I'm never gonna finish this and we are a bit over HALFWAY THROUGH the analysis but I have this fear that EVERYONE is mad at me, Bluesky fans, fediverse fans I am trying to be analytical. I am trying!!! I said we are about halfway through and criminy we're halfway through the afternoon, I need a break to get some tea We have a few big topics left: - Decentralized identity, how does it work (magnets too, yes) @cwebber this entire thread is enlightening so far! (and i figure liking each post manually would be kind of insane to do.) @cwebber indeed the `void*` is listening. Please do continue. @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. @cwebber honestly kind of shocking that it's not fully encrypted, but then I suppose they would have to solve key management in a decentralized network problem ... Who cares if you block anyone ? They can still get the data , blocking is for fun I guess? |
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