The Proof is in the Play: Exploring Provably Fair Gambling with Insights from BGaming
Provably fair technology has revolutionized online gambling. The concept removes even the tiniest possibility of a rigged result.
With provably fair games, you can verify the authenticity of each game round. This means the casino or game provider can’t manipulate the outcome, because the result is verifiable.
Provably fair games are available at a growing number of online casinos. But how do they work? What is provably fair technology? How do you check the randomness?
I’m here to answer all that and more, starting with the most pressing question:
What is Provably Fair Gambling?
The question on everyone’s lips. If you’re new to the concept of provable fairness, this section’s for you.
In essence:
Provably fair gambling entails playing casino games where you can personally verify the fairness of each round.
Okay, but how does that work, you may ask? I’ll break it down:
How Does the Provably Fair Process Work?
- The Casino Generates a Secret
When you open up a provably fair game, be it a slot machine or crash game, the casino operator generates a unique value’ or code for each game round. This value is called a secret, or “server seed”. A cryptographic hashing function, typically SHA-256, then processes the seed to make sure it’s 100% unique and secure. - You Generate a Seed
Usually, you’ll get to generate your own “client seed” as well. In many cases, it can be a string of numbers or letters of your choosing. Alternatively, most games will auto-generate a unique seed for you to use if you prefer. Your client seed is then taken through the same encryption process as the server seed. Note that some games will automatically generate a client seed for you – you won’t be able to create your own (not ideal, in my book). - The Server Seed and Client Seed Meet
By ‘meet’, I actually mean get scrambled together in a process called ‘hashing’. In the end, you’re left with a final value that actually contains the result of the game you’re about to play. Too bad you can’t decode it beforehand (people have tried and failed, believe me).
And that’s the process – in a nutshell.
It’s an excruciatingly fair system – which works in your favor if you’re as much of a stickler about fairness and transparency as am. The best provably fair casinos have built-in fairness checkers to make the process extra simple and transparent – but I’ll get to that in a minute.
Random Number Generation: The Key to Provable Fairness
I can’t write a complete guide to provably fair gambling without touching on another important element: Random Number Generators (RNG, for short).
To have a truly fair casino game, you need the outcome to be random.
Being able to test fairness using cryptographic algorithms (like those discussed above) is one thing. But for the outcome to be fair in the first place, results have to be completely random.
Cue RNG technology. Here’s how it works:
Imagine you’re rolling a dice.
The number you get, 1-6, is completely random. You have a 1:6 chance of getting 1, a 1:6 chance of getting 2, and so forth.
This applies to every roll. Just because you threw a two on the last round doesn’t mean you can’t do it again. The chance remains 1:6 and neither you, nor the casino, knows what the outcome will be.
The physical dice roll is random by design. Unless you use crooked dice, there is no way to manipulate the outcome.
But what about online casino games? How do they decide the outcome of your dice roll?
One thing is for sure – no hidden casino employee is rolling a dice every time you play a game. Instead, the casino uses a random number generation equation.
Random number generation equations use values of entropy (chaos) like the micro-movements of your mouse to generate a random string of numbers.
In the end:
Cryptographic algorithms and RNG techniques go hand in hand to ensure fairness.
Example of a Provably Fair Algorithm: Stake Originals
I’ve found that most provably fair providers are quite hush-hush when it comes to talking about the nitty-girtty details their algorithms. We know they’re fair, because we can test them on-site or using external programs. But, we don’t always know exactly how they work.
Some providers value transparency above all, like Stake Casino. The platform is more than happy to discuss the details of its provably fair algorithm, so I’ll use it as an example here.
Stake employs a unique method for generating its server-side seed values to ensure game fairness. It uses a ‘gameHash’, akin to a digital key, and applies an HMAC technique to create an additional secure code.
Additionally, Stake integrates a ‘blockHash’, associated with an upcoming Bitcoin block, injecting further randomness into the game’s outcome.
The amalgamation of ‘gameHash’ and ‘blockHash’ results in a complex string, from which the initial characters are extracted to form a server seed. This seed, once merged and hashed with the player’s seed, determines the game’s final outcome.
Stake’s commitment to transparency can be seen in their public seeding events, where they disclose the Bitcoin block used as the randomness source, alongside other critical details such as timestamps, calculation formulas, and the block’s hash.
In the end…
Stake is one of the few providers willing to share the exact details of its provably fair algorithm – I wish more providers would follow suit!
How to Test Fairness Yourself
There are two main methods of checking a provably fair casino game’s fairness. Which route you take depends on the provider or game itself and what tools are available to you.
One is a lot simpler than the other, so I’ll start there:
1. Use Built-In Verification Tools
Some provably fair games make it super easy to verify fairness (like those I discussed above). These games have built-in verification tools. In other words, you do all the testing in one spot.
Let’s use BC.Game’s Ultimate Dice as an example.
Imagine you’ve just bet $1 equivalent in ETH on the game and lost. Now, perhaps feeling some irritation, you want to make sure that the outcome was fair.
Your next step is to click on the lost bet in the top right corner:
This will open up your bet slip. Here, you can expand the ‘Game Details’ tab to find your seed information:
Ready for the final step? Just hit ‘verify’, and a new tab will open with all the verification details. It’s quite a lengthy set of results, so I’ve zoomed in on the most important part:
And there you have it. Proof that the outcome of the dice round was completely fair. It’s hard to be a sore loser when confronted with this information.
Note that this is just BC.Game’s way of doing things, but the process at Stake is very, very similar, for example. Every casino or provider offering verifiably fair games will have a set of instructions you can use to your advantage.
The whole test above took just few seconds, which is why I personally prefer playing provably games with built-in verification over the second route I’m about to take you through.
2. Use Third-Party Encryption Tools
Sometimes you’ll come across a provably fair game with no built-in verification tools. In this event, you’ll need to use a third-party encryption tool, such as this SHA256-based tool.
Pragmatic Play’s Spaceman is one of those games, so it makes the perfect example.
Imagine this: you’ve just bet $11 and didn’t cash out before the Spaceman crashed at 1.47x (sorry for you). Now, you want to make sure the casino didn’t just swindle you.
Click on the round value in the bet history bar on the bottom of the screen (it takes a second to appear). In this case, you’ll wait for the 1.47x option to show up:
This bet slip will pop up, and you’ll need to copy the Result value from the round:
Now, head over to a third-party tool like the one I mentioned earlier. You’ll be greeted by two columns: input and output. Paste the Result value in the input column and hit ‘Encrypt’.
If the value that appears in the output column is the same as the Hash value provided by the game, then you know the round was indeed fair.
In this example, you can see that the two values are identical. Fairness confirmed!
This method takes a bit longer, but it’s still a reliable means to verify fairness.
Whenever you come across a game that claims to be provably fair but has no built-in verification tools, this method should be solid. In any case, be sure to explore the game interface as you’ll probably find a neat guide to checking fairness as well.
Interview with BGaming’s Julia Aliakseyeva
Before writing this article, I had the opportunity to chat with BGaming’s co-chief product officer, Julia Aliakseyeva, about provable fairness. In case you didn’t know, BGaming was the first major iGaming provider to introduce the provable fairness feature to casino games – so I was happy to get right to the source.
Here are a few interesting tidbits from the interview:
Q: Can you walk us through the process that allows players to verify the fairness of a game round?
A: Before the game begins, we calculate the game outcome, known as the Result. A random string, called the Secret, is generated for each round to ensure that the Result remains undisclosed until gameplay. This data is then hashed using the SHA-256 algorithm, resulting in a Hash (Result + Secret), which is provided to the player.
Prior to placing their bet, players have the option to input their own Client Seed or use a number randomly generated by the system.
During gameplay, the Client Seed is applied to the Result to determine the final outcome. The method of applying the Client Seed varies depending on the type of game being played.
Once the round concludes, the Result + Secret and Final Result are provided to the player for verification.
In essence, the game outcome is predetermined before any bets are placed, and the subsequent steps allow players to independently verify the fairness of the game and confirm that their bets do not influence the outcome.
Q: What challenges do you face when designing and developing provably fair games compared to traditional online casino games?
A: Designing and developing provably fair games presents some challenges compared to traditional online casino games.
BGaming must navigate the difficulties of integrating cryptographic algorithms and random number generation techniques to ensure fairness while maintaining high-quality gameplay.
Additionally, the development of provably fair games often demands additional resources and specialized expertise to meet stringent fairness standards.
Q: Are you currently exploring any new innovations to enhance the provably fair gaming experience?
A: We are continually exploring innovations to enhance the provably fair gaming experience, although at the moment, it is not BGaming’s top priority.
However, we remain open to opportunities for improvement and will consider implementing new features or technologies as needed.
Thank you for your time, Julia!
Final Thoughts
Provably fair games give you additional peace of mind. You can check the game’s fairness at any time, and be confident that the game is fair.
But some of these casino games require a little bit more work on your part, as we’ve discovered. You may need to take some time to understand how the game works – and check the Hashes yourself.
That extra effort is worth it, though. And there’s no need to verify every result once you’ve come to trust a game.
Still a bit unsure about some of the topics I’ve discussed today? Check out the glossary of terms below for some extra guidance.
Provable Fairness Glossary of Terms
Provable fairness can be a tricky concept to grasp – especially with all the weird and wonderful jargon flying around. So to makes things a bit simpler, here’s a list of some relevant terms and what they mean.
Client Seed
The client seed, a customizable string or number, is supplied by you, the player, or auto-generated on your device. Changeable before the start of the game, it pairs with the server seed to define the game’s outcome. This ensures your participation and safeguards against server manipulation.
Secret/Server Seed
The secret, also known as server seed, is a hidden value generated by the game server. It’s not revealed to the player until after the game has ended, naturally, so the outcome can’t be predicted beforehand.
Nonce
A number that increases with each bet or game played, making sure that each game’s result is unique. It’s typically used to modify the server seed for each game, guaranteeing the same combination of server seed, client seed, and nonce is never used twice.
SHA-256
The SHA-256 algorithm is like a complex code machine used in provably fair games. It takes information, like game seeds, and scrambles it into a unique, fixed-size code. This ensures game results haven’t been messed with. If someone tries to change the game’s data, the code changes drastically.