The Cryptographic Triad of Provable Fairness
In traditional online gaming, players must place blind trust in the casino’s regulatory seal. In contrast, Provably Fair architecture replaces institutional trust with cryptographic verification.
The entire system relies on the interaction between three fundamental cryptographic primitives: the Server Seed, the Client Seed, and the Nonce.
1. The Server Seed (The Casino’s Commitment)
The server seed is a 256-bit cryptographically secure pseudo-random string generated by the operator’s server:
- Before any player places a bet, the server calculates: $$\text{Commitment} = \text{SHA-256}(\text{Server Seed})$$
- The commitment hash is published to the player interface. Because cryptographic hash functions are strictly one-way (pre-image resistant), players cannot reverse-engineer the original seed, but the casino cannot alter it later without changing the hash.
2. The Client Seed (The Player’s Entropy)
The client seed is an arbitrary string provided by the player’s browser or device:
- Players can input custom text, randomize the seed, or let their browser generate a Web Crypto API token.
- By injecting player-generated entropy into the outcome equation, the casino cannot pre-calculate winning or losing rounds, even though they know their own server seed.
3. The Nonce (The Sequential Counter)
The nonce is a simple integer counter that starts at 0 and increments by +1 with every bet placed under the active seed pair.
- The nonce ensures that every consecutive bet generates a unique, distinct outcome without requiring the generation of a new server/client seed pair for each round.
When these three elements are combined via HMAC-SHA256, they produce an unalterable, deterministic outcome that guarantees absolute mathematical fairness.