Dados imprevisíveis: o que estava errado e o que mudamos
Descobrimos que os dados das partidas on-line podiam, em princípio, ser calculados antes de serem jogados: a semente deles vinha de informações que qualquer jogador pode ver. Não encontramos sinal de que alguém tenha feito isso. Desde 1º de outubro, cada semente vem de um segredo que só o servidor guarda, e a antiga previsão agora acerta uma vez em 36 — puro acaso.

Em palavras simples
Eis o que encontramos. Tudo o que é aleatório numa partida on-line — os dois dados, a carta de Sorte que você tira, o dado do Jackpot — vem de um gerador de números aleatórios, e um gerador precisa partir de uma semente. A nossa era construída com duas coisas que qualquer jogador pode ver: o id da partida, que está na sua barra de endereço, e o número da jogada, que o jogo devolve depois de cada ação. O gerador em si é um código comum e publicado. Junte tudo isso, e alguém que soubesse como poderia ter calculado uma rolagem antes de fazê-la — e, em princípio, até escolhido qual das próximas rolagens receberia.
Verificamos isso em partidas reais, e não na teoria. Das últimas 2,000 rolagens antes da correção, 1,985 — 99.3% — foram exatamente o que aquela informação pública previa.
Alguém se aproveitou disso?
Depois procuramos alguém que estivesse aproveitando isso e não encontramos ninguém. A aposta em que saber a rolagem compensa de forma mais direta é o Jackpot. Nos sete dias anteriores à correção, 2,354 apostas no Jackpot ganharam em 31.4% das vezes, contra os 31.1% que o acaso sozinho prevê, e o histórico de nenhum jogador chamou a atenção.
Perguntas que nos fazem
Os dados do opolyx são justos?
Sim. Nas 247,968 rolagens feitas de 2 a 6 de outubro de 2026, cada face de cada dado saiu entre 16.54% e 16.77% das vezes — um dado perfeito dá 16.67% —, e as duplas saíram em 16.67% das vezes.
Dá para prever os dados do opolyx?
Não — desde 1º de outubro de 2026, não mais. Cada rolagem usa como semente um segredo que só existe no servidor, e a antiga previsão agora acerta 2.76% das rolagens: os 2.78% que adivinhar dois dados às cegas daria.
Alguém se aproveitou da antiga falha nos dados?
Não encontramos nenhum sinal disso. Nos sete dias anteriores à correção, 2,354 apostas no Jackpot ganharam em 31.4% das vezes, contra os 31.1% que o acaso sozinho prevê, e os resultados de nenhum jogador chamaram a atenção.
Onde uma rolagem é decidida?
No servidor do jogo, no momento em que você rola, por um gerador de números aleatórios cuja semente é um segredo que mais ninguém tem. O resultado vai para o registro da partida, e os replays e as estatísticas leem esse registro em vez de rolar de novo.
Para os mais técnicos
A semente era um rótulo, <id da partida>:<número da jogada>, processado pelo hash FNV-1a e entregue ao mulberry32. Essa escolha foi proposital — tornava cada partida reproduzível a partir do próprio registro —, mas a reprodutibilidade nunca precisou que a semente fosse pública. Cada resultado fica gravado no evento que o produziu, e os replays e as estatísticas leem esses eventos em vez de rolar de novo.
// before: anyone who knew the game id and the move number could do this
rng = mulberry32(fnv1a(`${gameId}:${seq}`))
// after: the same label, signed with a key that never leaves the server
rng = mulberry32(uint32(hmacSha256(serverSecret, `${gameId}:${seq}`)))Agora o rótulo passa primeiro pelo HMAC-SHA256, tendo como chave um segredo de 32 bytes que só existe dentro do servidor. Por padrão, o segredo é gerado de novo sempre que o servidor inicia. Nada precisa que ele sobreviva a uma reinicialização, porque nenhuma rolagem passada é recalculada — e um segredo que nunca é anotado em lugar nenhum é um segredo que não pode vazar.
Todo sorteio que decide algo numa partida é assinado assim: os dados, a carta de Sorte, o dado do Jackpot e a escolha de quem joga primeiro.
E os dados são tão justos quanto dados devem ser. Em todas as rolagens desde 2 de outubro — 247,968 delas —, cada face de cada dado saiu entre 16.54% e 16.77% das vezes, contra 16.67% de um dado perfeito, e as duplas saíram em 16.67% das vezes:
| Face | Primeiro dado | Segundo dado |
|---|---|---|
| Face 1 | 16.75% | 16.72% |
| Face 2 | 16.77% | 16.65% |
| Face 3 | 16.56% | 16.61% |
| Face 4 | 16.54% | 16.70% |
| Face 5 | 16.67% | 16.70% |
| Face 6 | 16.72% | 16.62% |
A correção foi verificada nos mesmos termos que o problema. A previsão que antes acertava 99.3% das rolagens foi executada de novo por um dia inteiro depois: acertou 1,388 de 50,212, ou seja, 2.76% — os 2.78% que você esperaria ao adivinhar dois dados às cegas.
