6 ms·
"Only viable instance" is not really the correct framing - Bluesky doesn't have instances. Anyone using ATProto without Bluesky will still be "on Bluesky". Whe
by kmeisthax 3mo ago
"Only viable instance" is not really the correct framing - Bluesky doesn't have instances. Anyone using ATProto without Bluesky will still be "on Bluesky".
When you go to bsky.app, you're interacting with the Bluesky AppView; one key feature of ATProto is that any AppView can interact with any (consenting) Personal Data Server (PDS). So you can self-host your PDS but still use bsky.app if you so choose. But critically, anyone can write an AppView; there are reimplementations of Bluesky as well as other social apps that use the same ATProto infrastructure. That would be closest thing to a Mastodon instance, except you don't have to host your data on it in order to use it. Imagine being able to go to a Lemmy instance and just post things with your Mastodon identity, and have everything show up without Mastodon having to know anything about Lemmy magazines or its special upvote / comment formats.
The actual centralization in ATProto lies in a combination of unfortunate design decisions and genuine friction in the self-hosted path. Being totally reliant on Bluesky is the happy path, self-hosting your PDS data is difficult but doable, and being totally independent of Bluesky is only possible if you do everything correctly right at the start.
First off, Bluesky doesn't offer any GUI tools for PDS migration. If you want to get off their PDS, you'll need to bust out command-line tools and possibly do some steps in advance of when you need to migrate in order for everything to work properly.
Second, even if you're on a PDS, you're still reliant on the Public Ledger of Credentials (PLC) to host your Distributed ID (DID) document. The PLC is run by Bluesky, although they've taken steps to make it easy to notice if they were to do something fucky with the PLC. But let's say we don't like that. There is a solution: you can host your DID document on a normal web server. Problem solved?
Well, if you were setting up an account for the first time, then yes, the problem is actually solved, you're 100% independent of Bluesky. But if you made the mistake of registering an account normally, you have a did:plc identity. And one core principle of ATProto is that identity names never ever ever change. So if you go and make a did:web identity, it's like having a second account, there is no way to tie your old did:plc identity into it. In fact, I'm pretty sure you can't even redirect one did:web identity to another (say if you need to switch domain names)
Regarding Bluesky's "independent protocol governance organization", they made the same promise about the PLC; but it hasn't actually been transferred yet. I would be a lot more bullish on ATProto if there was a way to migrate DIDs and retain all your followers and shit. And if there was proper graphical tools for data migration.
- hack1312 3mo ago> I would be a lot more bullish on ATProto if there was a way to migrate DIDs and retain all your followers and shit. And if there was proper graphical tools for data migration. This is exactly where I’ve landed re: ATProto. If you actually want to self-host everything you lose one of the biggest draws of it, the migratable IDs. I was looking into it to build an alternative to Threads/IG/TikTok for one of my hobby communities that’s become almost entirely reliant on Meta/Tencent. Being able to plug into the wider AT Proto world was a big draw, but not being able to self host a true alternative to did:plc has put a halt to that for now while I figure out what I want to do.
- anon7000 3mo agoI didn’t fully understand the part of the stack you’re talking about, but it always seemed like one of ATProto’s design goals was to really keep everything on the same distributed system (so to speak) while allowing people to host the bits individually that all contribute to the same connected system. Eg not having fully separate networks that don’t talk to each other
- hack1312 3mo agoIf you want a nice overview of the DID stuff, Steve Klabnik just recently made a post going into detail about did:plc and did:web https://steveklabnik.com/writing/too-many-words-about-dids/ https://steveklabnik.com/writing/too-many-words-about-dids/
- danabramov 3mo agoI don't know what you mean by this. You absolutely can self-host all your data on your own. And if you also don't want to rely on PLC for identity, you make a `did:web` identity, and then you're completely decoupled from Bluesky-operated infra.
- hack1312 3mo agoDan my concern is explicitly that did:web is not the same experience for users as a did:plc. If I host AT Proto infra for my community and want to give people <usename>.<domain> accounts, I can either host a did:web for them which ties their account permanently to that domain, or they have to register with the centralized PLC to actually have all the benefits of a migratable DID. did:web does not provide the same UX as did:plc From the post I was responding to: > Second, even if you're on a PDS, you're still reliant on the Public Ledger of Credentials (PLC) to host your Distributed ID (DID) document. The PLC is run by Bluesky, although they've taken steps to make it easy to notice if they were to do something fucky with the PLC. But let's say we don't like that. There is a solution: you can host your DID document on a normal web server. Problem solved? > > Well, if you were setting up an account for the first time, then yes, the problem is actually solved, you're 100% independent of Bluesky. But if you made the mistake of registering an account normally, you have a did:plc identity. And one core principle of ATProto is that identity names never ever ever change. So if you go and make a did:web identity, it's like having a second account, there is no way to tie your old did:plc identity into it. In fact, I'm pretty sure you can't even redirect one did:web identity to another (say if you need to switch domain names)