In the “olden days” before the internet, casinos had to demonstrate their trustworthiness to players in order for players to have confidence they were being dealt a fair game. In places such as Nevada, the state also took on this responsibility by providing a regulatory system that ensured casino games are being dealt fairly, and extended the system to various electronic games and slot machines. Bucket shops online and in back rooms still pray on the uninformed and careless, but with greater access to online information, it has become easier for gamblers to find fair games by using an innovative cryptological process called Provably Fair.
What is Provably Fair and how can it be used to prove a game is fair? Provably Fair is a cryptological process that allows players to verify the randomness out an outcome. This is done by using an open source algorithm for random seed generation, hashing, and for the random number generator. Players can use such algorithms to test a game’s response to in-game decisions and evaluate the outcome by only using the published algorithms, seeds, hashes, and the events which transpired during the game. A provably fair game provides players with the tools to have confidence that a game is fair without requiring third-party verification.
The concept of Provably Fair was first implemented by BitZino back in 2012. Bitzino is a bitcoin casino that wanted to prove that its games were fair without having to register with a state based authority. Provably Fair methods do not require bitcoins or other digital currency, but the concept of provably fair matched well with a bitcoin based casino since the digital currency is extra-territorial.
Basically, bitZino deployed a cryptographic hash function (SHA256 algorithm) to create a digital fingerprint of an already shuffled deck. Since the SHA256 hashing algorithm is one-way and there’s no way a player can use that hash to figure out what the shuffle of the deck actually is, the casino can let players look at the hash before the game starts. Two “seeds” of data are needed, one provided by the casino called the server seed and another provided by the player called the client seed. The client seed is typically provided by the player’s browser.
Then, the vitural deck is reshuffled using the Fisher-Yates shuffle algorithm with the random numbers generated from the Mersenne twister algorithm that was seeded with a hash of the combined server seed and client seed. According to bitZino, “The second round of shuffling only serves to ensure that neither the server nor client could possibly know the final deck before the game starts.” Finally, the initial shuffle and the server seed are provided to the player for verification.
The provably fair method used by Bitzino set off a flurry of developments within the bitcoin gambling community. With provably fair technology, it is now a lot cheaper for online casinos to operate fair games since 3rd party verification of game fairness is not required and provably fair gaming also makes it safer for players since we now have the tools to test whether a casino is provably fair, thereby reducing the risk of being cheated. In the wake of provably fair, a group of “provably fair verification” services emerged to make it easier for players with less technical knowledge to test provably fair games.