News

Comprovadamente justo ou gerador certificado

Um gerador certificado pede-lhe fé numa auditoria. O comprovadamente justo dá-lhe um recibo por partida que você mesmo confere. A diferença é esta.

fairnessprovably fairexplainer

Gerador certificado significa que um laboratório independente examinou a certa altura um gerador de números aleatórios e achou o seu resultado estatisticamente sólido. Comprovadamente justo significa que o jogo entrega a cada jogador um recibo criptográfico da sua própria partida, de modo que cada lançamento pode ser recalculado sem confiar em ninguém. Um modelo audita a máquina. O outro prova a sua partida.

Os dois termos aparecem nas páginas de confiança dos jogos online que lançam dados por si, e soam intercambiáveis. Não são. Respondem a perguntas diferentes, partem-se de maneiras diferentes, e a diferença decide o que lhe pedem que acredite quando se senta a jogar.

O que certifica de facto um gerador certificado?

Um laboratório de certificação pega num gerador, passa o seu resultado por baterias de testes estatísticos e caça enviesamentos: números que saem demasiadas vezes, padrões que se repetem, sequências que derivam. Se milhões de amostras parecerem indistinguíveis do acaso, o laboratório assina um certificado. Esse trabalho é real e exige ofício. Estabelece que o gerador, tal como foi testado, produzia naquele dia aleatoriedade sólida.

Repare no que o certificado não consegue ver. Foi emitido num laboratório, e os seus dados são lançados num servidor.

  • Se o código testado é o código implantado, meses e muitas atualizações depois.
  • A cablagem entre o gerador e a sua partida: o código que transforma um número aleatório em bruto no seu 6 e no seu 4.
  • Qualquer lançamento concreto de qualquer partida concreta. A certificação fala do gerador em geral, nunca da sua partida de terça-feira à noite.

Portanto a certificação traz uma segunda cláusula silenciosa: confie que nada mudou desde o teste, e confie que o caminho certificado é aquele que a sua partida realmente percorreu. A maioria dos estúdios cumpre-a. A questão é que não consegue verificar. O modelo é uma inspeção da máquina num instante, seguida de fé na implantação em todos os instantes seguintes.

O que significa comprovadamente justo?

O comprovadamente justo é outro acordo. Em vez de apontar para uma auditoria que nunca viu, o jogo vincula-se à sua própria aleatoriedade antes de começar e depois revela o suficiente para que possa recalcular cada lançamento sozinho. A prova viaja com a partida. Na prática funciona como um envelope selado.

Compromisso. Antes da primeira jogada, o servidor gera uma semente secreta e publica a sua impressão digital SHA-256. A impressão não revela nada sobre os lançamentos que vêm, mas prega a semente ao sítio. Mude um único bit na semente mais tarde e a impressão deixa de encaixar.

Lançamentos. Durante o jogo, cada lançamento é derivado da semente com HMAC-SHA256, um cálculo por lançamento. Os dados ficaram decididos no mesmo instante em que o envelope foi selado. Não se consegue enfiar um número mais simpático a meio da partida sem quebrar o compromisso já publicado.

Revelação. Depois da partida, a semente é revelada. Qualquer pessoa pode fazer-lhe o resumo, compará-lo com o compromisso, recalcular cada lançamento e pôr os resultados ao lado dos dados que apareceram no tabuleiro. Se tudo bate certo, a partida não podia ser dirigida. Se alguma coisa foi mexida, a aritmética di-lo.

A confiança desloca-se da empresa para a aritmética. Já não precisa de acreditar que a auditoria foi minuciosa nem que a implantação foi fiel. Precisa que o SHA-256 aguente, e é o mesmo pressuposto em que o resto da internet se apoia todos os dias.

Um certificado diz que a moeda era justa no dia em que olhámos. Um recibo diz que o seu lançamento foi justo, e mostra as contas.

Então a certificação ainda conta?

Conta. O commit-reveal prova que recebeu exatamente a aleatoriedade a que foi assumido compromisso. Não prova que aquilo a que se assumiu compromisso fosse bom à partida. Uma fonte de sementes fraca ou previsível continuaria a produzir recibos que validam na perfeição: entrega comprovável de dados maus. Julgar a qualidade da fonte é precisamente para o que servem as auditorias e os testes estatísticos, e em setores regulados um certificado é pura e simplesmente obrigatório.

Os dois modelos respondem a perguntas diferentes. Uma auditoria pergunta: essa aleatoriedade é boa? Um recibo pergunta: a minha partida usou-a mesmo? Um sistema só com o primeiro vive de fé perpétua na implantação. Um sistema só com o segundo podia entregar fielmente dados maus e prová-lo. Os sistemas mais fortes fecham as duas portas.

Porque é que uma verificação pública conta?

Porque um recibo que ninguém consegue ler não protege ninguém. Alguns jogos publicam compromissos mas não dão aos jogadores maneira prática de os conferir, ou escondem a verificação dentro da própria aplicação em causa. Aí nenhum círculo se fecha. Se a única ferramenta que pode abonar um sistema pertence a esse sistema, voltou à fé, agora com passos extra.

As montagens mais fortes publicam três coisas. O compromisso, antes da partida. A semente, depois dela. E uma maneira pública e independente de recalcular os lançamentos, que corre fora da aplicação. É por isso que a verificação do Orion vive no navegador, em orion.arthea.ai/verify: sem conta, sem instalação, e a nossa palavra não faz parte da verificação.