Provably Fair
How it works
Provably Fair is an open system of algorithms that guarantees fairness in all DotaBoom games, making any form of 'rigging' impossible. Every case uses this system, and every user of the site... Read more
How does PF work?
Client Seed — a random value generated on the client side before opening cases or playing in PvP. For PvP, all participants' Client Seeds are combined into one string separated by commas. It is used for hashing the roll (Roll Hash).
Server Seed — a random string generated by our site. It is used to encrypt the Public Hash in conjunction with Server Salt and for calculating rolls in cases and upgrades.
Server Salt — a random string that serves as a secret key. It is used to encrypt the Public Hash in conjunction with the Server Seed.
Public Hash — an encrypted sha256 HMAC string of the Server Seed and Server Salt. It is always visible to you, and after revealing the Server Seed, you can encrypt it with the Server Salt yourself to verify that we did not alter the Server Seed and that everything is fair.
Nonce — a natural number that increases with each roll generation.
Roll Hash — a random string generated using the Client Seed, Nonce, and Beacon in PvP. In cases and upgrades, the Client Seed, Nonce, and Server Seed are used.
For cases
hash_hmac(’sha256’, $clientSeed.’-’.$nonce, $serverSeed)
Roll — a roll hash that is converted into a roll value, which is used to determine the win.
$hex = substr($hash, 0, 7);
$number = hexdec($hex);
$roll = $number % 100000 + 1;
Case verification
- Open your profile and select the item you wish to verify.
- Hover over the “Provably Fair” icon and click “Verify”.
- You will be taken to a page that shows the roll value and the item you received.
- If you want to check the Public Hash, you need to click the “Show Server Seed” button.
- Then click “Server Seed History” and try encrypting the Server Seed and Server Salt yourself in encoder.
- To do this, select “Digest Algorithm” — “sha256”, enter the Server Seed in the top field, and the Server Salt in the “Secret Key” field, then click the “Compute HMAC” button.
- After that, compare the resulting string with the Public Hash, they should match.