4

Mind the payment-channel case:

  • Parties A and B lock the state of their balances, S0, on the blockchain.

  • A makes a transaction by updating the state to S1, signing it and sending to B.

  • B makes a transaction by updating the state to S2, signing it and sending to A.

That can go on and on indefinitely. Now, suppose, instead of payment-channel, we're trying to implement a chess game off-chain. They bet $50 on the outcome.

  • Players A, B init a new game on the blockchain and lock the board state, S.

  • Player A performs a move by updating the board state to S1, signing it, sending to B.

  • Player B checks A's move was valid, performs a transaction the same way.

That, again, goes on for a while. As soon, though, as A performs a move that is clearly advantageous to him - say, capturing B's queen - B will just not sign anything on top of A's move, forcing him to continue on the blockchain.

Does that mean that state-channels only work for transactions that affect the sender negatively?

  • Of course there are cases when B will stop playing fairly, but what benefit does he get from this? He'll lose his money either way – Tjaden Hess Jan 26 '17 at 21:05
2

In general any situation where one side has nothing to lose by misbehaving can be fixed by making them put up a bond against misbehviour, provided that misbehaviour is detectable and can be proved to the smart contract. That would work in your example.

The need for a bond may reduce the attractiveness of playing, however.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.