avatar
Daniel C. White
03.03.2021

What is Provably Fair and How it Works?

The idea behind Provably Fair is that players can verify the randomness of each round themselves and even contribute to the result. In ordinary games, you need to completely trust the developer and auditors, but this case is different. The player can make sure that they are not being deceived at any time.

This system has a lot of terms. Secrets, hash, algorithms, signatures, etc. It is difficult, at least for players who are not good in such issues, so I will tell you the Provably Fair principle avoiding specific terms where possible.

How does Provably Fair work?

Random sequences are generated on the server that determine the outcome of the future game even before it is started. If the players are provided with the result of the future game in its original form, they can read it and find out what will happen in the next round.

For example, AS:JH:TC:2D:2D:7C… in baccarat would mean that the player is dealt Ace Spades (AS), and the banker is dealt Jack Hearts (JH); the second card dealt to the player is Ten Clubs (TC), and the banker is dealt 2 Diamonds (2D), etc.

Therefore, a random number, called a “secret”, is added to the code. This secret will prevent players from reading the result. The result and the secret are encrypted and offered to the player in this form.

By this time, your luck is already preset and encrypted in this sequence. You just need to press the Start button to find out what will happen. After the round is played, an additional line “Final result” appears to display an already decoded sequence that determined the result of the round.

To verify the fairness of the game, you can simply click on the “Verify” button at the bottom of the screen or copy the data from the Result + Secret section and paste it to a third-party resource, such as Quickhash, in the Input Date window. Select SHA-256 in the Algorithm section and click the Generate button. As a result, you should get exactly the same hash code that the casino gave you before the game. If it matches, the results are fair.

Why does a hash code match mean fairness?

The hash code changes if any changes are made to the files. If initially there was one code, but you received a different hash code after entering the Result + Secret data on a third-party resource, this means that some changes were made – i.e., the result of the round is not what it should have been.

About this theme
Tawdry Tales About BetSoft: Facts and Suspicions

Provably Fair game developers

The option to verify the game fairness is offered only at Bitcoin casinos. Moreover, not all games can be checked this way. There are special developers who specialize in Provably Fair games. This means that games from NetEnt, Microgaming and many other well-known studios won’t offer this feature.

Players need special games produced by individual developers like Bgaming. It was the first major developer to specialize in Provably Fair games. To be honest, I do not know other developers. If you do, please leave information in the comments.

Bgaming has 40+ games in its collection, including cards, table games, slots and other products. But some of the games cannot be tested for fairness.

How the player influences the game results

Players are allowed to contribute to determining the final result. Let’s consider Cherry Fiesta slot machine as an example. You can see the section “Enter client seed” at the very top in the screenshot below. You can enter your values for each reel there. These values will influence the spin result.

How does it work? Get the reels rolling. When they stop, copy the data from the Final result section. This is what you actually see on the screen of the slot machine. Here is the code that matches the screenshot below.

{“symbols”:[[“q”,”t”,”peach”,”raspberries”,”apple”],[“pear”,”k”,”raspberries”,”pear”,”t”],[“n”,”n”,”q”,”a”,”n”]],”card”:”3S”}

Each sequence separated by square brackets [“q”,”t”,”peach”,”raspberries”,”apple”] is a line of symbols. There are only three lines – respectively, there are three sequences. Each line contains the following symbols: “q” for queen, “t” for ten, peach, raspberries and apple. As you can see, the results on the screen and by code match.

Next, copy the sequences from the Result + Secret section. This is a set of sequences, from which the symbols were chosen for the final result, like many lottery balls to choose from. The final result was formed from these sequences and the number entered by the player (Client seed). In our example, this number is 19,714. Let’s figure out how this happens.

When you copy Result + Secret, there are 12 sequences, each consisting of 5 slot machine symbols. For example, [“girl”,”peach”,”t”,”n”,”k”] means that a girl, a peach, ten (t), nine (n) and a king (k) fall in line. When you enter your Client seed number, you give an indication from which sequence to take a symbol to form one line on the screen.

Let’s separate 12 sequences copied from Result + Secret for convenience and number each of them, starting from 0 to 11. This is what we get:

{“symbols”:[

[“girl”,”peach”,”t”,”n”,”k”], (0)

[“q”,”a”,”apple”,”raspberries”,”t”], (1)

[“pear”,”q”,”k”,”pear”,”q”], (2)

[“n”,”n”,”peach”,”a”,”n”], (3)

[“a”,”j”,”n”,”basket”,”apple”], (4)

[“plum”,”t”,”raspberries”,”k”,”t”], (5)

[“k”,”pear”,”j”,”t”,”n”], (6)

[“a”,”q”,”peach”,”a”,”a”], (7)

[“raspberries”,”j”,”raspberries”,”q”,”q”], (8)

[“apple”,”t”,”q”,”pear”,”t”], (9)

[“q”,”k”,”k”,”n”,”j”], (10)

[“pear”,”n”,”j”,”j”,”a”] (11)

],”card”:”3D”,”game”:”CherryFiesta”,”secret”:”37001fc2aabb16d559bcb9e33f03e7d9″}

The first line of game symbols on the screen was formed using this principle. The first digit is taken from the number 19,714 (Client seed), which is 1. This means that the first symbol in the first line will be the first symbol from sequence 1, i.e. [“q“,”a”,”apple”,”raspberries”,”t”]. It is a queen.

The second symbol is taken from sequence 9 (since the second digit of the Client seed is 9 – 19,714). In this sequence, take the second symbol [“apple”,”t“,”q”,”pear”,”t”]. The third symbol from sequence 7 (since the third digit of the Client seed is 7 – 19,714) [“a”,”q”,”peach“,”a”,”a”] is a peach. The fourth symbol is taken from sequence 1 [“q”,”a”,”apple”,”raspberries“,”t”], and the fifth symbol is taken from sequence 4 [“a”,”j”,”n”,”basket”,”apple“]. We get the following first line: queen, ten, peach, raspberries, apple.

This slot has three lines. The Client Seed number entered by the player determines the symbols in the other two lines as well. Sequence 0 simply should be crossed out, and all the sequences renumbered. As such, the row originally numbered 1 is now numbered 0. The rest of the procedure is similar. For the third line, cross out one more top sequence, and 0 goes even lower.

For example, the first symbol for the second line is taken from the sequence originally numbered 2, which is [“pear“,”q”,”k”,”pear”,”q”]. The first symbol for the third line is taken from the sequence originally numbered 3, which is [“n”,”n”,”peach”,”a”,”n”].

Digits 0 to 9 are allowed in the Client Seed number. Since upper sequences are removed for the second and third lines, 12 sequences are initially formed, not 10 (from 0 to 9).

Conclusion

The system seems fairly interesting, especially if you consider that the number entered by the player can influence the result. An example with slots is provided above. It is also suggested to enter the Client Seed in roulette and card games.

But does Provably Fair games really prevent any kind of cheating from the developer or casino? What do you think?