• Jeena@jemmy.jeena.net
    link
    fedilink
    English
    arrow-up
    10
    ·
    1 year ago

    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 (he/they)
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      1
      ·
      1 year ago

      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
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        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.

          • sugar_in_your_tea@sh.itjust.works
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            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.

      • @qoto.org
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        @maegul

        Well such ownership tends to be based on communal recognition anyway. The community sort of chooses its own owner through members of the community agreeing that so and so is the owner.

        If the creator or current owner disappears, it would be up to the community to first recognize that and secondly react to it, probably by coming to a general agreement that someone or someones else will be the new owner.

        @jeena