Cryptography nerd

Fediverse accounts;
Natanael@slrpnk.net (main)
Natanael@infosec.pub
Natanael@lemmy.zip

Lemmy moderation account: @TrustedThirdParty@infosec.pub - !crypto@infosec.pub

@Natanael_L@mastodon.social

Bluesky: natanael.bsky.social

  • 0 Posts
  • 49 Comments
Joined 8 months ago
cake
Cake day: January 18th, 2025

help-circle


  • 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.


  • They’re implementing E2E encrypted social stuff. Voting privacy and encryption is linked.

    Especially when you have users across multiple servers and both want voting privacy AND being able to deal with vote manipulation. You need stuff like pseudonymous commitments per account attested to by the hosting instance, etc. The only thing that’s simpler but still private is having instances just digitally sign a total vote tally, which also means you can’t detect vote manipulation on other servers at all.







  • On Mastodon, your instance doesn’t receive posts until somebody on your instance interacts with the account posting it (following the poster, browsing directly to the post, etc).

    Feeds with recommendations requires fetching stuff in advance to not be slow and janky. Basically the feed service would need a bot account on your instance and retrieving all popular posts, given the current architecture. Having thousands of these bots across every instance do this would cause a significant performance hit on smaller Mastodon instances when one of their users posts something popular. So you need something different, like a server plugin where the bot fetches the content once and tells all participating Mastodon servers about their cached copy, so they don’t all have to hit the hosting instance. But that’s a security risk with the Mastodon design.


  • Doing it this way is why small instances gets hammered when a user’s post goes viral.

    And as for moderation bluesky also carries information with the top post from the post author and allows hiding replies too, etc. This gets enforced on the appview side, so the posting user’s PDS is unscathed if it goes viral.

    Bluesky is built to assume a handful of big relay (remember that a relay can merge in contents of another) and a bunch of appview and a ton of PDS servers, feed generators, moderation labelers, etc.

    Realistically, the relay network will likely end up voluntarily adopting a tree topology - hobbyist communities would run small relays bundling all activity from members’ PDS servers, then a larger relay in front gathers everything from a ton of smaller relays and makes it available to appviews








  • It’s doable on Mastodon but significantly more complicated.

    You need crawlers to index posts across the Fediverse (and avoid getting them blocked), personalized recommendation models per user, and you need pre-emptive caching on the user’s instance for anything recommended (ideally the crawler would make a cache on behalf of each of the opted-in users’ instances, but without content addressing this is a security risk). You also need to poll for edits / deletions.