this post was submitted on 15 Jun 2023
17 points (100.0% liked)

Lemmy

2172 readers
46 users here now

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

For discussion about the lemmy.ml instance, go to [email protected].

founded 4 years ago
MODERATORS
 

Basically title - will anyone be able to see what I up- and downvoted?

top 11 comments
sorted by: hot top controversial new old
[–] [email protected] 11 points 2 years ago* (last edited 2 years ago) (1 children)

You made me curious, so I checked the source code for both comments and posts. This information isn't available to anybody without direct database access, but your admins in theory could check in the database what you've voted on.

Presumably this is necessary for debug reasons and to avoid double-voting, or even worse spam-voting. Reddit has this info in their databases too, I'm pretty sure, for similar reasons.

I'm pretty confident that only vote totals are federated, not who voted for what, so this is restricted to your own instance admin

[–] XanXic 5 points 2 years ago* (last edited 2 years ago) (1 children)

I haven't seen a database yet (Thinking of spinning up my own...) but I'd imagine it's actually that your vote history is saved on the instance of the thing you voted on. So if you are from shitjustworks and upvote a post in a community in LemmyWorld, I'd imagine LemmyWorld's database says upvote from user xyz@shitjustworks on post/comment abc.

This is my educated guess on how it works. I could be wrong, but keeping a users upvotes saved on the users local instance would be pretty impractical. I think it's more aptly that an admin can see who upvoted things on their instance but can't see everything their user's have upvoted and everything that visitors have upvoted in their lifetime. Just their interaction with their particular communities. I imagine (Again, if I'm right) that's why there's no total karma for a user because keeping track of that would be a pain in the ass.

[–] [email protected] 4 points 2 years ago (1 children)

The way federation works is that when you subscribe, that community gets "pulled in" to your local instance. So when you go to https://myinstance.com/c/[email protected], what's actually happening is that you're interacting with a local cached copy of that community. Your instance then federates your interactions back out regularly, along with any other users from your instance that have interacted.

So, TL;DR: it actually makes perfect sense that the user - vote connection remains local

[–] XanXic 3 points 2 years ago (1 children)

Yeah it's cached but it has to offload that at some point right? It'd be crazy for a server to keep a 1:1 copy of every instance and action ever on the fediverse? I'm sure yeah it pools all that info to send back to the other servers but both servers keeping a perfect copy of the information doesn't sound right. I imagine the cache is limited copy of everything and once stuff is sync'd the offload aspects unrelated to their own instance.

Reading the docs now, they don't make it super clear what's cached entirely outside 20 posts when a community is first discovered.

This would also mean any instance that defederates would loose all post/comment/vote history from anyone that wasn't in their local instance. Beehaw currently still has all that from the 2 instances they just defederated from despite no longer being in the pool.

[–] [email protected] 4 points 2 years ago* (last edited 2 years ago) (1 children)

This is why outside of complete madlads intentionally subscribing to everything, instances only pull in communities that at least one user on the instance have subscribed to

The cache still lives on even after blocking, outside of direct admin intervention. Beehaw.org still has everything from users on sh.itjust.works and lemmy.world up till the block, and now the cache is stale.

EDIT: Just tried going to lemmy.directory. Unsurprisingly, their server crashed xD

[–] xFxD 1 points 2 years ago (1 children)

This seems like a potential severe issue though - with just a few accounts, you could, without arousing too much suspicion, just try to get as much communities mirrored to your server as possible. This also means that, with a sufficient amount of users, every (large) fediverse server will have basically a complete copy of all other servers. It seems to me that this will lead to severe scaling issues, as the cost of hosting an instance will just go through the roof once a certain user count is reached.

[–] [email protected] 3 points 2 years ago (1 children)

The overhead of community mirroring is much lighter than you might imagine. Most of it is just text. An entire community is usually as light as a few kilobytes, especially when you consider that images are not copied over, they are image links pointing to the original instance.

[–] xFxD 1 points 2 years ago

Fair point - thanks for the info!

[–] [email protected] 4 points 2 years ago

Not anyone. Just me. I can see because I'm right behind you.

(Really though I'm also curious about the answer)

[–] [email protected] 2 points 2 years ago

would it be better if votes were private somehow? do we want mods to potentially be reviewing users votes?

[–] [email protected] 2 points 2 years ago

I tend to be pretty privacy-conscious and one of the reasons I haven't up/downvoted much is that here on kbin.social, at least, your votes are very transparent. If you go to the 'more' option under any post and click on 'activity' you can view exactly how each user interacted with that post. The only time I'll currently interact with a post is to save it to my profile (or comment like this w/o identifying information.) I think all of this might be a major hurdle to some people.

load more comments
view more: next ›