Edit: obligatory explanation (thanks mods for squaring me away)…
What you see via the UI isn’t “all that exists”. Unlike Reddit, where everything is a black box, there are a lot more eyeballs who can see “under the hood”. Any instance admin, proper or rogue, gets a ton of information that users won’t normally see. The attached example demonstrates that while users will only see upvote/downvote tallies, admins can see who actually performed those actions.
Edit: To clarify, not just YOUR instance admin gets this info. This is ANY instance admin across the Fediverse.
So any instance admin can analyze all users upvotes/downvotes and possibly derive political standpoints, likes/dislikes, opinions and location data from it
Yes.
Just muddling around I’ve built queries that: (a) list all of my post & comments, everybody who voted on them, and their votes (b) tally how many times specific users have upvoted or downvoted me. © identifies the most prolific voters across the Fediverse and the communities they are voting in (d) identifies users with the same username or display name across all instances and correlates the activities across those accounts.
These are all for the sake of learning and are innocuos the way I’m using them. It is plain to see that someone with skills and an agenda could make more out of it than I have.
How is this different than any other website?
I can’t just spin up a website and automatically get that info from other websites, but I can spin up a lemmy instance and get that info from everyone it’s federated with.
I agree, someone has to store and maintain your data, but giving all instances access to it is a risk that could be avoided
How is it even possible to do a SQL query on the database from another instance?
Makes no sense, databases should be private and behind the HTTP API. Why is he showing a SQL query as evidence?
So I’ll assume this is done via the HTTP API then. If that’s the case, why does an instance needs to see this information from other instances? By needs I mean if there’s an actual purpose for that info being exposed.
You don’t query another instance’s database.
When your instance is federated with another, your instance will sync a local copy of threads and interactions from that instance.
You then query your own database and instantly have access to everyone else’s interaction data.
Wow. Off-topic but that sounds inefficient for very large networks of instances. Sounds like the federation is doing more that it should.
Is there some place to learn about the federation protocol?