Idea: Escrow with Punishment and Commitment

Published by Mario Oettler on

In order to simulate simultaneous actions, a commitment scheme seems suitable. Each party creates a hash of its strategy plus an individual and secret salt H(strategy, salt). Then, they send this hash to the smart contract.

After the commit phase, the reveal phase starts. Here, Alice and Bob reveal their strategies and salts to the escrow contract. If any party refuses to reveal truthfully, the escrow is resolved in a way that is favorable for the honest party. Hence, it seems as if neither Alice nor Bob could gain any advantage of creating a transaction first.

But the commitment scheme only works if each party is interested in keeping the values secret. Bob could commit to his strategy and tell Alice his strategy and his commitment. Then, Alice would know that Bob, for example, committed to “Delivered,” even if he hadn’t shipped the goods. Alice would be extorted in the same way as in the previous scenario.