I’m reading about ATProtocol so you don’t have to.
Instead of ActivityPub IDs (which are URLs like https://gleasonator.com/users/alex), they use DIDs (“decentalized ID”). What’s a DID? Absolutely nothing - it’s an 87 page document describing the format of a string that starts with did: and no implementation details.
The implementation is up to you. Well, there are some already. We have did:etho:Ac9aB5Fc04Dc1cB1789Af75b523Bd23C70B2D717 for Ethereum addresses, did:dns:alexgleason.me for domain names, and there’s even one called did:id:xxx for MasterCard’s proprietary/centralized(!) ID network. DIDs are in the format did:<method>:<id>, where the method can be a known method enshrined by the w3c, or a custom one.
So what’s ATProtocol using? A custom “work in progress” DID method called “placeholder” (did:plc:<id>) that… seems to talk to a centralized server?
Remember when Bluesky was under development for 2 years because they couldn’t figure out how to do decentralized identity. So what did they do? THEY JUST GAVE UP?
The did:plc spec is a vague “work in progress”: https://atproto.com/specs/did-plc
We cheekily titled the method “Placeholder”, because we don’t want it to stick around. We’re actively hoping to replace it with something less centralized.
So they still haven’t actually solved the core problem they set out to solve… are they going to resolve DIDs by talking to a centralized service? I suppose they thought since DID has the word “decentralized” in it, that’s good enough to move forward.
This is not inspiring confidence.