Online games such as chess or perhaps battleship.

mimarobmimarob Member Posts: 33
I got some thoughts on playing fast, interactive, online games over the network and staking ethers as price money or

similar.

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?

Sign In or Register to comment.