this post was submitted on 17 Feb 2025
368 points (95.5% liked)

Fediverse

30307 readers
1224 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to !moderators@lemmy.world!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy

founded 2 years ago
MODERATORS
 

Upvotes seem to just federate as likes and dislikes.

you are viewing a single comment's thread
view the rest of the comments
[–] Natanael@infosec.pub 3 points 5 days ago* (last edited 5 days ago) (1 children)

Hashing alone if it's just usernames isn't enough. Need something like keyed hashes, but then malicious servers can lie about numbers of votes.

Otherwise you need something ridiculously overengineered like public but encrypted logs of user actions and Zero-knowledge proofs of correctness mapping everything to a distinct existing user without revealing who it is.

As I mentioned in another post: for consistency is better to have each server count total votes from their own users, send a signed & timestamped message with the count to the host of the post being voted on. Then the host can display a consistent vote count to everybody that shows where votes are coming from without manipulation of external votes.

Each individual server can lie about its count, but not by too much or else it will be detected and the server can get defederated (or have its votes ignored).

[–] barsoap@lemm.ee 4 points 5 days ago (1 children)

but then malicious servers can lie about numbers of votes.

They already can do that by pretending to have users they don't have. It's definitely a quick way to get defederated.

[–] Draconic_NEO@lemmy.world 4 points 5 days ago

And it wouldn't be caught quickly or maybe even ever if they opted to use hashes instead of just showing who voted and when.