Hey folks ![]()
We’re about a month into the spaces alpha! From what I can tell, it’s going along pretty nicely. We pushed out one breaking change about two weeks back, but it’s been pretty stable apart from that.
I wanted to share a list of some of the open questions we’re still noodling on. Many of these will likely involve breaking changes. Most of these are not truly “open”, we have opinions on them and need to just nail it down. However, if anything is important to you, please share your thoughts.
We’re hoping to hit all of these (and any other changes of similar scope) by end of October.
Any change we make will first be made as a PR on the proposal repo. Then it will be merged when the implementation is updated and deployed. This happens on Thursdays and will be recorded in the alpha updates Discourse thread.
If you missed it, we’ll be doing an office hours session on Thursday (sept 24) to chat about the alpha, answer questions, and collect feedback.
- Open write spaces
- Should the PDS offer spaces that anyone can write to?
- Proposal merged: 0016 Atproto spaces: simplespace write access by dholms · Pull Request #105 · bluesky-social/proposals · GitHub
- Space credential expiration/revocation
- Do we need a revocation path?
- Should expiration be shorter than 2 hrs?
- Current proposal: 0016: Shorten expiration time and add revocation method by dholms · Pull Request #109 · bluesky-social/proposals · GitHub
- Public spaces
- Are public spaces in any way different from permissioned spaces?
- Should space authorities be able to mint a credential when no delegation token is offered (ie unauthenticated)?
- Of course this is always “possible”, but is it considered “offspec”?
- Could/should public space repos be rebroadcastable (ie signed)?
- DID docs
- Do we definitely want new service/key identifiers?
- What exactly are the semantics?
- For instance, can space authority sign a space credential with their
#atprotokey (specified throughkidclaim) if they also have an#atproto_spacekey in their DID document?
- For instance, can space authority sign a space credential with their
- Repo serialization
- The currently-specced serialization format sucks.
- Should this be a CAR file? Or should it be a new format? (for instance STAR-lite)
- Do we need a “multi-repo” format used in account migration?
- DPoP
- Is this the right fit in the credential flow?
- Technically specified for OAuth.
- We could have our own construction using HTTP signatures or similar
- getSpaceCredential
- Can you use other types of proofs besides delegation token & client attestation?
- re: 0016 make getSpaceCredential more generic? · Issue #97 · bluesky-social/proposals · GitHub
- Commits and signatures
- Should signatures be on the commit or should they be transferred as metadata (ie in HTTP headers)?
- Should we offer a deniable signature on single-record requests? (ie via
com.atproto.space.getRecord) - I think Bryan convinced me that the HMAC signing scheme needs a consumer-provided nonce. Expect some sort of tweak here
- Account status
- What is the account status of a space authority?
- Is it the same as normal account status? Can
#atproto_pdsand#atproto_space_hostvary?
- Sync scaling/reliability
- Can we make write notifications less lossy?
- Does PDS (space repo) need to remember and retry notifications to space host?
- Does space host need to provide better self-healing mechanisms?
- Space deletion
- Is the deletion flow robust enough? It is lossy & best-effort.
- Do members need to receive a notification of space deletion? Or does just syncers suffice, and applications re in charge of informing members?
- URI scheme
- Should we try to resolve IETF syntax issue for space URIs (ie dropping slashes, ie just
at:) - Should we support either blobs or versioned records in space URIs (things we’ve wanted in public URIs but just haven’t gotten around to)?
- Should we try to resolve IETF syntax issue for space URIs (ie dropping slashes, ie just