• Dessalines@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    7 days ago

    I want to remind everyone that since users overwhelmingly don’t want their votes snooped on (for good reason), we will never add anything like this inside lemmy, lemmy-ui, or jerboa.

    While there’s nothing we can do to snoopers making tools like this, it requires a lemmy server admin login.

    If you know of servers which are giving admin access to this tool, let us know, so we can add it to our blocklist.

  • Global_Liberty@lemmy.ml
    link
    fedilink
    English
    arrow-up
    0
    arrow-down
    1
    ·
    edit-2
    7 days ago

    Votes should be anonymous.

    This is the first step toward monetizing Lemmy for multinationals.

    • TootSweet@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      1
      ·
      edit-2
      7 days ago

      Votes should be anonymous.

      I tend to agree, but the fact is that they aren’t anonymous. This tool just exposes the already-existing fact that Lemmy expressly does not guarantee anonymity for votes. The solution isn’t to not for the poster to not publish this tool. Believe me, such tools already exist in private even if none other than this one are published. Publishing this one only democratizes access to that information. (And not entirely, I don’t think. From what I’m seeing on the page, it looks like it still requires an admin account on an instance. Update: Actually, I’m not sure if it requires an admin account or not. Either way, though.) The solution is (if it’s possible) to make Lemmy itself protect voters’ anonymity.

      The reason why instances know who has up/down voted things (rather than only keeping an anonymized “total” for each post/comment) is so it can prevent double-voting.

      Maybe instead of usernames, the instances could store/trade… salted hashes of the usernames where the salt is the title or unique identifier of the post/comment being voted on? It wouldn’t be perfect, but it would allow the instance to figure out whether the currently-viewing or currently-voting user has already voted while also making it harder for anyone else to get that information. About the only way a tool could tell you exhaustively who had voted if that were how things worked that I can think of off hand is to try every username on Lemmy one-by-one until all the votes were accounted for.

      (Of course, malicious instances could still keep track of usernames or unique user ids who up/downvoted, but only on the instance on which the vote was cast. Also, one downside of this approach would be increased CPU usage. How much? Not sure. It might be trivial. Or maybe not. Dunno.)

      And there may be much better ways to do this. I haven’t really thought about it much. I also haven’t checked whether there is an open ticket asking for improved anonymity for votes already.

      (Also, full disclosure, all of the above was written after only an extremely brief skim of the linked page.)

      (One more edit. Something IHawkMike said led me to realize that the scheme I described above would allow instances to manipulate votes by just inventing hashes. Like, grabbing 512 bits of data from /dev/urandom and giving it to other instances as if it was a hash of a username or user id when, in fact, it’s not a hash of anything. Other instances wouldn’t be able to easily tell that it wasn’t the hash of a valid user id. I haven’t thought how to go about solving that yet. Maybe if it occurs to me, I’ll update this post.)

  • drspod@lemmy.ml
    link
    fedilink
    arrow-up
    0
    arrow-down
    1
    ·
    7 days ago

    I will describe how it works and the ethics of such a tool.

    Where in this post do you describe the ethics of such a tool?

    non-technical users believe that their votes are private, which is far from the truth. This attitude could potentially lead to harassment of Lemmings (yes, that’s what we Lemmy users call ourselves) for upvoting a particular post. Lemvotes makes it clear that votes are not private, which could help bring a more accurate picture of the way votes work on Lemmy to its users.

    This is what needs discussion. It is this tool which will lead to harassment due to the way someone votes. And the threat or spectre of harassment will lead to the Chilling Effect, ie. self-censorship (of voting) to avoid harassment.

    The chilling effect this causes will make communities even more like echo-chambers, as dissent will be pre-emptively squashed.

    Without a tool like this existing, people have to go out of their way to find out this information (setting up their own instance, or finding someone who already does this surreptitiously). By making such a tool available to the lemmy community at large, you make it extremely easy for anyone to do this, and so the chance of harassment occurring is much higher.

    You might think you’re being clever, or on some kind of crusade to educate the uneducated. But actually your actions are making this (community-built) platform worse. Compare your actions to releasing a 0-day exploit for a security vulnerability instead of responsibly disclosing. It doesn’t help, it just causes chaos until the people who do the actual work can figure out a solution.

    Think about how your tool existing now changes the dynamic of Lemmy as a whole. Is it better, or worse? How would you actually solve this problem in Lemmy, instead of exploiting it?

    • CaptDust@sh.itjust.works
      link
      fedilink
      arrow-up
      1
      ·
      7 days ago

      Kbin/mbin already surfaces votes, third party apps can easily show them as well. This is an intrinsic behavior of activitypub and people should know how easy it is to expose that data.

    • JRaccoon@discuss.tchncs.de
      link
      fedilink
      arrow-up
      0
      ·
      7 days ago

      Compare your actions to releasing a 0-day exploit for a security vulnerability instead of responsibly disclosing. It doesn’t help, it just causes chaos until the people who do the actual work can figure out a solution.

      This comparison is not fair at all. It’s not like the devs are unaware of this. They could start by removing the API endpoint that lists a post’s votes, but they haven’t, which means they seem to think it’s okay for the instance admins to snoop on votes if they so wish.

      • CanadaPlus@lemmy.sdf.org
        link
        fedilink
        arrow-up
        0
        ·
        7 days ago

        As I understand it, ActivityPub-compliance basically requires that a vote is tied to an actor. Although, they could have made a dummy actor do it. Maybe they were worried about stopping vote manipulation?

  • dumnezero@piefed.social
    link
    fedilink
    English
    arrow-up
    0
    ·
    7 days ago

    Worked for me, but this needs a lot of development to be a useful tool for analysis, and maybe a browser extension.

    • Lena@gregtech.euOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      7 days ago

      Which features would you like to see in Lemvotes?

      I have no idea at all how to make a browser extension, I can try I guess but that’s of lower priority, as I will try to have it use activitypub directly.