this post was submitted on 25 Jul 2023
34 points (92.5% liked)

Lemmy

12524 readers
19 users here now

Everything about Lemmy; bugs, gripes, praises, and advocacy.

For discussion about the lemmy.ml instance, go to !meta@lemmy.ml.

founded 4 years ago
MODERATORS
top 7 comments
sorted by: hot top controversial new old
[–] jeena@jemmy.jeena.net 10 points 1 year ago (1 children)

Yeah, I always wished that Lemmy communities could be decentralized. Moderation, etc. still would work as before, the creator of the community would just give moderator rights to other people, etc.

[–] maegul@lemmy.ml 4 points 1 year ago (2 children)

Yea, increasingly it seems ActivityPub and this fediverse is just a prototype. It’s quite realistic that in 10 years we won’t be looking back on it with huge amounts of praise, apart from proving that this general model can work, which is huge.

I do wonder though, how would moderation work in true decentralisation. Who owns the community should the instance of its creator goes down? I guess user accounts would also be decentralised.

[–] sugar_in_your_tea@sh.itjust.works 3 points 1 year ago (1 children)

Yup. I'm messing around with decentralized services (e.g. IPFS and Iroh), and I think it would be really cool to have a completely decentralized service like lemmy. Some issues:

  • content would be immutable, so there would be no way to truly delete anything deterministically (would be up to clients)
  • following from the first, moderation would be an opt-in thing, so clients would need to enforce moderation changes themselves
  • performance would probably suck until the network gets bigger, so early adopters would have a rough time of it
  • searching could be complicated to implement, I need to think more about it

I think it should be possible to implement the Lemmy API and just use IPFS/Iroh as a storage backend to get started, and slowly push the server bits to the client as the userbase gets bigger.

[–] musicmatze@kbin.social 1 points 1 year ago (1 children)

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:

  • 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.

[–] jeena@jemmy.jeena.net 2 points 1 year ago

In Matrix right now the room would be orphant, but there is a longer discussion around this on GitHub https://github.com/matrix-org/matrix-spec/issues/165

[–] poVoq 3 points 1 year ago

The author of this article doesn't know what they are talking about.

First of all it confuses "decentralized" with "distributed". Generally speaking "decentralized" is a broader term that includes "federated", but specifically when talking about where data resides you can well argue that Matrix is less decentralized than Lemmy, as Matrix.org siphons up pretty much the entire network and most accounts reside on matrix.org by a long run.

Secondly, that ActivityPub mandates a single source of truth is a deliberate choice and not a bug. Principally AP could do the same as Matrix as communities are already cached on other instances. The problem is that you end up with extreme netsplit and moderation issues if you allow multiple source of truth in such a network. Matrix tries to prevent this by forcing everyone into a DAG (git like data structure), but this is a hugely inefficient and privacy problematic "solution" to what can be much easier solved by having an main original community that other instances can refer to.

I also think that is is myopic to only look at communities and not the overall network. If the origins of communities are widely distributed over a network, the network itself is decentralized even if individual communities are not.