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.

Como a checagem funciona

Comprometer, revelar, re-derivar

  1. 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.

  2. 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.

  3. 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.

Rodando agora, no seu navegador

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.

Vínculo da cadeiaConferindo SHA-256​999(seed) contra o hash publicado…
Ponto de crash re-derivadoRecalculando o ponto de crash a partir dos seeds…

Os dados estão fixados no código-fonte desta página; o corpus de onde eles vêm é público.

O que isso vale

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.

O que é aberto

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.

Dentro do jogo

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á.