this post was submitted on 02 Nov 2023
-7 points (29.4% liked)

Fediverse

34811 readers
214 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to [email protected]!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration)

founded 2 years ago
MODERATORS
 

Anyone here into cryptosystems? Electronic voting? I would be interested in a solution to the following problems or some variants.

Consider a distributed system like the Fediverse where each server is owned by an independent party. Some servers are more trustworthy than others.

On a less trustworthy server S, someone makes a post. This post can be upvoted by people on any server. S aggregates the votes and sends only the number of votes to other servers.

The other servers can of course ask for a complete list of voters, and then verify the vote count. But this results in a lot of data exchange.

Without asking for a complete list of voters, how can other servers check if the count reported by S is correct? It would be sufficient to know that it is correct with high probability (as opposed to knowing for certain).

all 6 comments
sorted by: hot top controversial new old
[–] [email protected] 3 points 2 years ago (1 children)

God, the cryptobros keep trying to spread their infection.

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

I think that in order to solve such a question, we first need to consider something else. Why, if votes are so important to you, can't you just create a bunch of accounts and vote honestly on any server?

As soon as we are really sure that 1 person is 1 vote, and not 10, 100, 10000 or any other number, then it is already possible to build trust checks between servers. Although it seems that this has not been solved even by large social networks.

The answer to your question in general is this: store the votes by servers and then double-check the result randomly.

S returns: 50 votes for a post from server A, 30 for a post from server B, 10 for a post from server C, etc. Then you can randomly check on these servers whether the amount is correct. However, there is no way to check the voices of server S, so they either have to be thrown out or still trust the server at its word. It is possible to fully verify server S only if registration on all servers goes through a trusted intermediary.

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

Wouldn't that still allow for genuine votes from fake/sockpuppet/bot accounts?

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

Unfortunately, you can only solve this by making either each vote cost money or the user's time. Otherwise a server can always make fake accounts