I got some thoughts on playing fast, interactive, online games over the network and staking ethers as price money or
Obviously even the rather fast transaction processing of ethereum is not enough for a game of chess where the clocks are
set to say 5 minutes and most moves usually are made within seconds. (Old-fashioned correspondence chess may be ok).
I though of a system where the transactions would not only be sent to the ethereum network, but also the players would
deposit the moves at each other. Transactions would then be verified by the opponent player and the reply move sent.
If there is a dispute, one of the players would request an arbitration from the block chain which would go through the
moves one in turn (programmatically this is a very simple automata with no AI or anything) but since it might still be
costly on the ether blockchain, it would only be used if one player is trying to cheat.
Apart from the stake for the actual game, a deposition of some sum from both players is required for starting the
game, this will be used in the case an arbitration is needed. The contract will make the player at fault to pay for the
arbitration out of the players deposition. The contract also needs some gas to run the contract itself and submitting the moves.
Even if a players software tries to cheat and only send the transactions to the opponent and not the blockchain, the
opponent's software would simply have to submit the previously verified transactions to the network. This is also
required by the arbitration routines, failing to submit moves will result in loss of deposition and the winner will be
the other player.
Normally the pure existence of the arbitration code is enough to keep players away from trying to cheat in the game,
(provided of course that the contract is water proof).
Now for a more practical question, is this transaction constructing and verification easily available in geth? I could
use a socket or something to send the transactions off-chain), but I was also wondering if there was some device already
in place for off-chain exchanges? Is this what Whisper is for?