Assuming the server seed commitment is known before placing a bet, the server can't alter the outcome in any way. Is is the idea that a server could predict betting patterns for an individual user (and shuffle cards / pick numbers accordingly)? That's the only thing I could think of which a client seed does prevent.
Yes, gamblers tend to be very predictable in their bets. If the gambler has the opportunity to add unique random data to the calculation of the result, the casino cannot predict the outcome of the bet ahead of time.
I see, so my assumption was correct. I just wanted to make sure it didn't serve some other purpose I hadn't thought of.
I am actually developing a multi party provably fair scheme (e.g. multiple players betting on the same "roll") but I'm slowly coming to the realization it might be impossible
At least, not the perfect fairness that 2 party schemes enjoy. continued:
https://bitcointalk.org/index.php?topic=5179222.msg52280258but there are no "patterns" to predict in these games that involve randomness (dice, random card pick, coin flip) not choice (poker). you are supposed to have come up with a random number that neither one of the people involved in it could predict. so they split the "input" into two parts, and that is why client seed exists.
as for your topic it seems to me that doing these three would solve the issue:
1. every player deposits his money with the house first (as they do with any other game like dice) so that they couldn't disconnect and run away from the unfavorable game
2. each party shares the hash of their seed before sharing the real seed. so that they couldn't change it and also so that sharing it wouldn't make it possible for others to calculate the final result.
3. a deadline to reveal the real seed. if any player fails to provide it in that time frame they are disqualified and the game will continue with the remaining players.
example:
hash sharing stage:
house: 58d2691facf7a8f32a321b7733a72fb3868c0cacb3a6ed39ff517b3e156694e6
Alice: 6778de0d2f12a06b2642e070bdbdac0c9198b0220e4a1a04848512b20ce3888f
Bob: 9b72133b264d521ec5ccf4a28b0d9eac765d37c8336d6ba0c46e29afd43d5430
move to real seed sharing:
this is house seed
The Alice SEED
and finallly bob's seed
compute the final hash:
Keccak_256(this is house seed The Alice SEED and finallly bob's seed) =
d7b35184cf3c0386ce56c532e0e6dd46cfee4f0ed16f1d24240106b91e50b854
i also changed the final hash to eliminate any possibility of exploit!