Verifique qualquer rodada você mesmo.
Toda rodada é comprometida antes de ser jogada e provável depois de encerrada. Esta página explica a checagem em linguagem simples e depois roda a prova, no seu navegador, em uma rodada comprometida, agora. Nada aqui pede que você confie na gente.
Comprometer, revelar, re-derivar
-
Comprometer
Antes de qualquer rodada, o jogo publica o hash final de uma cadeia de seeds. Hashes são de mão única: a sequência inteira de pontos de crash fica travada a partir desse momento. Ninguém consegue reordenar depois, nem a gente.
-
Revelar
Quando a rodada encerra, o seed do servidor vira público. Aplicando o hash para a frente, passo a passo, é preciso chegar ao hash publicado. É a prova de que esse seed exato sempre fez parte da sequência comprometida.
-
Re-derivar
Seu navegador recalcula o ponto de crash a partir do seed revelado e do seed do cliente. Se reproduzir o resultado registrado, a rodada foi justa, e você não precisou acreditar na palavra de ninguém.
Uma rodada comprometida, re-provada nesta página
Abaixo está o vetor nº 1 do corpus dourado comprometido, uma rodada real contra a qual os próprios testes do motor são cobrados. Seu navegador está conferindo com o mesmo módulo aberto que o jogo linka depois de cada rodada. O módulo em si, não uma cópia.
Os dados estão fixados no código-fonte desta página; o corpus de onde eles vêm é público.
Para uma disputa, esta página é a conversa inteira
Quando um jogador questiona uma rodada, não há o que escalar: o link de verificação da rodada re-roda as mesmas checagens que você acabou de ver, no celular dele, contra o compromisso publicado antes de a rodada ser jogada. O suporte roda a checagem idêntica. Um auditor independente dentro do motor já tinha rodado, para cada rodada encerrada, antes de qualquer pergunta. Uma rodada, um link, três partes, a mesma resposta.
Exatamente o que você pode ler, rodar e guardar
- O módulo verificador
verifier_core.mjs— a checagem inteira em um único arquivo, cerca de 3 KB comprimido: caminhada da cadeia, derivação HMAC, a fórmula do crash. Zero dependências, legível em minutos. Licença MIT. Ver código - O driver da página de rodada
verifier.mjs— a lógica de página que roda o módulo contra os seeds revelados de qualquer rodada encerrada. Ver código - O corpus dourado
golden.json— 1.000 vetores comprometidos contra os quais o motor e este verificador são testados, incluindo o que esta página acabou de re-provar. Se o motor e este módulo divergirem em um único vetor, o build falha. O jogo não consegue sair na frente da própria prova. Baixar
Essa é a lista completa. O motor em si não é código aberto, e a graça do desenho é justamente essa: você não precisa dele. O compromisso, os seeds revelados e este módulo bastam para conferir qualquer rodada.
Verificando uma rodada ao vivo
Toda rodada encerrada no jogo tem link para a própria página de verificação,
/verifier?round_id=…, com os seeds revelados e as mesmas checagens
rodando na hora. No jogo, toque em qualquer item do histórico de rodadas. O link já está
lá.