this post was submitted on 17 May 2024
55 points (93.7% liked)
Asklemmy
43958 readers
1396 users here now
A loosely moderated place to ask open-ended questions
Search asklemmy ๐
If your post meets the following criteria, it's welcome here!
- Open-ended question
- Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
- Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
- Not ad nauseam inducing: please make sure it is a question that would be new to most members
- An actual topic of discussion
Looking for support?
Looking for a community?
- Lemmyverse: community search
- sub.rehab: maps old subreddits to fediverse options, marks official as such
- !lemmy411@lemmy.ca: a community for finding communities
~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Everyone throws a number at the same time, the result is the checksum/sum of the throws. Server throws first publicly, keeps the device Numbers secret until the last throw. It's not perfect, but it'll do.
Your scenario assumes a trustworthy server that won't manipulate the secretly held ledger of throws - it also doesn't seem resilient to even a single bad actor client as there isn't a clear way for the server to choose a result (though maybe your imagining everyone submitting a 1 or 0, summing those numbers and then mod 2ing the result?)
Edit, actually to that point OP - it'd help to know what lack of trust we're optimizing for - the comment above (assuming the mod2 approach) would work for a very large untrusted pool of servers as long as you fully trust one arbitrator server - while other concensus based approaches would work better for a network of servers that are mostly trust worthy but contain a proportion of untrustworthy servers.
But the hosting/tabulating server could publish the data afterwards, make it all public.
Let's break out some scenarios, I'll assume we are always an honest actor...
Scenario 1, the data is all collated and published - you look at the ledger and see the value you reported is accurately recorded in the ledger... you poll other servers and they all also report that the inputs were accurate, you also take the ledger and re-evaluate the result and it matches what the server reported. What action should be taken? How many bad actors exist? Is the server a bad actor?
Scenario 2, the server collects and reports the data, the ledger looks right to you, but one server reports that their value was manipulated. The ledger does match the computed value though and it's currently 1, should it be 0 instead? What action should be taken? How many bad actors exist? Is the server a bad actor?
Scenario 3, the server collects and reports the data... 70% of clients report manipulation, the ledger is consistent, though. What action should be taken? How many bad actors exist? Is the server bad actor?
Specifically one of the imperfections is that the server and players are not trusted. If a player doesn't like the result, they could claim the server lied about what number they had picked, or the server could actually lie. The remaining players wouldn't know which one is telling the truth.