Provably fair Heads or Tails: non repudiation
Let's recall our provably fair Heads or Tails protocol:
- Assume an agreed upon seedable random generator and bet amount.
- The casino selects a random seed part \(s_C\), and sends its signed hash to Alice, along with a proof that twice the bet amount has been put in escrow. This is the commitment.
- Alice concatenates a random seed part \(s_A\) to the commitment, signs the result, and sends it back to the casino, along with her bet money.
- The casino seeds the random generator with \(s_A \oplus s_C\), tosses the coin and either pays Alice or keeps her bet money.
- The casino reveals \(s_C\) to prove the fairness of the toss.
If the hash of \(s_C\) is not signed, then the casino can change its value after Alice sends her \(s_A\), making Alice lose. Alice would have no proof that the original hashed \(s_C\) she was sent actually comes from the Casino. It would be her word against the Casino's.
The signature ensures the non-repudiation of the commitment.
1. Changelog
Initial version