Bluesky has gained a million new users in the last three days.
The platform posted about the milestone this afternoon, which it crossed after Brazilian Supreme Court Justice Alexandre de Moraes ordered a ban on Elon Musk’s X yesterday as part of an ongoing feud with the platform.
Apparently, enough are headed to Bluesky to drive its iOS app to the top of the Brazilian App Store, as TechCrunch writes.
Right, of course. I don’t really see any way any protocol can get around that though. If the original server is suddenly just gone, there is no way to tell it to move your account elsewhere. Hopefully such a situation should happen very rarely though.
Supposedly BlueSky has solved this by separating the data storage servers from the “relays” and “app view” servers, and since your account’s posts are cryptographically signed, they can come from any instance as long as the signature matches.
That at least covers migrating followers and new posts, but I’m not really sure what would happen to old posts if a data server just went offline. I’ve still got more reading to do.
But what if the server that holds the cryptographic keys is suddenly gone? Then what?
Or does Bluesky use client-held keys? I just think client-held private keys is probably too complicated for most people to realistically and safely use.
I assume you hold your own cryptographic keys, but I’m not actually sure how that works. Your client needs access to them to make posts, and it wouldn’t make sense for the server to hold your private key, since that would mean the owner of your instance could make posts as you.
I haven’t actually signed up to BlueSky to figure this out yet.
Edit: So it looks like users are authenticated using https://github.com/did-method-plc/did-method-plc But the keys are stored on the server, with an option to view your key for backup and migration. That does mean a certain level of trust with your instance, but you can self-host if that’s a concern. A malicious host at least can’t prevent you from rotating your keys and leaving (unless of course they steal your account entirely by rotating your keys themselves)
I mean, this is quite normal and common for all traditional social media (or any site really) you sign up for. It’s what most ActivityPub instances do too, though there’s nothing in ActivityPub that requires the server to hold the private key. It could in principle be held by the client but I don’t believe there is any implementation that does that currently.
Yeah, this is just me tacking on extra features I’d like. My security-minded programmer brain can’t help but think of all the edge-cases. It’s something that is suddenly possible with distributed social media that never was before.