Please explain provably fair system on dice example.
Other games have 'verify hand' button in 'provably fair' popup window, dice does not.
What is 'Initial Shuffle' in case of dice.
Thank you!
I will try to explain how provably fair works specifically for dice, and if you want a detailed explaination or have any other questions then send me a PM. I'd be happy to walk you though how provably fair works for any of our games.
The provably fair verifiction for Dice is similar to how we verify our card games.
Before your round begins we publish the SHA of your next game.
The SHA is the SHA256 hex representation of Initial Shuffle and the Server Seed in the form:
sha = sha256.hex('initial_shuffle|server_seed')
- The Initial Shuffle value is a random string that is used to add randomness to the SHA value
- The Server Seed value is a random string that is used in combintation with the player seed to generate the outcome of a roll
For any given input the SHA function will always produce the exact same output. In this case for a given combintation of Initial Shuffle and Dealer Seed the SHA function will produce the exact same sha value.
When you start a new game, you provide us with a Player Seed. The Player Seed is a random string that is generated by your browser (we generate one for you by default but you can change this value at any time). We use the Player Seed combined with the Server Seed to seed a random number generator function called a Mersenne Twister.
mersenneTwister = MersenneTwister('server_seed|player_seed')
We then use the Mersenne Twister to generate a random number between 0 and 1000000 which is the outcome of the roll.
outcome = mersenneTwister.random(1000000)
For a given combination of Server Seed and Player Seed, the outcome of the Mersenne Twister random number generator function will always be the same.
How is this provably fair?
We provided you with the SHA value of the game before the start of the game, then after the game we publish the Initial Shuffle and Dealer Seed values. This allows you to verify yourself that the SHA value published before the round represents the published Initial Shuffle and Dealer Seed values. If we changed any of those values then the SHA value would also change.
Now, with all of the values published you can then re-create the outcome of the hand independently, thus verifying that the outcome of the round did come from both the Server Seed and the Player Seed.
Hope that makes sense. We will add the verification step for Dice directly to the game. Thanks for pointing out that the link was missing.