How to certify a secret decision revealed on a delay in a play-by-post game?
up vote
29
down vote
favorite
In a play-by-post game that requires a player to commit to a secret decision and later reveal that decision publicly, how can a player certify that they did so honestly without just relying on good faith? Consider the following example.
- Alice commits to a decision, like pre-programming an action she will take. An onlooker might notice she's doing something but they wouldn't know the particulars.
- Though Bob doesn't know exactly what Alice is up to, he commits to a decision in response to that, like reacting to stop her. Resolving his decision will depend on resolving her decision.
- Alice has to reveal what her committed decision was after the fact in order to resolve it at this point along with Bob's reaction to it. If she's being honest or has a way to certify what her decision was, this is fine. If she is able to lie, she could change her decision retroactively.
Are there common tools, techniques, or conventions to support this? At a table, Alice could simply write her decision in a folded note card and reveal it later; or in a board game, she could play her action card face down and reveal it later. These common table conventions don't translate well to online play. So, how can Alice certify her secret decision to be revealed on a delay?
Assume the game has a GM but that the GM is also a player (possibly evil an adversarial one) in need of certifying their decisions and can't act as a proxy for the other players.
Also assume the system is not freeform: there are rules imposing some restrictions on the possible decisions a player might need to certify.
play-by-post
add a comment |
up vote
29
down vote
favorite
In a play-by-post game that requires a player to commit to a secret decision and later reveal that decision publicly, how can a player certify that they did so honestly without just relying on good faith? Consider the following example.
- Alice commits to a decision, like pre-programming an action she will take. An onlooker might notice she's doing something but they wouldn't know the particulars.
- Though Bob doesn't know exactly what Alice is up to, he commits to a decision in response to that, like reacting to stop her. Resolving his decision will depend on resolving her decision.
- Alice has to reveal what her committed decision was after the fact in order to resolve it at this point along with Bob's reaction to it. If she's being honest or has a way to certify what her decision was, this is fine. If she is able to lie, she could change her decision retroactively.
Are there common tools, techniques, or conventions to support this? At a table, Alice could simply write her decision in a folded note card and reveal it later; or in a board game, she could play her action card face down and reveal it later. These common table conventions don't translate well to online play. So, how can Alice certify her secret decision to be revealed on a delay?
Assume the game has a GM but that the GM is also a player (possibly evil an adversarial one) in need of certifying their decisions and can't act as a proxy for the other players.
Also assume the system is not freeform: there are rules imposing some restrictions on the possible decisions a player might need to certify.
play-by-post
2
As a useful practical example where the described scenario would crop up, combat in Mouse Guard (and presumably other Burning Wheel system games) is resolved with the GM and players each secretly deciding on three actions before revealing them all at once and resolving the round of combat
– Pingcode
21 hours ago
add a comment |
up vote
29
down vote
favorite
up vote
29
down vote
favorite
In a play-by-post game that requires a player to commit to a secret decision and later reveal that decision publicly, how can a player certify that they did so honestly without just relying on good faith? Consider the following example.
- Alice commits to a decision, like pre-programming an action she will take. An onlooker might notice she's doing something but they wouldn't know the particulars.
- Though Bob doesn't know exactly what Alice is up to, he commits to a decision in response to that, like reacting to stop her. Resolving his decision will depend on resolving her decision.
- Alice has to reveal what her committed decision was after the fact in order to resolve it at this point along with Bob's reaction to it. If she's being honest or has a way to certify what her decision was, this is fine. If she is able to lie, she could change her decision retroactively.
Are there common tools, techniques, or conventions to support this? At a table, Alice could simply write her decision in a folded note card and reveal it later; or in a board game, she could play her action card face down and reveal it later. These common table conventions don't translate well to online play. So, how can Alice certify her secret decision to be revealed on a delay?
Assume the game has a GM but that the GM is also a player (possibly evil an adversarial one) in need of certifying their decisions and can't act as a proxy for the other players.
Also assume the system is not freeform: there are rules imposing some restrictions on the possible decisions a player might need to certify.
play-by-post
In a play-by-post game that requires a player to commit to a secret decision and later reveal that decision publicly, how can a player certify that they did so honestly without just relying on good faith? Consider the following example.
- Alice commits to a decision, like pre-programming an action she will take. An onlooker might notice she's doing something but they wouldn't know the particulars.
- Though Bob doesn't know exactly what Alice is up to, he commits to a decision in response to that, like reacting to stop her. Resolving his decision will depend on resolving her decision.
- Alice has to reveal what her committed decision was after the fact in order to resolve it at this point along with Bob's reaction to it. If she's being honest or has a way to certify what her decision was, this is fine. If she is able to lie, she could change her decision retroactively.
Are there common tools, techniques, or conventions to support this? At a table, Alice could simply write her decision in a folded note card and reveal it later; or in a board game, she could play her action card face down and reveal it later. These common table conventions don't translate well to online play. So, how can Alice certify her secret decision to be revealed on a delay?
Assume the game has a GM but that the GM is also a player (possibly evil an adversarial one) in need of certifying their decisions and can't act as a proxy for the other players.
Also assume the system is not freeform: there are rules imposing some restrictions on the possible decisions a player might need to certify.
play-by-post
play-by-post
edited 2 hours ago
asked yesterday
Bloodcinder
17.9k260118
17.9k260118
2
As a useful practical example where the described scenario would crop up, combat in Mouse Guard (and presumably other Burning Wheel system games) is resolved with the GM and players each secretly deciding on three actions before revealing them all at once and resolving the round of combat
– Pingcode
21 hours ago
add a comment |
2
As a useful practical example where the described scenario would crop up, combat in Mouse Guard (and presumably other Burning Wheel system games) is resolved with the GM and players each secretly deciding on three actions before revealing them all at once and resolving the round of combat
– Pingcode
21 hours ago
2
2
As a useful practical example where the described scenario would crop up, combat in Mouse Guard (and presumably other Burning Wheel system games) is resolved with the GM and players each secretly deciding on three actions before revealing them all at once and resolving the round of combat
– Pingcode
21 hours ago
As a useful practical example where the described scenario would crop up, combat in Mouse Guard (and presumably other Burning Wheel system games) is resolved with the GM and players each secretly deciding on three actions before revealing them all at once and resolving the round of combat
– Pingcode
21 hours ago
add a comment |
8 Answers
8
active
oldest
votes
up vote
94
down vote
Have Alice generate and publish an SHA-256 hash of her action.
SHA-256 is a computationally-secure (to reasonable approximation) algorithm that converts a given string into an unintelligible hexadecimal hash. There are online implementations that will compute SHA256 for you, for instance, here.
The idea is this:
- Alice decides her action - say, "I cast Fireball at Bob"
- Alice privately records that exact text
- Alice enters that text into an SHA256 generator, producing a meaningless jumble of characters - A0FC4543FDBA266006F1F9FA818183710A8C5CA80613DA109B8A9DBA194DEC4E
- Alice publicly announces "I've planned an action; its SHA-256 is A0FC4543FDBA266006F1F9FA818183710A8C5CA80613DA109B8A9DBA194DEC4E"
Now, Bob cannot tell what Alice has planned because the SHA-256 is not reversible; there's no way to get from the hash back to the action.
Later, when Alice reveals her plan, she gives the exact text she prepared earlier. If Bob doesn't trust her, he can simply repeat the SHA-256 encryption, and verify that the signatures match.
If Alice suspects that Bob may guess her action, then she can make things harder by adding an extra, irrelevant component to the action before computing the SHA-256. For instance, if Alice records, signs, and later reveals "I cast Fireball at Bob (pistachio)", then Bob would not be able to guess and verify the action without also guessing the extra "(pistachio)". This is known as using a "salt".
Comments are not for extended discussion; this conversation has been moved to chat.
– SevenSidedDie♦
14 hours ago
add a comment |
up vote
8
down vote
Send the decisions to a trusted third party.
When the time comes to reveal the action, the third party will then do so.
This has the advantage of being simple and doesn't require any technological know-how.
4
It's not simple at all, as it adds an extra communication channel for every player in the game, and replaces technological know-how with social know-how instead, something that is far less reliable. These are disadvantages!
– Nij
yesterday
2
This seems to count as "just relying on good faith."
– Bloodcinder
yesterday
3
@Nij it is simple in the fact that a high percentage of people can actually accomplish this. The problem with bring encryption schemes, etc into the picture is that few non-technical people will understand how to deal with these things.
– Destruktor
yesterday
add a comment |
up vote
6
down vote
Use a communication system like facebook that allows you to set up visibility on each post.
Post a publicly visible post saying
Alice glances at her spell book then gestures, ready to begin casting a spell.
Post a private post saying
If X happens Alice will cast fireball at Y
If the trigger happens change the privacy of the post to public.
The timestamp and edit history should be able to show that the post has not been modified other than to change the visibility.
As V2Blast pointed out and Zac offered a solution to the public post should link to the private post to prove that it's the same post and you didn't post multiple hidden posts.
If you have a DM or similar in the game then you could also give them access to the private posts for their information.
10
The potential issue with this is that you could just make multiple private posts with different courses of action, and just make public the one that you decide on after the fact.
– V2Blast
yesterday
7
@V2Blast not if you provide a link to the (currently) private post in advance - if Facebook works correctly, it shouldn't reveal the post to others until it's made public, but the url won't change
– Zac Faragher
yesterday
@ZacFaragher: Ah, interesting idea.
– V2Blast
yesterday
add a comment |
up vote
6
down vote
An alternative to hash commitment that requires less technical knowhow: do what scientists used to do to establish priority for an idea until they were ready to publish. Instead of a SHA, publish a signature that is easily derived from the message by a human but can't be easily reversed.
One simple "signature" is just to show how many times each letter appears in the message, but not their order. Then when it's time to reveal, it's easy to verify. So Alice can sign the message
I betray Bob
as
ABBBEIORTY
One obvious problem is that for such a short, straightforward message, Bob can probably guess what is meant: there are a lot of Bs and one O, so it's probably about him. He can also rule out some possibilities he's worried about: the message clearly can't include fireball, because there's no F; but it could include betray.
Alice can prevent this by speaking somewhat more cryptically or using a few more words than necessary. If Alice publishes
AAABDDDDEEEEEFGGGHHHHHHIIIIIILLLLMMNOOOOOORRRRRSSTTTTTTTUUUWW
it's hard to guess that she means
Though allied with Robert, I grow tired of him and sell him out to the guards.
Just for fun, note that this message does leave open the possibility of a fireball (because it contains all of the letters in "FIREBALL"), in case Alice thinks that's something Bob would want to rule out.
New contributor
add a comment |
up vote
4
down vote
Trust
This one isn't always appropriate - but if you play with a constant group of friends, then simply trusting that they are being honest is the way I usually play games. This works for me, because I don't generally play with randoms or at events outside of home.
Obviously this won't always work - not everyone has the required integrity to resist the urge to cheat. But if you're playing a longer campaign with a consistent group, you'll learn pretty quickly using this method whether it's actually viable.
If not, then the other methods mentioned above are steller. However, as far as simplicity and ease to implement is concerned, this is by far the easiest.
add a comment |
up vote
3
down vote
This problem was already solved in the past. As exibit A, I would introduce the game "Diplomacy" which had a prolific history of play by post. In this game, 7 players needs to coordinate (and betray) each other constantly to progress the game. There are of course direct communications between players, but any move must be committed and sent to a third party "referee". The referee would receive the moves, execute and resolve them appropriately, and then publish the outcome in a public channel (usually, a magazine, plus direct paper mail to each player.)
The only requirement here is trust with the game organizer. But why would you play if you can't trust at least the organizer?
"... why would you play if you can't trust at least the organizer?" - probably because they don't have an external organizer, and players run it collectively.
– Nij
8 hours ago
In my particular game, the gamemaster is also an adversarial player. This solution expects that the GM can be trusted on good faith, but that violates the premise of the question.
– Bloodcinder
6 hours ago
@bloodcinder no it does not, he doesn’t say the player/GM has to be the organizer/referee.
– mxyzplk♦
20 mins ago
add a comment |
up vote
2
down vote
A simple resource for exactly this kind of thing is http://onetimesecret.com. It allows you to create a "secret" and publish the link to it, but once the secret has been viewed once, it is deleted, and cannot be viewed again.
Alice enters her secret, and sends the hyperlink to Bob, but tells him not to look at it yet. Bob publicly declares his course of action, then looks at Alice's onetimesecret post. Alice can check the time at which her secret was viewed, to verify that it was after Bob's public declaration.
This way, Alice can't lie about her decision, but Bob won't know what it was until after he declares his course of action.
(Note: I am not affiliated in any way with onetimesecret.com. I just find it a useful resource.)
New contributor
add a comment |
up vote
-2
down vote
Alice make decision message -> [D]
Encrypt [D] with random private key [PK], make cryptogram -> [C]
Lots of algorithms can be used here.
Send [C] to Bob.
When event have to occur, Bob request [PK] from Alice.
Alice Send [PK], Bob can translate [C]->[D]
it is hard to make [C] to desired other decision message[D2] with other [PK2]
Show programmer in your team this sequence. He will understand if he have learn.
New contributor
5
And if there's no programmer available, how does this help anybody? The answer seems to be a much worse version of the answer posted by Chowlett hours ago.
– Nij
yesterday
1
There are existing tools for this. Which one did you use when you played this kind of game?
– SevenSidedDie♦
14 hours ago
add a comment |
8 Answers
8
active
oldest
votes
8 Answers
8
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
94
down vote
Have Alice generate and publish an SHA-256 hash of her action.
SHA-256 is a computationally-secure (to reasonable approximation) algorithm that converts a given string into an unintelligible hexadecimal hash. There are online implementations that will compute SHA256 for you, for instance, here.
The idea is this:
- Alice decides her action - say, "I cast Fireball at Bob"
- Alice privately records that exact text
- Alice enters that text into an SHA256 generator, producing a meaningless jumble of characters - A0FC4543FDBA266006F1F9FA818183710A8C5CA80613DA109B8A9DBA194DEC4E
- Alice publicly announces "I've planned an action; its SHA-256 is A0FC4543FDBA266006F1F9FA818183710A8C5CA80613DA109B8A9DBA194DEC4E"
Now, Bob cannot tell what Alice has planned because the SHA-256 is not reversible; there's no way to get from the hash back to the action.
Later, when Alice reveals her plan, she gives the exact text she prepared earlier. If Bob doesn't trust her, he can simply repeat the SHA-256 encryption, and verify that the signatures match.
If Alice suspects that Bob may guess her action, then she can make things harder by adding an extra, irrelevant component to the action before computing the SHA-256. For instance, if Alice records, signs, and later reveals "I cast Fireball at Bob (pistachio)", then Bob would not be able to guess and verify the action without also guessing the extra "(pistachio)". This is known as using a "salt".
Comments are not for extended discussion; this conversation has been moved to chat.
– SevenSidedDie♦
14 hours ago
add a comment |
up vote
94
down vote
Have Alice generate and publish an SHA-256 hash of her action.
SHA-256 is a computationally-secure (to reasonable approximation) algorithm that converts a given string into an unintelligible hexadecimal hash. There are online implementations that will compute SHA256 for you, for instance, here.
The idea is this:
- Alice decides her action - say, "I cast Fireball at Bob"
- Alice privately records that exact text
- Alice enters that text into an SHA256 generator, producing a meaningless jumble of characters - A0FC4543FDBA266006F1F9FA818183710A8C5CA80613DA109B8A9DBA194DEC4E
- Alice publicly announces "I've planned an action; its SHA-256 is A0FC4543FDBA266006F1F9FA818183710A8C5CA80613DA109B8A9DBA194DEC4E"
Now, Bob cannot tell what Alice has planned because the SHA-256 is not reversible; there's no way to get from the hash back to the action.
Later, when Alice reveals her plan, she gives the exact text she prepared earlier. If Bob doesn't trust her, he can simply repeat the SHA-256 encryption, and verify that the signatures match.
If Alice suspects that Bob may guess her action, then she can make things harder by adding an extra, irrelevant component to the action before computing the SHA-256. For instance, if Alice records, signs, and later reveals "I cast Fireball at Bob (pistachio)", then Bob would not be able to guess and verify the action without also guessing the extra "(pistachio)". This is known as using a "salt".
Comments are not for extended discussion; this conversation has been moved to chat.
– SevenSidedDie♦
14 hours ago
add a comment |
up vote
94
down vote
up vote
94
down vote
Have Alice generate and publish an SHA-256 hash of her action.
SHA-256 is a computationally-secure (to reasonable approximation) algorithm that converts a given string into an unintelligible hexadecimal hash. There are online implementations that will compute SHA256 for you, for instance, here.
The idea is this:
- Alice decides her action - say, "I cast Fireball at Bob"
- Alice privately records that exact text
- Alice enters that text into an SHA256 generator, producing a meaningless jumble of characters - A0FC4543FDBA266006F1F9FA818183710A8C5CA80613DA109B8A9DBA194DEC4E
- Alice publicly announces "I've planned an action; its SHA-256 is A0FC4543FDBA266006F1F9FA818183710A8C5CA80613DA109B8A9DBA194DEC4E"
Now, Bob cannot tell what Alice has planned because the SHA-256 is not reversible; there's no way to get from the hash back to the action.
Later, when Alice reveals her plan, she gives the exact text she prepared earlier. If Bob doesn't trust her, he can simply repeat the SHA-256 encryption, and verify that the signatures match.
If Alice suspects that Bob may guess her action, then she can make things harder by adding an extra, irrelevant component to the action before computing the SHA-256. For instance, if Alice records, signs, and later reveals "I cast Fireball at Bob (pistachio)", then Bob would not be able to guess and verify the action without also guessing the extra "(pistachio)". This is known as using a "salt".
Have Alice generate and publish an SHA-256 hash of her action.
SHA-256 is a computationally-secure (to reasonable approximation) algorithm that converts a given string into an unintelligible hexadecimal hash. There are online implementations that will compute SHA256 for you, for instance, here.
The idea is this:
- Alice decides her action - say, "I cast Fireball at Bob"
- Alice privately records that exact text
- Alice enters that text into an SHA256 generator, producing a meaningless jumble of characters - A0FC4543FDBA266006F1F9FA818183710A8C5CA80613DA109B8A9DBA194DEC4E
- Alice publicly announces "I've planned an action; its SHA-256 is A0FC4543FDBA266006F1F9FA818183710A8C5CA80613DA109B8A9DBA194DEC4E"
Now, Bob cannot tell what Alice has planned because the SHA-256 is not reversible; there's no way to get from the hash back to the action.
Later, when Alice reveals her plan, she gives the exact text she prepared earlier. If Bob doesn't trust her, he can simply repeat the SHA-256 encryption, and verify that the signatures match.
If Alice suspects that Bob may guess her action, then she can make things harder by adding an extra, irrelevant component to the action before computing the SHA-256. For instance, if Alice records, signs, and later reveals "I cast Fireball at Bob (pistachio)", then Bob would not be able to guess and verify the action without also guessing the extra "(pistachio)". This is known as using a "salt".
answered yesterday
Chowlett
63159
63159
Comments are not for extended discussion; this conversation has been moved to chat.
– SevenSidedDie♦
14 hours ago
add a comment |
Comments are not for extended discussion; this conversation has been moved to chat.
– SevenSidedDie♦
14 hours ago
Comments are not for extended discussion; this conversation has been moved to chat.
– SevenSidedDie♦
14 hours ago
Comments are not for extended discussion; this conversation has been moved to chat.
– SevenSidedDie♦
14 hours ago
add a comment |
up vote
8
down vote
Send the decisions to a trusted third party.
When the time comes to reveal the action, the third party will then do so.
This has the advantage of being simple and doesn't require any technological know-how.
4
It's not simple at all, as it adds an extra communication channel for every player in the game, and replaces technological know-how with social know-how instead, something that is far less reliable. These are disadvantages!
– Nij
yesterday
2
This seems to count as "just relying on good faith."
– Bloodcinder
yesterday
3
@Nij it is simple in the fact that a high percentage of people can actually accomplish this. The problem with bring encryption schemes, etc into the picture is that few non-technical people will understand how to deal with these things.
– Destruktor
yesterday
add a comment |
up vote
8
down vote
Send the decisions to a trusted third party.
When the time comes to reveal the action, the third party will then do so.
This has the advantage of being simple and doesn't require any technological know-how.
4
It's not simple at all, as it adds an extra communication channel for every player in the game, and replaces technological know-how with social know-how instead, something that is far less reliable. These are disadvantages!
– Nij
yesterday
2
This seems to count as "just relying on good faith."
– Bloodcinder
yesterday
3
@Nij it is simple in the fact that a high percentage of people can actually accomplish this. The problem with bring encryption schemes, etc into the picture is that few non-technical people will understand how to deal with these things.
– Destruktor
yesterday
add a comment |
up vote
8
down vote
up vote
8
down vote
Send the decisions to a trusted third party.
When the time comes to reveal the action, the third party will then do so.
This has the advantage of being simple and doesn't require any technological know-how.
Send the decisions to a trusted third party.
When the time comes to reveal the action, the third party will then do so.
This has the advantage of being simple and doesn't require any technological know-how.
answered yesterday
Destruktor
2,0791443
2,0791443
4
It's not simple at all, as it adds an extra communication channel for every player in the game, and replaces technological know-how with social know-how instead, something that is far less reliable. These are disadvantages!
– Nij
yesterday
2
This seems to count as "just relying on good faith."
– Bloodcinder
yesterday
3
@Nij it is simple in the fact that a high percentage of people can actually accomplish this. The problem with bring encryption schemes, etc into the picture is that few non-technical people will understand how to deal with these things.
– Destruktor
yesterday
add a comment |
4
It's not simple at all, as it adds an extra communication channel for every player in the game, and replaces technological know-how with social know-how instead, something that is far less reliable. These are disadvantages!
– Nij
yesterday
2
This seems to count as "just relying on good faith."
– Bloodcinder
yesterday
3
@Nij it is simple in the fact that a high percentage of people can actually accomplish this. The problem with bring encryption schemes, etc into the picture is that few non-technical people will understand how to deal with these things.
– Destruktor
yesterday
4
4
It's not simple at all, as it adds an extra communication channel for every player in the game, and replaces technological know-how with social know-how instead, something that is far less reliable. These are disadvantages!
– Nij
yesterday
It's not simple at all, as it adds an extra communication channel for every player in the game, and replaces technological know-how with social know-how instead, something that is far less reliable. These are disadvantages!
– Nij
yesterday
2
2
This seems to count as "just relying on good faith."
– Bloodcinder
yesterday
This seems to count as "just relying on good faith."
– Bloodcinder
yesterday
3
3
@Nij it is simple in the fact that a high percentage of people can actually accomplish this. The problem with bring encryption schemes, etc into the picture is that few non-technical people will understand how to deal with these things.
– Destruktor
yesterday
@Nij it is simple in the fact that a high percentage of people can actually accomplish this. The problem with bring encryption schemes, etc into the picture is that few non-technical people will understand how to deal with these things.
– Destruktor
yesterday
add a comment |
up vote
6
down vote
Use a communication system like facebook that allows you to set up visibility on each post.
Post a publicly visible post saying
Alice glances at her spell book then gestures, ready to begin casting a spell.
Post a private post saying
If X happens Alice will cast fireball at Y
If the trigger happens change the privacy of the post to public.
The timestamp and edit history should be able to show that the post has not been modified other than to change the visibility.
As V2Blast pointed out and Zac offered a solution to the public post should link to the private post to prove that it's the same post and you didn't post multiple hidden posts.
If you have a DM or similar in the game then you could also give them access to the private posts for their information.
10
The potential issue with this is that you could just make multiple private posts with different courses of action, and just make public the one that you decide on after the fact.
– V2Blast
yesterday
7
@V2Blast not if you provide a link to the (currently) private post in advance - if Facebook works correctly, it shouldn't reveal the post to others until it's made public, but the url won't change
– Zac Faragher
yesterday
@ZacFaragher: Ah, interesting idea.
– V2Blast
yesterday
add a comment |
up vote
6
down vote
Use a communication system like facebook that allows you to set up visibility on each post.
Post a publicly visible post saying
Alice glances at her spell book then gestures, ready to begin casting a spell.
Post a private post saying
If X happens Alice will cast fireball at Y
If the trigger happens change the privacy of the post to public.
The timestamp and edit history should be able to show that the post has not been modified other than to change the visibility.
As V2Blast pointed out and Zac offered a solution to the public post should link to the private post to prove that it's the same post and you didn't post multiple hidden posts.
If you have a DM or similar in the game then you could also give them access to the private posts for their information.
10
The potential issue with this is that you could just make multiple private posts with different courses of action, and just make public the one that you decide on after the fact.
– V2Blast
yesterday
7
@V2Blast not if you provide a link to the (currently) private post in advance - if Facebook works correctly, it shouldn't reveal the post to others until it's made public, but the url won't change
– Zac Faragher
yesterday
@ZacFaragher: Ah, interesting idea.
– V2Blast
yesterday
add a comment |
up vote
6
down vote
up vote
6
down vote
Use a communication system like facebook that allows you to set up visibility on each post.
Post a publicly visible post saying
Alice glances at her spell book then gestures, ready to begin casting a spell.
Post a private post saying
If X happens Alice will cast fireball at Y
If the trigger happens change the privacy of the post to public.
The timestamp and edit history should be able to show that the post has not been modified other than to change the visibility.
As V2Blast pointed out and Zac offered a solution to the public post should link to the private post to prove that it's the same post and you didn't post multiple hidden posts.
If you have a DM or similar in the game then you could also give them access to the private posts for their information.
Use a communication system like facebook that allows you to set up visibility on each post.
Post a publicly visible post saying
Alice glances at her spell book then gestures, ready to begin casting a spell.
Post a private post saying
If X happens Alice will cast fireball at Y
If the trigger happens change the privacy of the post to public.
The timestamp and edit history should be able to show that the post has not been modified other than to change the visibility.
As V2Blast pointed out and Zac offered a solution to the public post should link to the private post to prove that it's the same post and you didn't post multiple hidden posts.
If you have a DM or similar in the game then you could also give them access to the private posts for their information.
edited 20 hours ago
answered yesterday
Tim B
5,2061246
5,2061246
10
The potential issue with this is that you could just make multiple private posts with different courses of action, and just make public the one that you decide on after the fact.
– V2Blast
yesterday
7
@V2Blast not if you provide a link to the (currently) private post in advance - if Facebook works correctly, it shouldn't reveal the post to others until it's made public, but the url won't change
– Zac Faragher
yesterday
@ZacFaragher: Ah, interesting idea.
– V2Blast
yesterday
add a comment |
10
The potential issue with this is that you could just make multiple private posts with different courses of action, and just make public the one that you decide on after the fact.
– V2Blast
yesterday
7
@V2Blast not if you provide a link to the (currently) private post in advance - if Facebook works correctly, it shouldn't reveal the post to others until it's made public, but the url won't change
– Zac Faragher
yesterday
@ZacFaragher: Ah, interesting idea.
– V2Blast
yesterday
10
10
The potential issue with this is that you could just make multiple private posts with different courses of action, and just make public the one that you decide on after the fact.
– V2Blast
yesterday
The potential issue with this is that you could just make multiple private posts with different courses of action, and just make public the one that you decide on after the fact.
– V2Blast
yesterday
7
7
@V2Blast not if you provide a link to the (currently) private post in advance - if Facebook works correctly, it shouldn't reveal the post to others until it's made public, but the url won't change
– Zac Faragher
yesterday
@V2Blast not if you provide a link to the (currently) private post in advance - if Facebook works correctly, it shouldn't reveal the post to others until it's made public, but the url won't change
– Zac Faragher
yesterday
@ZacFaragher: Ah, interesting idea.
– V2Blast
yesterday
@ZacFaragher: Ah, interesting idea.
– V2Blast
yesterday
add a comment |
up vote
6
down vote
An alternative to hash commitment that requires less technical knowhow: do what scientists used to do to establish priority for an idea until they were ready to publish. Instead of a SHA, publish a signature that is easily derived from the message by a human but can't be easily reversed.
One simple "signature" is just to show how many times each letter appears in the message, but not their order. Then when it's time to reveal, it's easy to verify. So Alice can sign the message
I betray Bob
as
ABBBEIORTY
One obvious problem is that for such a short, straightforward message, Bob can probably guess what is meant: there are a lot of Bs and one O, so it's probably about him. He can also rule out some possibilities he's worried about: the message clearly can't include fireball, because there's no F; but it could include betray.
Alice can prevent this by speaking somewhat more cryptically or using a few more words than necessary. If Alice publishes
AAABDDDDEEEEEFGGGHHHHHHIIIIIILLLLMMNOOOOOORRRRRSSTTTTTTTUUUWW
it's hard to guess that she means
Though allied with Robert, I grow tired of him and sell him out to the guards.
Just for fun, note that this message does leave open the possibility of a fireball (because it contains all of the letters in "FIREBALL"), in case Alice thinks that's something Bob would want to rule out.
New contributor
add a comment |
up vote
6
down vote
An alternative to hash commitment that requires less technical knowhow: do what scientists used to do to establish priority for an idea until they were ready to publish. Instead of a SHA, publish a signature that is easily derived from the message by a human but can't be easily reversed.
One simple "signature" is just to show how many times each letter appears in the message, but not their order. Then when it's time to reveal, it's easy to verify. So Alice can sign the message
I betray Bob
as
ABBBEIORTY
One obvious problem is that for such a short, straightforward message, Bob can probably guess what is meant: there are a lot of Bs and one O, so it's probably about him. He can also rule out some possibilities he's worried about: the message clearly can't include fireball, because there's no F; but it could include betray.
Alice can prevent this by speaking somewhat more cryptically or using a few more words than necessary. If Alice publishes
AAABDDDDEEEEEFGGGHHHHHHIIIIIILLLLMMNOOOOOORRRRRSSTTTTTTTUUUWW
it's hard to guess that she means
Though allied with Robert, I grow tired of him and sell him out to the guards.
Just for fun, note that this message does leave open the possibility of a fireball (because it contains all of the letters in "FIREBALL"), in case Alice thinks that's something Bob would want to rule out.
New contributor
add a comment |
up vote
6
down vote
up vote
6
down vote
An alternative to hash commitment that requires less technical knowhow: do what scientists used to do to establish priority for an idea until they were ready to publish. Instead of a SHA, publish a signature that is easily derived from the message by a human but can't be easily reversed.
One simple "signature" is just to show how many times each letter appears in the message, but not their order. Then when it's time to reveal, it's easy to verify. So Alice can sign the message
I betray Bob
as
ABBBEIORTY
One obvious problem is that for such a short, straightforward message, Bob can probably guess what is meant: there are a lot of Bs and one O, so it's probably about him. He can also rule out some possibilities he's worried about: the message clearly can't include fireball, because there's no F; but it could include betray.
Alice can prevent this by speaking somewhat more cryptically or using a few more words than necessary. If Alice publishes
AAABDDDDEEEEEFGGGHHHHHHIIIIIILLLLMMNOOOOOORRRRRSSTTTTTTTUUUWW
it's hard to guess that she means
Though allied with Robert, I grow tired of him and sell him out to the guards.
Just for fun, note that this message does leave open the possibility of a fireball (because it contains all of the letters in "FIREBALL"), in case Alice thinks that's something Bob would want to rule out.
New contributor
An alternative to hash commitment that requires less technical knowhow: do what scientists used to do to establish priority for an idea until they were ready to publish. Instead of a SHA, publish a signature that is easily derived from the message by a human but can't be easily reversed.
One simple "signature" is just to show how many times each letter appears in the message, but not their order. Then when it's time to reveal, it's easy to verify. So Alice can sign the message
I betray Bob
as
ABBBEIORTY
One obvious problem is that for such a short, straightforward message, Bob can probably guess what is meant: there are a lot of Bs and one O, so it's probably about him. He can also rule out some possibilities he's worried about: the message clearly can't include fireball, because there's no F; but it could include betray.
Alice can prevent this by speaking somewhat more cryptically or using a few more words than necessary. If Alice publishes
AAABDDDDEEEEEFGGGHHHHHHIIIIIILLLLMMNOOOOOORRRRRSSTTTTTTTUUUWW
it's hard to guess that she means
Though allied with Robert, I grow tired of him and sell him out to the guards.
Just for fun, note that this message does leave open the possibility of a fireball (because it contains all of the letters in "FIREBALL"), in case Alice thinks that's something Bob would want to rule out.
New contributor
edited 14 hours ago
Ben Bolker
1033
1033
New contributor
answered yesterday
amalloy
1634
1634
New contributor
New contributor
add a comment |
add a comment |
up vote
4
down vote
Trust
This one isn't always appropriate - but if you play with a constant group of friends, then simply trusting that they are being honest is the way I usually play games. This works for me, because I don't generally play with randoms or at events outside of home.
Obviously this won't always work - not everyone has the required integrity to resist the urge to cheat. But if you're playing a longer campaign with a consistent group, you'll learn pretty quickly using this method whether it's actually viable.
If not, then the other methods mentioned above are steller. However, as far as simplicity and ease to implement is concerned, this is by far the easiest.
add a comment |
up vote
4
down vote
Trust
This one isn't always appropriate - but if you play with a constant group of friends, then simply trusting that they are being honest is the way I usually play games. This works for me, because I don't generally play with randoms or at events outside of home.
Obviously this won't always work - not everyone has the required integrity to resist the urge to cheat. But if you're playing a longer campaign with a consistent group, you'll learn pretty quickly using this method whether it's actually viable.
If not, then the other methods mentioned above are steller. However, as far as simplicity and ease to implement is concerned, this is by far the easiest.
add a comment |
up vote
4
down vote
up vote
4
down vote
Trust
This one isn't always appropriate - but if you play with a constant group of friends, then simply trusting that they are being honest is the way I usually play games. This works for me, because I don't generally play with randoms or at events outside of home.
Obviously this won't always work - not everyone has the required integrity to resist the urge to cheat. But if you're playing a longer campaign with a consistent group, you'll learn pretty quickly using this method whether it's actually viable.
If not, then the other methods mentioned above are steller. However, as far as simplicity and ease to implement is concerned, this is by far the easiest.
Trust
This one isn't always appropriate - but if you play with a constant group of friends, then simply trusting that they are being honest is the way I usually play games. This works for me, because I don't generally play with randoms or at events outside of home.
Obviously this won't always work - not everyone has the required integrity to resist the urge to cheat. But if you're playing a longer campaign with a consistent group, you'll learn pretty quickly using this method whether it's actually viable.
If not, then the other methods mentioned above are steller. However, as far as simplicity and ease to implement is concerned, this is by far the easiest.
answered yesterday
Shadow
386112
386112
add a comment |
add a comment |
up vote
3
down vote
This problem was already solved in the past. As exibit A, I would introduce the game "Diplomacy" which had a prolific history of play by post. In this game, 7 players needs to coordinate (and betray) each other constantly to progress the game. There are of course direct communications between players, but any move must be committed and sent to a third party "referee". The referee would receive the moves, execute and resolve them appropriately, and then publish the outcome in a public channel (usually, a magazine, plus direct paper mail to each player.)
The only requirement here is trust with the game organizer. But why would you play if you can't trust at least the organizer?
"... why would you play if you can't trust at least the organizer?" - probably because they don't have an external organizer, and players run it collectively.
– Nij
8 hours ago
In my particular game, the gamemaster is also an adversarial player. This solution expects that the GM can be trusted on good faith, but that violates the premise of the question.
– Bloodcinder
6 hours ago
@bloodcinder no it does not, he doesn’t say the player/GM has to be the organizer/referee.
– mxyzplk♦
20 mins ago
add a comment |
up vote
3
down vote
This problem was already solved in the past. As exibit A, I would introduce the game "Diplomacy" which had a prolific history of play by post. In this game, 7 players needs to coordinate (and betray) each other constantly to progress the game. There are of course direct communications between players, but any move must be committed and sent to a third party "referee". The referee would receive the moves, execute and resolve them appropriately, and then publish the outcome in a public channel (usually, a magazine, plus direct paper mail to each player.)
The only requirement here is trust with the game organizer. But why would you play if you can't trust at least the organizer?
"... why would you play if you can't trust at least the organizer?" - probably because they don't have an external organizer, and players run it collectively.
– Nij
8 hours ago
In my particular game, the gamemaster is also an adversarial player. This solution expects that the GM can be trusted on good faith, but that violates the premise of the question.
– Bloodcinder
6 hours ago
@bloodcinder no it does not, he doesn’t say the player/GM has to be the organizer/referee.
– mxyzplk♦
20 mins ago
add a comment |
up vote
3
down vote
up vote
3
down vote
This problem was already solved in the past. As exibit A, I would introduce the game "Diplomacy" which had a prolific history of play by post. In this game, 7 players needs to coordinate (and betray) each other constantly to progress the game. There are of course direct communications between players, but any move must be committed and sent to a third party "referee". The referee would receive the moves, execute and resolve them appropriately, and then publish the outcome in a public channel (usually, a magazine, plus direct paper mail to each player.)
The only requirement here is trust with the game organizer. But why would you play if you can't trust at least the organizer?
This problem was already solved in the past. As exibit A, I would introduce the game "Diplomacy" which had a prolific history of play by post. In this game, 7 players needs to coordinate (and betray) each other constantly to progress the game. There are of course direct communications between players, but any move must be committed and sent to a third party "referee". The referee would receive the moves, execute and resolve them appropriately, and then publish the outcome in a public channel (usually, a magazine, plus direct paper mail to each player.)
The only requirement here is trust with the game organizer. But why would you play if you can't trust at least the organizer?
answered 21 hours ago
STT LCU
423417
423417
"... why would you play if you can't trust at least the organizer?" - probably because they don't have an external organizer, and players run it collectively.
– Nij
8 hours ago
In my particular game, the gamemaster is also an adversarial player. This solution expects that the GM can be trusted on good faith, but that violates the premise of the question.
– Bloodcinder
6 hours ago
@bloodcinder no it does not, he doesn’t say the player/GM has to be the organizer/referee.
– mxyzplk♦
20 mins ago
add a comment |
"... why would you play if you can't trust at least the organizer?" - probably because they don't have an external organizer, and players run it collectively.
– Nij
8 hours ago
In my particular game, the gamemaster is also an adversarial player. This solution expects that the GM can be trusted on good faith, but that violates the premise of the question.
– Bloodcinder
6 hours ago
@bloodcinder no it does not, he doesn’t say the player/GM has to be the organizer/referee.
– mxyzplk♦
20 mins ago
"... why would you play if you can't trust at least the organizer?" - probably because they don't have an external organizer, and players run it collectively.
– Nij
8 hours ago
"... why would you play if you can't trust at least the organizer?" - probably because they don't have an external organizer, and players run it collectively.
– Nij
8 hours ago
In my particular game, the gamemaster is also an adversarial player. This solution expects that the GM can be trusted on good faith, but that violates the premise of the question.
– Bloodcinder
6 hours ago
In my particular game, the gamemaster is also an adversarial player. This solution expects that the GM can be trusted on good faith, but that violates the premise of the question.
– Bloodcinder
6 hours ago
@bloodcinder no it does not, he doesn’t say the player/GM has to be the organizer/referee.
– mxyzplk♦
20 mins ago
@bloodcinder no it does not, he doesn’t say the player/GM has to be the organizer/referee.
– mxyzplk♦
20 mins ago
add a comment |
up vote
2
down vote
A simple resource for exactly this kind of thing is http://onetimesecret.com. It allows you to create a "secret" and publish the link to it, but once the secret has been viewed once, it is deleted, and cannot be viewed again.
Alice enters her secret, and sends the hyperlink to Bob, but tells him not to look at it yet. Bob publicly declares his course of action, then looks at Alice's onetimesecret post. Alice can check the time at which her secret was viewed, to verify that it was after Bob's public declaration.
This way, Alice can't lie about her decision, but Bob won't know what it was until after he declares his course of action.
(Note: I am not affiliated in any way with onetimesecret.com. I just find it a useful resource.)
New contributor
add a comment |
up vote
2
down vote
A simple resource for exactly this kind of thing is http://onetimesecret.com. It allows you to create a "secret" and publish the link to it, but once the secret has been viewed once, it is deleted, and cannot be viewed again.
Alice enters her secret, and sends the hyperlink to Bob, but tells him not to look at it yet. Bob publicly declares his course of action, then looks at Alice's onetimesecret post. Alice can check the time at which her secret was viewed, to verify that it was after Bob's public declaration.
This way, Alice can't lie about her decision, but Bob won't know what it was until after he declares his course of action.
(Note: I am not affiliated in any way with onetimesecret.com. I just find it a useful resource.)
New contributor
add a comment |
up vote
2
down vote
up vote
2
down vote
A simple resource for exactly this kind of thing is http://onetimesecret.com. It allows you to create a "secret" and publish the link to it, but once the secret has been viewed once, it is deleted, and cannot be viewed again.
Alice enters her secret, and sends the hyperlink to Bob, but tells him not to look at it yet. Bob publicly declares his course of action, then looks at Alice's onetimesecret post. Alice can check the time at which her secret was viewed, to verify that it was after Bob's public declaration.
This way, Alice can't lie about her decision, but Bob won't know what it was until after he declares his course of action.
(Note: I am not affiliated in any way with onetimesecret.com. I just find it a useful resource.)
New contributor
A simple resource for exactly this kind of thing is http://onetimesecret.com. It allows you to create a "secret" and publish the link to it, but once the secret has been viewed once, it is deleted, and cannot be viewed again.
Alice enters her secret, and sends the hyperlink to Bob, but tells him not to look at it yet. Bob publicly declares his course of action, then looks at Alice's onetimesecret post. Alice can check the time at which her secret was viewed, to verify that it was after Bob's public declaration.
This way, Alice can't lie about her decision, but Bob won't know what it was until after he declares his course of action.
(Note: I am not affiliated in any way with onetimesecret.com. I just find it a useful resource.)
New contributor
New contributor
answered 10 hours ago
GentlePurpleRain
1212
1212
New contributor
New contributor
add a comment |
add a comment |
up vote
-2
down vote
Alice make decision message -> [D]
Encrypt [D] with random private key [PK], make cryptogram -> [C]
Lots of algorithms can be used here.
Send [C] to Bob.
When event have to occur, Bob request [PK] from Alice.
Alice Send [PK], Bob can translate [C]->[D]
it is hard to make [C] to desired other decision message[D2] with other [PK2]
Show programmer in your team this sequence. He will understand if he have learn.
New contributor
5
And if there's no programmer available, how does this help anybody? The answer seems to be a much worse version of the answer posted by Chowlett hours ago.
– Nij
yesterday
1
There are existing tools for this. Which one did you use when you played this kind of game?
– SevenSidedDie♦
14 hours ago
add a comment |
up vote
-2
down vote
Alice make decision message -> [D]
Encrypt [D] with random private key [PK], make cryptogram -> [C]
Lots of algorithms can be used here.
Send [C] to Bob.
When event have to occur, Bob request [PK] from Alice.
Alice Send [PK], Bob can translate [C]->[D]
it is hard to make [C] to desired other decision message[D2] with other [PK2]
Show programmer in your team this sequence. He will understand if he have learn.
New contributor
5
And if there's no programmer available, how does this help anybody? The answer seems to be a much worse version of the answer posted by Chowlett hours ago.
– Nij
yesterday
1
There are existing tools for this. Which one did you use when you played this kind of game?
– SevenSidedDie♦
14 hours ago
add a comment |
up vote
-2
down vote
up vote
-2
down vote
Alice make decision message -> [D]
Encrypt [D] with random private key [PK], make cryptogram -> [C]
Lots of algorithms can be used here.
Send [C] to Bob.
When event have to occur, Bob request [PK] from Alice.
Alice Send [PK], Bob can translate [C]->[D]
it is hard to make [C] to desired other decision message[D2] with other [PK2]
Show programmer in your team this sequence. He will understand if he have learn.
New contributor
Alice make decision message -> [D]
Encrypt [D] with random private key [PK], make cryptogram -> [C]
Lots of algorithms can be used here.
Send [C] to Bob.
When event have to occur, Bob request [PK] from Alice.
Alice Send [PK], Bob can translate [C]->[D]
it is hard to make [C] to desired other decision message[D2] with other [PK2]
Show programmer in your team this sequence. He will understand if he have learn.
New contributor
edited yesterday
V2Blast
18.1k248114
18.1k248114
New contributor
answered yesterday
siamenock
71
71
New contributor
New contributor
5
And if there's no programmer available, how does this help anybody? The answer seems to be a much worse version of the answer posted by Chowlett hours ago.
– Nij
yesterday
1
There are existing tools for this. Which one did you use when you played this kind of game?
– SevenSidedDie♦
14 hours ago
add a comment |
5
And if there's no programmer available, how does this help anybody? The answer seems to be a much worse version of the answer posted by Chowlett hours ago.
– Nij
yesterday
1
There are existing tools for this. Which one did you use when you played this kind of game?
– SevenSidedDie♦
14 hours ago
5
5
And if there's no programmer available, how does this help anybody? The answer seems to be a much worse version of the answer posted by Chowlett hours ago.
– Nij
yesterday
And if there's no programmer available, how does this help anybody? The answer seems to be a much worse version of the answer posted by Chowlett hours ago.
– Nij
yesterday
1
1
There are existing tools for this. Which one did you use when you played this kind of game?
– SevenSidedDie♦
14 hours ago
There are existing tools for this. Which one did you use when you played this kind of game?
– SevenSidedDie♦
14 hours ago
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2frpg.stackexchange.com%2fquestions%2f136072%2fhow-to-certify-a-secret-decision-revealed-on-a-delay-in-a-play-by-post-game%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
As a useful practical example where the described scenario would crop up, combat in Mouse Guard (and presumably other Burning Wheel system games) is resolved with the GM and players each secretly deciding on three actions before revealing them all at once and resolving the round of combat
– Pingcode
21 hours ago