Bitcoin Games is provably fair

in #bitcoin7 years ago

Play with confidence! We guarantee that every game you play at Bitcoin Games: https://goo.gl/l4QTzN - is completely fair. You will be dealt a completely random deck of cards every game, and we can provably demonstrate that we have in no way manipulated the shuffle.

bitcoingames.png

Instead of just taking our word for it, we make available all of the information you need to verify that our game is fair.

The reason that we can guarantee this is that your web browser supplies a random number that we must incorporate into the random number generator in a provably consistent way. Our server first shuffles the deck, and your computer then gives us a random number that we must use to repeatedly cut the deck. Since our servers do not know what random number your computer will send, we have no way of knowing how the shuffle will look in the end.

To manually verify a game that has been played, press the green verify button in the MY GAMES table after a game has been played.

THE NITTY GRITTY DETAILS

Before the game has started, a random seed number is first chosen by our server.

We then create an SHA-256 hash of this server seed and send it to your web browser. This hash serves as a sort of encryption of the original seed number chosen by the server. From this hash you can not identify the seed number chosen, but you can later use it to verify that we did not change the seed number afterwards.

These steps take place before any credits have been played by the user.

Your web browser then sends our server a random seed number. Your web browser just selects any random number, although technically there is nothing preventing the client from sending any number it wants. The point is that our server has no way of knowing what this random number will be.

After the server receives this client seed number, it combines the server seed and the client seed into a single final game seed. For example, if the server seed was 7UDVbLn6Ct2a4ZHLHVPGu6MoccaZZ3hbzkwUoLxDSEKU and the client seed was 1293771171, then the final game seed will be 7UDVbLn6Ct2a4ZHLHVPGu6MoccaZZ3hbzkwUoLxDSEKU1293771171. The server is required to use the server seed that it picked earlier, since the client can later use the previously received server hash to verify this. Therefore, the server has no control over what the final game seed will be, and therefore has no way to manipulate the outcome of your game.

Finally, this game seed is used as the input into the Mersenne Twister algorithm, which creates a random number sequence from an initially ordered deck of cards. This deck of cards is then used to play the next game at Bitcoin Games.

Once the game is finished, the server reveals the server seed that it initially chose. The client can then verify that the hash of this server seed does indeed match what the server originally sent before the game started. Your web browser will automatically verify that everything was legitimate.

Play Now: https://goo.gl/l4QTzN