> It’s important to remember that spaces give you access control not confidentiality. The data in a space is readable by any user or application with access to that space, it’s not encrypted.
irickt 34 minutes ago [-]
As the next sentence says "Spaces are a very flexible primitive, and the range of uses is deliberately broad." Access control by groups fits a wide range of applications. Encryption with multiple access is a specialized need that might be built on the primitive.
arikrahman 1 days ago [-]
Let's go, tangled.sh is about to have private repos
dawnerd 7 hours ago [-]
You sure about that? From my reading nothing about this is private.
LowTechHN 10 hours ago [-]
You go, I’ll stay
notnullorvoid 7 hours ago [-]
It seems like at every turn the word private is avoided and replaced with "non-public".
I understand that the system probably is sound, the data just isn't encrypted, which I wouldn't necessarily expect. Maybe it's completely clear for users familiar with AtProto, but for others it needs to be clearer on some things:
- Where exactly is the data is stored
- Who is the "space authority" and why should they be trusted
- Strategies where you can manually encrypt/decrypt the data put in spaces
And avoid sketchy sounding terms like "non-public".
curious_cat_163 6 hours ago [-]
I am not developing with the ATproto, but keep an eye on the specs. There is a lot brewing in that ecosystem so I understand your skepticism.
I think that avoiding the word “private” is absolutely the right move here, because they are not building for the individual privacy. That’s not what the spec is intending to unlock. Their goal is to enable the next set of apps, that need to enable sharing of content with a specific and controlled group of users.
The data is stored in a PDS. You can use the one that Bluesky PBC or any other service provider provides, or you can self-host.
Space Authority is a DID, per the link above. So, in ATProto land, that’s just an account. The authority DID controls the accesss to the the space for other DIDs.
I can’t answer your question about encryption. Hard to answer it without a specific use case.
isodev 15 hours ago [-]
It's kind of shocking that nowhere in the discussions we see references to the IDSA (https://internationaldataspaces.org/). Most of ATproto seems to be based on data space concepts with a strange level of "we don't like RDF" layer applied on top.
I hope the growing mess of lexicons would eventually trigger them to self correct and look more into reusing (and encouraging) existing ontologies (schema.org or any number of others).
pocksuppet 1 days ago [-]
So is this now just, like, a server?
tancop 1 days ago [-]
No. Data is stored on your PDS and no one else can shut it down, there is no central server. The only difference from public atproto is when you ask someone else PDS for records in a space you need a token signed by the space authority to show that you have permission to read them.
pocksuppet 20 hours ago [-]
So your PDS is a central server?
Who would I ask for my private space records but myself?
oddevan 20 hours ago [-]
Think less "private" and more "protected." Like Patreon subscriber perks, paywalled content, or just someone who only wants certain people to see what they post.
inigyou 9 hours ago [-]
Who would you ask besides the author's PDS though? Would every relay have a cached copy of all private data, but only give it out after checking auth? That's not a very safe design - what if my relay doesn't check?
“Protected” is the same thing at the technical level. Both would 401 or 403 to the unauthorized user.
I think they are asking how it actually works not for product marketing
jazzyjackson 23 hours ago [-]
ATProto is basically old web where you host your own content and advertise an RSS feed except there are aggregators that make everyone’s feed into one big firehouse that you can filter down to content you want to follow, and then view the content with whatever client you want (AppViews which are also servers but they can be pointed to a feed made up of others servers, like a Web Ring!)
I could hate on them for reinventing the wheel but the cryptographic stuff they do with signed merkle trees is pretty clutch, it’s a tricky problem to untangle public key identities from domains so you can migrate your content without losing your identity. There’s still not a good flow for that but at least there’s the groundwork done.
evbogue 7 hours ago [-]
And yet, they don't advertise content hashes so the data cannot be distributed by the software.
evbogue 7 hours ago [-]
Yes like all of this would benefit from their team studying the implementation of Tahoe-LAFS.
gchamonlive 22 hours ago [-]
That's directly addressing vendor lock in
pocksuppet 20 hours ago [-]
A server protocol. Like HTTP.
gchamonlive 20 hours ago [-]
Sure they are linked by this general category of app layer service protocols, but they are different. ATProto afaik is a bit like activitypub, in which you define a protocol on top of the state representation in a way you can transfer it reliably across instantes that implement them.
It's like http in which you can achieve the same using http, but http isn't prescriptive about any such behaviours, which these protocols address
inigyou 9 hours ago [-]
> state representation in a way you can transfer
> It's like [a behavioural prescription on top of HTTP]
So a bit like REpresentational State Transfer (REST) then
gchamonlive 9 hours ago [-]
Does it operate on top of HTTP? I'm asking honestly, don't know the ATProto, if it is the yes, kinda, although REST isn't prescriptive about permissions, which the protocol also seems to be all about.
inigyou 9 hours ago [-]
REST is a set of conventions for HTTP
gchamonlive 8 hours ago [-]
Sorry, I meant atproto. Does it operate on top of http? At this point I could have already searched by myself but I prefer to keep it a conversation
forest_brothers 6 hours ago [-]
[dead]
ChrisArchitect 3 days ago [-]
Spaces?
As someone reading this from the periphery (and not really even as I have been in the ecosystem, building etc), my first thought was this was some kind of live audio conversation thing ala Twitter Spaces. But nope. I know I know, you want to do your own thing, define your own naming, but alot of people still view things as far as Bluesky's relation to Twitter, in the consumer lens. You'll get there as far as independent separation but it's not there yet (similarly, Bluesky & atproto's connection/independence).
And this isn't even a consumer thing in this respect, but a dev/protocol thing.... couldn't have gone with something like Zones... Permissioned Zones?
oofdere 3 days ago [-]
"space" is just a common English term for this kinda thing, as you can see in any dictionary ever:
Collins: "A particular kind of space is the area that is available for a particular activity or for putting a particular kind of thing in."
Cambridge: "an empty area that is available to be used"
why do you think Twitter called them spaces in the first place?
ChrisArchitect 3 days ago [-]
Not saying the word doesn't make sense, questioning it's use from a branding/identity standpoint. It's already taken/associated with an aspect of another network that like it or not is still in proximity to whatever AT proto/Bluesky are developing. Just call it something else! ("hardest thing in computer science is naming things" etc etc)
1 days ago [-]
embedding-shape 1 days ago [-]
> "space" is just a common English term for this kinda thing
Isn't that exactly the problem?
It's like using "node" for something in your program's design, or "tree" or "type" whatever. Usually it's better to find a more specific name that communicates the intent even better, or at least less common name, as it'll inevitably will clash with something else, and by then you wish you'd name it differently than every other single thing out there. Unless it truly is only that thing which can be called "tree", don't suddenly call it "perennial" just because.
LowTechHN 23 hours ago [-]
If I keep it vague I can do things like:
let { type } = customer;
type = “premium”;
setCustomer({ type });
It’s only slightly more verbose if I named the variable:
customerType
In many cases, the data I’m dealing with is outside my name control and commonly has something like { type } (e.g. <input />)
pibaker 1 days ago [-]
It's funny you said "node" because the first thing it reminds me of is NodeJS. I'll admit I don't know why they called it node. But I have never seen anyone bothered by it either.
tolerance 1 days ago [-]
My guess is that the collision is on purpose; to differentiate ATProto from Bluesky the platform, X the platform and "Twitter" the spectral concept we still use interchangeably with X. The intention here may be to differentiate ATProto from these things in a way that is indifferent to X and Twitter's existence and past influence.
lolokbro 1 days ago [-]
[dead]
Rendered at 22:19:49 GMT+0000 (Coordinated Universal Time) with Vercel.
I understand that the system probably is sound, the data just isn't encrypted, which I wouldn't necessarily expect. Maybe it's completely clear for users familiar with AtProto, but for others it needs to be clearer on some things:
- Where exactly is the data is stored
- Who is the "space authority" and why should they be trusted
- Strategies where you can manually encrypt/decrypt the data put in spaces
And avoid sketchy sounding terms like "non-public".
I think that avoiding the word “private” is absolutely the right move here, because they are not building for the individual privacy. That’s not what the spec is intending to unlock. Their goal is to enable the next set of apps, that need to enable sharing of content with a specific and controlled group of users.
The data is stored in a PDS. You can use the one that Bluesky PBC or any other service provider provides, or you can self-host.
Space Authority is a DID, per the link above. So, in ATProto land, that’s just an account. The authority DID controls the accesss to the the space for other DIDs.
I can’t answer your question about encryption. Hard to answer it without a specific use case.
I hope the growing mess of lexicons would eventually trigger them to self correct and look more into reusing (and encouraging) existing ontologies (schema.org or any number of others).
Who would I ask for my private space records but myself?
I think they are asking how it actually works not for product marketing
I could hate on them for reinventing the wheel but the cryptographic stuff they do with signed merkle trees is pretty clutch, it’s a tricky problem to untangle public key identities from domains so you can migrate your content without losing your identity. There’s still not a good flow for that but at least there’s the groundwork done.
It's like http in which you can achieve the same using http, but http isn't prescriptive about any such behaviours, which these protocols address
> It's like [a behavioural prescription on top of HTTP]
So a bit like REpresentational State Transfer (REST) then
As someone reading this from the periphery (and not really even as I have been in the ecosystem, building etc), my first thought was this was some kind of live audio conversation thing ala Twitter Spaces. But nope. I know I know, you want to do your own thing, define your own naming, but alot of people still view things as far as Bluesky's relation to Twitter, in the consumer lens. You'll get there as far as independent separation but it's not there yet (similarly, Bluesky & atproto's connection/independence).
And this isn't even a consumer thing in this respect, but a dev/protocol thing.... couldn't have gone with something like Zones... Permissioned Zones?
Collins: "A particular kind of space is the area that is available for a particular activity or for putting a particular kind of thing in."
Cambridge: "an empty area that is available to be used"
why do you think Twitter called them spaces in the first place?
Isn't that exactly the problem?
It's like using "node" for something in your program's design, or "tree" or "type" whatever. Usually it's better to find a more specific name that communicates the intent even better, or at least less common name, as it'll inevitably will clash with something else, and by then you wish you'd name it differently than every other single thing out there. Unless it truly is only that thing which can be called "tree", don't suddenly call it "perennial" just because.