Let's talk about Bluesky

Let's talk about Bluesky
Photo by Jelleke Vanooteghem / Unsplash

A couple of years ago, Twitter announced that they were working on a decentralized social media protocol. Shortly after that announcement, dead silence. Coincidentally, after Elon Musk buys 9.5% of Twitter, Bluesky pops their head out, announces to the world that they're still alive, and finally detail what they're working on.

First let's address the elephant in the room. It is highly unlikely anything out of Bluesky will see the light of day. Twitter makes a boat load of money being a centralized service, and they already killed their open API. They not only did this in 2010, but also in 2018. As much as Jack Dorsey may moan about it being "the worst thing they ever did," the decision was made with a clear-eyed dollars-and-cents assessment.

Fool me once, shame on you. Fool me twice, and I guess I'll raise money for a fancy new app based on Bluesky's protocol. But I digress.

Nevertheless, Bluesky's latest blog post is eye-opening because:

  1. They clearly see the Fediverse as a threat
  2. Nevertheless, they accurately point out several flaws in the Fediverse model
  3. Open protocols are already being developed as we speak to address these points

It's amazing to me how much FUD is being spread about the Fediverse in that post. Consider this backhanded insult towards Mastodon:

If your ActivityPub server shuts down, you lose your identity and relationships tied to your account on that server, just like you would if Twitter shut down. Since ActivityPub servers are much smaller than Twitter, and often run by volunteers, this scenario is not unlikely and has happened before.

The sheer chutzpah! What Bluesky fails to mention is that witches.town, the instance in question, wasn't shut down because the administrator arbitrarily pulled the plug but because there was a user revolt. Folks with witches.town accounts didn't particularly care for the administrator's views so wanted to go elsewhere.

More importantly, they could go elsewhere. Mastodon makes it dead easy to port your identity to another service. Just to prove I'm not talking out of my ass, here's the settings that allow you to do this.

Mastadon data export

As you can see, anyone can port their media, posts, follows, blocks – all manner of stuff – making it easy for you to upload it to another instance. (edit: as others have pointed out, you can't port your posts – still, the data export options are still better compared to Twitter.)

Compared to Mastodon, Twitter's data exporting is nowhere close to being as granular and extensible. All you get is a pathetic zip file.

Twitter data export

Just what can you do with that zip file once downloaded? Nothing. It will just sit there on your hard drive collecting digital dust since, of course, there's no competing service that uses Twitter's APIs. They can critique Mastodon all they like, the fact is that Twitter's answer to the question of data portability is, "Oh boy, just you wait and see what kind of vaporware we're selling you!"

But the FUD doesn't end there. Bluesky goes on:

Operating at scale requires engineering for scale. Early on, Twitter’s site crashed so often that the “fail whale” became a meme. They’ve since solved these problems, but existing decentralized networks that try to replicate the functionality of Twitter have not.

Bluesky is implying that Mastodon can't handle lots of traffic. This is not the case. One of the defining features of Mastodon (and the Fediverse at large) is that it works a lot like email. Sure, if one Mastodon server goes down, that sucks – but the entirety of the federation still persists. In contrast, when the fail whale happens, you're unlikely to hear a peep from Twitter's API rendering the whole service moot.

Mastodon isn't based on one company's API, for which they deign to share with developers (but which can be revoked at any time) but an open protocol which encourages cooporation across disparate networks.

This is important to point out because a large portion of people that I follow on the Fediverse are not on my local instance. In fact, I can follow them across multiple apps. Here on Peerverse, I'm receiving posts from five separate instances – and Peerverse has only existed for a few days.

Nevertheless, Bluesky has a point about a few things:

Decentralized networks are complex. Providers need to manage spam and abuse without inadvertently creating biases which lose the trust of their users.

Indeed, this is the problem with email. Currently, Google dominates email services with them pretty much acting like police. Services can only scale inasmuch as they're able to moderate, and it just so happens that the only party willing to moderate at scale with email is Google.

Therein is the rub. Email is designed to be a decentralized service, yet right now, it might as well be centralized. My web host won't even let me use Port 25 for fear it will anger Google.

Yet I understand why this must be. As I pointed out today, the largest Mastodon instance has a spam and troll problem.

If this becomes a bigger problem, common Mastodon users will only trust instances with the resources to moderate at a mass scale. Those instances will be likely be run by a Google-like entity. If that happens, we're back to where we started: centralization but with open decentralized protocols.

So how do we get past this glaring flaw in federation? Bluesky will have you believe that Twitter's centralization gives them an advantage of propagating open social algorithms that reward good content and filters out the bad.

Starting as a centralized platform, Twitter can take steps to open up APIs and provide choices to users, and this can be a path towards restoring trust in the current service.

However, I think the solution is a lot more simple: add a peer-to-peer layer on top of federation. Focus less on where content comes from and instead on what it is. In other words, give content an address and let the user-operators on the network build resilient storage. This mostly solves the problem of moderating at scale since content must be verified multiple times to ensure it is what it says it is. In other words, self-authentication.

Bluesky themselves reach this solution:

The conceptual framework we've adopted for meeting these objectives is the "self-authenticating protocol." In law, a “self-authenticating” document requires no extrinsic evidence of authenticity. In computer science, an “authenticated data structure” can have its operations independently verifiable. When resources in a network can attest to their own authenticity, then that data is inherently live – that is, canonical and transactable – no matter where it is located. This is a departure from the connection-centric model of the Web, where information is host-certified and therefore becomes dead when it is no longer hosted by its original service. Self-authenticating data moves authority to the user and therefore preserves the liveness of data across every hosting service.

However, Bluesky is saying nothing new. There's lots of distributed file systems in production, including the InterPlanetary File System. They certainly work, but the Internet at large continues to use addressing protocols at odds with this model.

Will Bluesky be the project that finally ushers in a new era of distributed social media? They're definitely aware of a solution, but the question is if they'll ever implement it.

Since centralization continues to be Twitter's cash cow, I'm not holding my breath.