so, this is a bit of an abstract mathematical post.
I think that a fediverse service consists mostly of three parts: identity provider, data hoster, and feed provider.
The data hoster is the machine that hosts the posts and comments and upvote/downvote stats. The feed provider is the service which gives you a nice, scrollable overview over new content for you. This is today the same system that provides the data, but it could be separated, such as having a custom “search engine” that gives you content, that you use independently of where the data is stored.
The identity provider basically only makes a proof that “you are you” : you give it your login credentials and it gives you a kind of token that authenticates (proves your identity) to other services. like, i’m on discuss.tchncs.de, but i can post to lemmy.world. this is because the discuss.tchncs.de server says to lemmy.world that i indeed have this account on this server. so they prove my identity in a way.
What i argue now is that such an identity providing server is not technically necessary. You could use something like an ~/.ssh/id_rsa file that you generate on your own computer and use that public key to identify yourself on the fediverse. I don’t think that this approach has any inherent advantages over how things are being done today, but it could be done that way and that in itself is fascinating.
:D


Very interesting!
I agree with your point that a user account without a canonical URL to send messages to could not have an inbox, and therefore never get DMs or notifications if somebody commented on their post.
I had not thought of that before but it seems obvious to me in retrospect. Obviously, to receive messages, you need some kind of machine-address, where these messages will be sent to. And that’s what this is for:
Because it describes the inbox address.
That’s truly fascinating knowledge, thank you. It makes sense because in the ActivityPub protocol, each user has an outbox, and published posts go there. So of course, other communities simply reference that instead of actually holding the post.
This means, then, that communities aren’t actually so much lists of posts, but lists of references to posts, i.e. when i post to /c/[email protected], that community simply gets notified about the canonical link to my post, which actually resides in my outbox on this server. Thanks for making me think about all of this!