Dados comprovadamente justos
Confira cada rolagem
Como funciona
- 1
O servidor trava uma semente
Antes da primeira rolagem, o servidor escolhe uma semente aleatória secreta e publica sua impressão digital SHA-256 (o compromisso). Depois de publicada, a semente não pode mudar sem que a impressão digital mude também.
- 2
Os dois jogadores adicionam a sua
O app de cada jogador envia sua própria semente aleatória quando a partida começa. Assim, o servidor sozinho não poderia ter planejado os dados, nem se quisesse.
- 3
Cada rolagem vem das sementes
A rolagem número k é o HMAC-SHA256 do id da partida, das sementes dos dois jogadores e de k, com a semente do servidor como chave. Bytes enviesados são descartados, então cada face tem exatamente a mesma chance.
- 4
A semente é revelada no fim
Quando a partida termina, a semente do servidor é publicada. Qualquer pessoa pode calcular o hash dela, compará-lo com o compromisso e recalcular cada rolagem, como esta página faz no seu navegador.
roll(k) = HMAC-SHA256(key = serverSeed, "matchId|seedA|seedB|k|c"); byte b < 252 → die = b mod 6 + 1
Verifique qualquer conjunto de sementes
Cole os valores de qualquer partida. Os dados são calculados aqui no seu navegador; nada é enviado para lugar nenhum.