I have a question on how the provably fair system can resist collision scams.
I know this would be extremely difficult in the bitZino case (impossible for all practical purposes as long as the hashing algorithm remains unbroken), because the server secret is a coherent JSON string of cards. However, this could be the case on a cointoss setup where the server secret seed is just a random (or random-looking) string.
A malicious server could select two colliding seeds and show their identical hash. Then, upon receiving the client seed, the server chooses the server seed that yields the most favorable outcome and reveals it to the client, who has no means to know about the existence of the alternate seed. Therefore, the system is not provably fair.
Know collisions exist for the still widely used MD5 algorithm, and theoretical collisions (a significant reduction of the entire search space) are possible for SHA-1.
A possible solution could be that in the first step, the server combines its secret seed with a public nonce and shows the combined hash. This ensures that no collisions are available.
What do you think?
Thank you, at least someone told the truth about it. I was trying to say this for a long time and no one would listen lol. Also they can effect the odds without you evening know and still show the correct hash. This dont mean anything with the provable fair system.
Just let me insist, if I have not been clear enough before, that this is more a problem for gambling dice than for bitzino. "Provably fair" dice sites have random-looking seeds which could be collidable (at least in theory), while bitzino uses a random shuffled JSON struct, which is extremely more difficult to collide. Still, I propose that my suggestion would reduce this tiny provability to zero and make the system
truly provably fair (IANAC though).
I posted this here because I noticed that bitzino is very pedagogical on the concept of provable fairness, and the subject is being actively discussed here.