Authority in atproto spaces

I’m happy to see permissioned data being rebranded to atproto spaces, I think it more accurately reflects the design of the proposal, which is that a record that exists in a atproto space has two authorities and the space has more authority that the repo. At least to me, this is subtly different than what permissioned data implies; where for a given record the repo is granting a space (potentially multiple) access to it’s data. This tension most clearly shows up in discussion about whether atproto spaces should use a separate addressing scheme.

One implication of giving the space more authority than the repo is that records are bound to the space they were created in. There are many cases I can think of when someone (e.g. creators) wants the same record flowing through multiple spaces, both with long-form writing or, as @iame.li notes, with streaming/VOD. There is an object permanence of the record being shared and atproto spaces lacks this affordance, I guess requiring a new of record in every space.

@chris.pardy.family elaborates on this when talking about the difficulty of adversarial space migration. The governance of space authority seems implicitly feudal and it’s unclear if there is a technical way for communities to migrate. As @chris.pardy.family concludes:

Conceptually a record is in a space, but in practice it’s more accurate to say that a record is authorized by a space. This gives us the opportunity to break the conceptual relationship without breaking the practical one. Spaces still authorize access to records but a record can be part of 0 - n spaces. Moving a record between spaces would be the process of adding an authorizer and then removing the old authorizer. “Deleting” all the records from a space would be removing that authorizer from all records.

Personally I think this points at the direction of a single address scheme where the repo is the authority and spaces are parameter that help determine access to records. That said, I’d love to get a better grasp on what the plan is for atproto spaces to handle these cases or the tradeoffs that have been examined not to support them!

cc @bnewbold.net

3 Likes

Worth noting that @dholms.xyz responded to some of these concerns and there was some similar discussion here. It seemed like the response that the space authority should be a DID that the community governs and community governance should figure these challenges out. I would like to hear more about the scenario that happens when apps that are creating these spaces don’t act in good faith and end up using their own DID as the space authority.

Some more discourse about this topic