Awesome! I’ll need to put my thoughts together too at some point.
I basically just want decentralized Lemmy, which I think makes the problem a lot easier to solve. If we ignore text search, I’d only need to fetch all child nodes given a parent mode, with an optional time limit. Everything is a simple entity with:
parent ID - null or user ID for communities, community ID for posts, and post/comment ID for comments
poster - user ID
content - text
content signature
number of pieces - for larger text posts
I’m thinking of doing authentication with a blockchain mechanism, but I could use a handful of authentication servers instead. Your subscription info would be stored like any other entity, but encrypted.
And I like your idea of pinning, I’ve seen that used as well. I want to come up with a novel way of distributing data, such that people geographically near you are more likely to have the content you’re interested in. I think Iroh is doing something similar, so I plan to see how they end up handling it, but that’s an optimization that wouldn’t be needed initially (could just use a naïve distributed hash table).
Some issues:
content would be immutable, and thus could never be deleted; this has serious implications for users who are unaware, but I see it as a feature, not a bug
no control of what gets stored on your device; this is why it’s text only, but text can be controlled in some jurisdictions; maybe encrypting it at rest helps?
need some number of public servers to facilitate connections between people behind troublesome NAT
So I’m watching Iroh development because I think they’ll have a lot of stuff in interested in using.
I am thinking about what you describe since 2017 and have written a few words about it lately (just posted them, so shameless self-plug here): https://beyermatthias.de/a-distributed-social-network
Awesome! I’ll need to put my thoughts together too at some point.
I basically just want decentralized Lemmy, which I think makes the problem a lot easier to solve. If we ignore text search, I’d only need to fetch all child nodes given a parent mode, with an optional time limit. Everything is a simple entity with:
I’m thinking of doing authentication with a blockchain mechanism, but I could use a handful of authentication servers instead. Your subscription info would be stored like any other entity, but encrypted.
And I like your idea of pinning, I’ve seen that used as well. I want to come up with a novel way of distributing data, such that people geographically near you are more likely to have the content you’re interested in. I think Iroh is doing something similar, so I plan to see how they end up handling it, but that’s an optimization that wouldn’t be needed initially (could just use a naïve distributed hash table).
Some issues:
So I’m watching Iroh development because I think they’ll have a lot of stuff in interested in using.