Hacker News new | past | comments | ask | show | jobs | submit login

One (cumbersome) solution is for all players to provide their own dice. Whenever a die roll occurs, all players roll one die at the same time, and the totals are summed and the remainder is taken after dividing by the number of players. So, as long as at least one player's die is fair the outcome will be fair.

If you're playing Catan by email, this approach can be extended with bit commitment. Each player rolls a die and sends a message to the other players with the number they rolled signed with their own digital signature but also encrypted with a key randomly chosen for that round of die rolls.

None of the other players can know what the other players rolled without the key. Once everyone has sent all the other players their rolls (i.e. they've "committed" to a particular die roll but the other players don't know what it is yet), they exchange keys to reveal the numbers they rolled.




> the remainder is taken after dividing by the number of players.

Minor nitpick: you should take the remainder after dividing by the number of sides on a die, with the understanding that zero == max possible roll.


Yeah, that's right I think.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: