How It Works
At the start of a game you (the client
) are auto-assigned a random seed that you can use or change to whatever you'd like. The game (the server
) also generates a random seed which it keeps private. The server seed is then cryptographically hashed and shown to the client before a game round takes place.
After the game round takes place the server seed (which was used to generate the hash) is revealed to the client. Once this is obtained the player can confirm that the server did indeed use this server seed to generate the hash from the previous round. Additionally, the client seed was used in conjunction with the server seed to generate the results that were used for that round, as evidenced by both the client seed and server seed producing the exact same result that was used in the game.
This same process repeats over and over again before and after each round. Before each round you will be presented with the hashed server seed which will be used for the next round. After that round you will be revealed the server seed used to generate that hash. If the hashes match, and the result is the same result you got in the game, then the outcome was provably fair.
Types and Min/Max
Different games require a different random number type
. For example, a dice game may require a single number
between 0 and 10,000 where a card game like Blackjack may require a shuffle
which returns 52 random values which are then assigned to each unique card. For this reason there are different types of provably fair numbers which can be generated. Each type has a minimum value
and a maximum value
to be set depending on the range of values desired.