• General_Effort@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 day ago

    But accounts are already pseudonymous?

    Here’s where I am at:

    I can check if my votes are federated correctly by checking if any of my votes are suppressed or votes in my name are made up. If my instance sends a different random token with each vote, I can still do that, as long as I know which tokens are assigned to my votes.

    But vote tallies can also be manipulated by making up new votes through fake/bot accounts. If a vote can be connected to posts, this can be checked to some degree. Say, if an instance has a lot of voters that never post, that indicates a problem.

    I don’t see how the second thing with E2EE.

    • Natanael@infosec.pub
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 day ago

      The very very short TLDR is that anonymization is very hard, but there’s auditable cryptographic voting schemes which preserves anonymity by using anonymous cryptographic commitments and one of a bunch of different techniques to count encrypted votes (homomorphic encryption, threshold encryption, etc).

      You could set it up so you know which server each set of votes comes from but not which users on the server. You could also make it prove each vote comes from one real account and that no account voted twice. You could even make use of commitments plus ZKP to prove banned accounts can’t vote!

      It sounds complicated because it is complicated. And somewhat inefficient. But it’s possible. And it would be fully encrypted and anonymous voting.

      • General_Effort@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 day ago

        You could also make it prove each vote comes from one real account and that no account voted twice.

        How would it prove that the account is real? I suspect that the meaning of “real account” is not the opposite of bot or sockpuppet.

        • Natanael@infosec.pub
          link
          fedilink
          English
          arrow-up
          0
          ·
          1 day ago

          A discoverable non-banned account. Not from “ghost accounts”. If a server creates a massive amount of accounts to use them to vote, you can see that a small server has a disproportionate amount of registered accounts too, which probably will be otherwise inactive. Then you can reject votes from that server.