this post was submitted on 17 May 2024
55 points (93.7% liked)

Asklemmy

43958 readers
1347 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!

  1. Open-ended question
  2. 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.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~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
[โ€“] charonn0@startrek.website 5 points 6 months ago* (last edited 6 months ago) (1 children)

All participants select their own random whole number and publish it to the group. All participants add all the numbers together. The result is either odd or even (heads/tails) and everyone arrives at the same result independently.

[โ€“] driving_crooner@lemmy.eco.br 8 points 6 months ago (1 children)

The last person to send the number decide the outcome

[โ€“] charonn0@startrek.website 2 points 6 months ago (2 children)

It doesn't have to be addition. It could be a hash function, etc.

[โ€“] AndrasKrigare@beehaw.org 8 points 6 months ago (1 children)

The last person would still decide the outcome. They could keep choosing values for whatever function until it produces their desired result and then post that.

What you would want instead is for everyone to post a (salted) hash, and after the hashes are posted, reveal what the original numbers were and then publicly add them. Everyone could verify everyone else's numbers against those hashes.

[โ€“] mub@lemmy.ml 2 points 6 months ago (1 children)

Could you do it in 2 phases? First, everyone selects a random partner and exchanges their random number. Each pair then has a result that is locked in. Then everyone submits their result to be summed up as already suggested (Pos/neg = heads/tails).

If there are an uneven number of players, then one player makes a three-some.

[โ€“] AndrasKrigare@beehaw.org 2 points 6 months ago (1 children)

I think you run into other issues, depending on OP's meaning of "untrusted." If people are paired off, whoever is in the last group to report can control the outcome. Either if there is a risk of collusion within the group or if one member doesn't like what the outcome is going to be they can claim whichever of them is reporting the group outcome is lying, or the person reporting actuality could lie.

I think this vulnerability will come up most of the time when information is shared with only part of the group and not the entire group.

[โ€“] mub@lemmy.ml 1 points 6 months ago (1 children)

The risk of a pair collision should be mitigated by all pairings being random. And both pairs announce they pair with so that they can't lie.

But collusion is possible if they happen to pair with another cheater which is not guaranteed unless every is a cheater.

[โ€“] AndrasKrigare@beehaw.org 1 points 6 months ago* (last edited 6 months ago) (1 children)

How do you do fair random pairing, though? If you are able to safely do that randomly, you might as well use that same method to do the random flip.

Edit: And even ignoring collusion, there's still the issue of lying (or lying about lying). Only one of a pair would need to be a cheater for the system to fail, if the rest of the group is unable to determine which is the cheater.

[โ€“] mub@lemmy.ml 1 points 6 months ago (1 children)

Any solution we come up with can probably be used to just decide the answer anyway.

How about, every player puts in a token to say I'm going to play. Then every player plays an encrypted answer. Once every player has answered they each reveal the key to unlock their answer to every player. Everyone then sees the overall answer at the same time.

[โ€“] AndrasKrigare@beehaw.org 1 points 6 months ago (1 children)

I think that would work, and that's essentially what I was trying to say when I'd said

What you would want instead is for everyone to post a (salted) hash, and after the hashes are posted, reveal what the original numbers were and then publicly add them. Everyone could verify everyone else's numbers against those hashes.

comment, as well as my other https://beehaw.org/comment/3531769

[โ€“] mub@lemmy.ml 1 points 6 months ago

Yeah you've been more technical than me.