I thought about whether I should write about this or not, but I decided for it. This has been overly discussed and a frequent topic lately.
Human nature is problematic at admitting faults. People often let their emotions and biases go in front of facts and mathematical proof. It's very easy to just close your eyes and blame someone else for losing a bet, when in fact it was just bad luck and randomness.
A provably fair algorithm solves the trust issue between players and operators by providing a transparent and independent way to verify round results. Therefore, users have a mathematical way of making sure that rounds are randomly generated.
Roulette and Wheel of Fortune
These two RNG game modes work in an identical way.
What we're trying to show here is that the results are already decided BEFORE you place your bet, thus your bet isn't affecting the outcomes.
In fact, the sequence of round results is pre-generated in the beginning of each day, for the whole day. We can prove that by posting an encrypted version of our key, which we reveal at the end of the day.
If there is any flaw in this system or if we would tamper with round results, it would immediately be visible for everyone.
- "It hits whatever color is bet on the least"
- "Don't bet high on Gold, it won't hit while you're doing that"
Even if we DO technically know a round's result in advance, we won't be able to predict the future and see how users would place bets when a specific round hits. Since these are Player vs House game modes, players are not impacted in any way by this.
Duels is a special kind of game mode, since it's Player vs Player but also Player vs House. The regular pre-generating results algorithm isn't 100% efficient here, because if we would know the result of a Duel, we could technically join with a bot only in those Duels that would be profitable for us.
Yes, CSGOWild was exposed for doing exactly that, and it was completely scummy.
In order to keep things impartial for Duels, we needed to find a way to not know the result of a Duel until all participants joined, but also keep it random and verifiable. Therefore, we decided to use the EOS blockchain for this.
EOS is a cryptocurrency that has very often blocks mined by the ecosystem. For comparison, the Bitcoin cryptocurrency has an average of 1 block every 10 minutes, while EOS has 2 blocks every second. This is extremely fast.
Our process is simple. After all the participants joined, we are choosing an unmined EOS block from the very near future (within the next few seconds) and we will use its hash to determine the winner of a duel.
Therefore, this is a 100% bulletproof system in which no one (not even us) knows the result of a duel until all the participants joined it.
For Crash, we decided to pre-generate 10 million round results in advance.
Just like one Bitcoin block's hash is based on the previous block's hash, the Crash rounds are also connected to each other and there is no way to change a specific round from the middle of the chain without changing all of the future rounds from that point forward.
Since this is a Player vs House RNG game mode, even if we know the result of a specific round in advance, we can't alter it or change it in any way without making it immediately visible for everyone, just as for the Wheel/Roulette.
If you are interested of the technical aspects of the provably fair algorithm, there is more information on our website, along with details on how to verify results yourself.
These being said, I hope it's obvious to everyone that we take pride in the fairness of our games and you can be sure that every bet you place on CSGO500 is not tampered with or changed in any way.
If you have any suggestions or comments, feel free to contact me on Twitter.