this post was submitted on 10 Mar 2024
27 points (100.0% liked)

Rust

5980 readers
105 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
 

Hi rustaceans! What are you working on this week? Did you discover something new, you want to share?

you are viewing a single comment's thread
view the rest of the comments
[–] sugar_in_your_tea@sh.itjust.works 1 points 8 months ago (2 children)

I've been working on a distributed lemmy/Reddit alternative. I'm going to have to sacrifice some core features to get things working in a POC state (i.e. all clients will sync the full working set on each post), but I think I finally understand what the design needs to look like.

I'm excited to get working on the most interesting (to me) part: distributed moderation. Once that's done, I should be ready to post a repo somewhere, but I don't want to share the code until there's at least a rudimentary moderation system than can block local storage of blocked content (e.g. CSAM).

I'm also working on a game project in Godot with Rust extensions, but I haven't given that much attention.

[–] onlinepersona@programming.dev 1 points 8 months ago (1 children)

I’ve been working on a distributed lemmy/Reddit alternative.

Makes me think of Aether. Have you been / were you inspired by that?

CC BY-NC-SA 4.0

No, but it certainly looks interesting.

However, I want data to be permanent and moderation to be based on a web of trust. I'll certainly look at how they're doing it, they probably have some good ideas I haven't considered.

[–] asdfasdfasdf@lemmy.world 1 points 8 months ago (1 children)

Wouldn't distributed moderation kind of remove distribution in a sense? Your impl sounds like it's distributing compute, but more central in control. E.g. Lemmy mods can only mod their own instances, so power is distributed more than if they could mod any instance.

Lemmy is decentralized, but not distributed. I'm essentially saying that there are no instances, everyone is just a client, just like BitTorrent. The only servers that would exist are relays to help connect people behind firewalls.

There are no mods of a community, at least not mods everyone agrees on. The concept of moderation is entirely local and based on the peers you trust, so something like this:

  1. User A flags a post as problematic
  2. User B explicitly trusts A and hides the post
  3. User C implicitly trusts User B and may hide the post

Each step here is based on statistics, so you never completely trust anyone, and the moderation decisions would be completely public just like on Lemmy (I'm thinking of a "discovery queue" like Steam has, but for reviewing trust). Explicit trust (you've clicked a button) would give a high starting trust factor, whereas implicit trust (you've upvoted their posts and made similar mod decisions) would have a smaller impact.

At least that's the gist. I'll need to test it out to see what performance looks like, but I think it should work well in theory. I also have some privacy issues to work out, like hiding IP addresses (may need to rely more on relays or something like Tor).