A SpyDrop usa o algoritmo Provably Fair para que qualquer jogador possa verificar a justiça de um jogo. O resultado de uma caixa ou de um upgrade é definido por uma seed do servidor fixada de antemão, pela sua seed do cliente e pelo número do jogo, então ele não pode ser manipulado depois que o jogo começa.
Antes do jogo você vê o hash da seed do servidor, então o servidor não pode mais trocar os dados de origem sem que você perceba.
Sua seed e o número do jogo participam do cálculo, então o resultado não é formado só pelo servidor.
Informe os dados de um jogo. O cálculo é feito no seu navegador e nada é enviado ao servidor.
Preencha os dados do jogo e toque em “Verificar”: o número sorteado e o item aparecerão aqui.
Seed do servidor + Sua seed + Número do jogo = Resultado justo
O servidor escolhe uma seed do servidor aleatória e mostra apenas o hash SHA-256 dela. Depois disso a seed não pode ser trocada: o hash deixaria de conferir.
Para cada jogo é calculado um HMAC-SHA256. A chave é a seed do servidor como uma string hex de 64 caracteres, exatamente como está, sem decodificar em bytes. A mensagem é montada com o tipo de jogo, o jogo, a sua seed do cliente e o número do jogo.
Os primeiros 8 caracteres hex do hash dão um número de 0 a 4.294.967.295. Dele sai o ticket de 1 a 100.000.000: floor(número × 100.000.000 / 2^32) + 1.
Na tabela de chances no momento do jogo, cada item tem o seu intervalo de tickets. Sai o item em cujo intervalo o ticket cair.
O limite é floor(chance × 100.000.000). O upgrade vence se o ticket não for maior que o limite.
A seed do servidor é revelada quando você troca as seeds. Depois disso, qualquer jogo do par pode ser recalculado no navegador, nesta página, ou com o seu próprio código.
A chave é a string hex da seed do servidor como está (64 caracteres), e não os bytes decodificados dela. É aqui que a maioria das verificações feitas por conta própria dá errado.
Você pode verificar um jogo já realizado com o botão “Verificar” no histórico de caixas e upgrades.