Vamos nos tornar um pouco técnicos agora. Em termos leigos, um jogo comprovadamente justo é aquele em que os resultados não são gerados por apenas uma parte, como os servidores do operador do jogo, mas por vários participantes. Todas as entradas são combinadas, com hash e compartilhadas antes que o resultado seja determinado.

Talvez seja mais fácil explicar isso com um exemplo, portanto, usaremos o Aviator como nosso guia.

O Aviator faz com que você faça apostas e tente sacar seu dinheiro antes que o “avião voe” em um determinado número aleatório (o multiplicador). Seu prêmio é baseado nesse multiplicador.

Um algoritmo comprovadamente justo gera uma “semente de servidor” de 16 símbolos aleatórios antes de cada rodada. Em seguida, ela é criptografada, ou hash, e a semente do servidor resultante (SHA256) é disponibilizada publicamente antes do início de cada rodada. Explicaremos como verificar se o resultado do seu jogo foi de fato comprovadamente justo mais adiante.

Por outro lado, as “sementes do cliente” são criadas pelos navegadores dos jogadores. Por exemplo, no jogo, o Aviator usa três client seeds dos três primeiros indivíduos que jogam naquela rodada para fazer uma aposta.

Quando os três primeiros jogadores de uma rodada fazem uma aposta, eles também são parcialmente responsáveis pelo resultado do jogo. Os clientes podem alterar suas sementes de cliente e, às vezes, é recomendável que o façam.

A semente do servidor e a semente do cliente são misturadas para formar um hash SHA512, que é o que determina o resultado do jogo.