Jogos provably fair, explicados de forma simples
Como seeds do servidor, seeds do cliente e nonces permitem conferir que um cassino cripto não manipulou a sua aposta. Com a história, a matemática, as vantagens da casa e onde o sistema já falhou.
O que provably fair realmente verifica
Provably fair (comprovadamente justo) permite conferir, depois de uma aposta, que o cassino não mudou o resultado depois que você a fez. Essa é toda a promessa. É uma promessa estreita, e mesmo assim útil.
O mecanismo é um compromisso. Antes de você apostar, o cassino mostra um hash de uma seed do servidor secreta. Você fornece uma seed do cliente sua, e cada aposta recebe um nonce, que é só um contador. Depois, o cassino revela a seed do servidor. Você confirma que ela bate com o hash que viu e então recalcula seus resultados a partir dessas três entradas. Se tudo bater, a rodada não foi mexida depois da sua aposta.
O que isso não diz é se o jogo vale a pena, qual é o tamanho da vantagem da casa ou se o cassino vai pagar. Voltamos a esses pontos mais adiante.
De onde veio a ideia
Provably fair é tão antigo quanto o próprio jogo com Bitcoin. A tabela abaixo é a história resumida. Cada data vem dos anúncios originais ou de um estudo revisado por pares.
| Quando | O que aconteceu |
|---|---|
| abr 2012 | O SatoshiDice é lançado. O resultado de cada aposta é um hash da transação da aposta mais um segredo com o qual o site se compromete antes. Nasce a ideia de conferir um cassino com um hash |
| 2012 a 2013 | Pesquisadores da UC San Diego contam 4,127,979 apostas no SatoshiDice. O jogo responde por 30% a 40% de todas as transações pequenas de Bitcoin na rede |
| jun 2013 | O Just-Dice é lançado com 1% de vantagem da casa e as três entradas que hoje são padrão. Seed do servidor, seed do cliente e nonce. No primeiro mês, 429,600 BTC são apostados |
| jul 2013 | O SatoshiDice é vendido por 126,315 BTC, cerca de $11.5 milhões na época |
| set 2014 | Jogadores conferindo suas rolagens pegam o DiceBitco.in pulando números vencedores. O site admite “código malicioso”. O primeiro caso bem documentado da verificação funcionando |
| jan 2018 | O bustabit gera 10 milhões de resultados de crash como uma cadeia de hashes e os salga com um bloco do Bitcoin que ainda não foi minerado. Todo grande jogo de crash copia isso |
| jul 2019 | A Stake semeia seu jogo de crash do mesmo jeito, usando o bloco 584,500 do Bitcoin |
| set 2025 | A cadeia mais recente do bustabit tem 100 milhões de hashes, salgada com o bloco 917,000 |
As fontes são o artigo do IMC 2013 de Meiklejohn e colegas, o post de lançamento do Just-Dice, a reportagem da CoinDesk sobre a venda, a Cointelegraph sobre o DiceBitco.in e os posts de seeding do bustabit de 2018 e 2025.
Seeds, hashes e o nonce
A seed do servidor e o hash dela
A seed do servidor é uma longa sequência aleatória gerada pelo cassino. Na Shuffle, cuja documentação de fairness é a mais clara que encontramos, ela é uma sequência hexadecimal de 64 caracteres. Ela precisa ficar em segredo enquanto você joga, porque quem a conhece consegue calcular os resultados que estão por vir.
O que o cassino publica no lugar dela é um hash SHA-256 da seed. Um hash é uma impressão digital de tamanho fixo. Fácil de calcular a partir da seed, mas na prática impossível de fazer o caminho inverso, e não dá para encontrar outra seed que produza o mesmo hash. O NIST, o órgão de padrões dos EUA, coloca assim na especificação oficial. Qualquer mudança na entrada vai, “com probabilidade muito alta”, mudar a saída, e é “computacionalmente inviável” encontrar uma entrada que corresponda a um hash dado. Um envelope lacrado é a comparação mais próxima do dia a dia. Publicar o hash prende o cassino a uma única seed sem mostrar a você qual é.
Quão inviável? Um hash SHA-256 tem 2 elevado a 256 valores possíveis. Escrito por extenso, é um número de 78 dígitos. O educador de matemática 3Blue1Brown calculou que quatro bilhões de cópias da Via Láctea, cada uma com quatro bilhões de Terras, cada uma com quatro bilhões de computadores chutando quatro bilhões de vezes por segundo, ainda precisariam de 37 vezes a idade do universo para ter uma chance em quatro bilhões de acertar.
A sua seed do cliente
A seed do cliente é o seu lado do acordo. A maioria dos cassinos preenche uma aleatória e permite que você a altere na página de fairness. O cassino se compromete com a seed do servidor antes de conhecer a sua seed do cliente, então não consegue escolher uma seed do servidor que funcione contra a sua.
Alterá-la não custa nada e não faz mal nenhum. Muitos jogadores definem a própria, só para saber que não foi o cassino que a escolheu por eles. Já em 2014, o fundador do Just-Dice alertou que qualquer site provably fair pode trapacear os jogadores que não dão esse passo.
O nonce
O nonce aumenta em um a cada aposta que você faz com o mesmo par de seeds. As seeds ficam fixas. O nonce é o que faz a aposta 1, a aposta 2 e a aposta 3 terem resultados diferentes.
Como as seeds viram uma rolagem de dado ou um ponto de crash
Cada cassino documenta o próprio método, então leia a página de fairness ou “provably fair” do jogo que você está jogando de fato. Veja o que os grandes dizem que fazem.
| Cassino | Como ele mistura as seeds | Onde ele diz isso |
|---|---|---|
| Shuffle | HMAC-SHA256 com a seed do servidor como chave e clientSeed:nonce:round como mensagem. A saída de 32 bytes é cortada em oito pedaços de 4 bytes, cada um transformado num número entre 0 e 1 | Central de ajuda da Shuffle |
| Stake | O mesmo desenho. As páginas da própria Stake ficam atrás de uma verificação antibot, então não conseguimos lê-las na última tentativa, mas verificadores de código aberto reproduzem o método, e as páginas da Shuffle descrevem o esquema idêntico | As páginas de fairness da Stake e o post de seeding do crash de 2019 |
| BC.Game | SHA-256 ou SHA-512 simples da seed do servidor, da seed do cliente e do nonce juntados. O Classic Dice pega os 8 primeiros caracteres hex, o Hash Dice os 5 primeiros | Central de ajuda do BC.Game |
| bustabit (crash) | Uma cadeia de 100 milhões de hashes SHA-256, cada um o hash do seguinte. Cada resultado é o HMAC-SHA256 do hash do jogo, com o hash de um bloco do Bitcoin como chave | Post de seeding, setembro de 2025 |
| Duel | Seed do servidor, seed do cliente e nonce, com o hash SHA-256 da seed do servidor mostrado antes da aposta | Página de fairness da Duel, mostrada abaixo |
Depois que o cassino tem um número entre 0 e 1, ele mapeia esse número para o jogo. A página de eventos de jogo da Shuffle detalha cada mapeamento, e a maioria dos cassinos no estilo Stake usa os mesmos.
| Jogo | Como o número vira um resultado |
|---|---|
| Dice | Multiplica por 10,001, arredonda para baixo, divide por 100. Isso dá 10,001 rolagens possíveis, de 0.00 a 100.00 |
| Limbo | Divide 1 pelo número e multiplica por 0.99. O 0.99 é a vantagem da casa de 1%, embutida na própria fórmula |
| Crash | Mesma ideia, aplicada a um hash da cadeia gerada com antecedência. O 0.99 aparece aqui também |
| Plinko | Um número por fileira. Abaixo de 0.5 a bola vai para a esquerda, acima vai para a direita |
| Mines | Um número por mina, cada um escolhendo entre as casas ainda livres |
| Keno | Dez números, cada um escolhendo entre os 40 quadrados ainda não escolhidos |
| Roleta | Multiplica por 37 e arredonda para baixo |
| Wheel | Multiplica pelo número de segmentos e arredonda para baixo |
O que torna tudo isso verificável é ser determinístico. Mesma seed do servidor, mesma seed do cliente, mesmo nonce, mesmo resultado, sempre. Então você, ou qualquer outra pessoa, pode refazer o cálculo e chegar à mesma resposta a que o cassino chegou.
Por que nada pode ser conferido até você trocar a seed
Você não consegue verificar uma aposta enquanto a seed do servidor dela ainda está em uso, porque o cassino ainda não a revelou. Se revelasse, você conseguiria prever seus próximos resultados.
Por isso, funciona em ciclos. O cassino mostra o hash da seed do servidor atual, e você faz quantas apostas quiser com ela (nonce 1, 2, 3 e assim por diante). Quando você troca ou altera o par de seeds, normalmente com um botão na página de fairness, o cassino revela a seed do servidor antiga e se compromete com uma nova, mostrando a você o novo hash. Só então você pode conferir as apostas feitas com a seed antiga.
Um cassino que nunca deixa você trocar a seed, ou nunca revela as seeds antigas, não dá nada para você verificar. Nesse ponto, “provably fair” é um rótulo e pouco mais que isso.
Jogos de crash e o hash do bloco do Bitcoin
Jogos de crash funcionam um pouco diferente, porque o cassino precisa de um resultado por rodada para todos os jogadores ao mesmo tempo. Então o site gera milhões de resultados com antecedência. Ele escolhe um segredo aleatório, faz o hash dele para obter o resultado seguinte, faz o hash desse para obter o próximo, e assim por diante, 10 milhões de vezes na Stake, na Shuffle e no BC.Game, e 100 milhões de vezes no bustabit. Depois, ele percorre a cadeia de trás para frente, publicando o hash de cada rodada depois que ela termina. Como cada hash é o hash do seguinte, você pode conferir que a rodada 5,000 veio mesmo depois da rodada 5,001.
Isso ainda deixa um buraco. O cassino poderia gerar algumas cadeias e ficar com a que paga menos. A solução, que o bustabit introduziu em janeiro de 2018, é anunciar o número de um bloco futuro do Bitcoin e depois misturar o hash desse bloco em cada resultado. Ninguém pode saber o hash de um bloco antes de ele ser minerado, então ninguém poderia ter escolhido uma cadeia que combinasse com ele. Como o bustabit disse ao anunciar o bloco 505,750, o bloco “ainda não foi minerado”, então a cadeia não poderia ter sido escolhida para prejudicar os jogadores.
| Cassino | Tamanho da cadeia | Bloco do Bitcoin usado como sal público | Anunciado em |
|---|---|---|---|
| bustabit | 10,000,000 | 505,750 | janeiro de 2018 |
| Stake | 10,000,000 | 584,500 | julho de 2019 |
| Shuffle | 10,000,000 | 779,588 | 2023 |
| bustabit (cadeia atual) | 100,000,000 | 917,000 | setembro de 2025 |
| Degen | não informado | 931,850 | maio de 2026 |
Se um jogo de crash não informa o hash final da cadeia e o bloco que usa, você não consegue conferi-lo, diga o selo o que disser.
Como conferir uma aposta você mesmo
- Antes de jogar, abra a página de fairness e guarde o hash da seed do servidor em algum lugar fora do cassino, como captura de tela ou numa nota copiada.
- Anote a sua seed do cliente e o nonce de qualquer aposta que quiser conferir. A maioria dos históricos de apostas mostra o nonce.
- Troque a seed para que a seed do servidor antiga seja revelada.
- Calcule o hash SHA-256 da seed do servidor revelada e compare com o hash que você guardou. Ele precisa ser idêntico, caractere por caractere.
- Recalcule o resultado usando o método documentado pelo cassino, a seed do servidor revelada, a sua seed do cliente e o nonce. Compare com o seu histórico de apostas.
O passo 1 é o que as pessoas pulam, e é o que importa. Se você só olha o hash depois da revelação, está confiando no registro do próprio cassino sobre aquilo com que ele se comprometeu.
Para os passos 4 e 5, você tem três opções. O verificador do próprio cassino é o mais rápido, mas você está conferindo o cassino com a ferramenta do cassino, e, se for só isso que você usa e você nunca guardou o hash por conta própria, você não conferiu nada de forma independente. Alguns sites e projetos de código aberto oferecem verificadores independentes para os cassinos populares. Se usar um deles, confira se o código é público e se segue o método documentado pelo cassino. Ou você pode fazer isso no seu próprio computador. A verificação do compromisso não exige nenhuma ferramenta especial, como mostra o exemplo abaixo. Recalcular o resultado também exige as regras de mapeamento do cassino, que normalmente são publicadas como código na página de fairness.
Se o hash não bater, ou se você não conseguir reproduzir um resultado, guarde capturas de tela do hash, das seeds e do seu histórico de apostas, fale com o suporte por escrito e denuncie o cassino para nós.
Um exemplo prático (apenas ilustrativo)
As seeds aqui foram inventadas para este guia, e o mapeamento do passo 3 é um método simples que escolhemos para mostrar a ideia. Ele não é o método real de nenhum cassino.
- Seed do servidor:
illustrative-server-seed-2026 - Seed do cliente:
my-client-seed - Nonce:
1
Passo 1, o compromisso. Antes do jogo, o cassino mostraria a você este hash SHA-256 da seed do servidor.
printf %s 'illustrative-server-seed-2026' | shasum -a 256
e6c2b1425c56b64f9847f184450362891617d4ce56a4973092d1ba2baaa21f67
Depois da revelação, você roda o mesmo comando com a seed revelada. Se obtiver exatamente este hash, você sabe que o cassino usou a seed com que se comprometeu.
Passo 2, o HMAC da aposta. A seed do servidor é a chave, e my-client-seed:1 é a mensagem.
printf %s 'my-client-seed:1' | openssl dgst -sha256 -hmac 'illustrative-server-seed-2026'
74ea9ea8fbb537866e0415595fa20713580421d0429b92137a74abc285c4cd94
Passo 3, transformar em um resultado. No nosso jogo de dados inventado, pegamos os 8 primeiros caracteres hexadecimais (74ea9ea8), convertemos em um número (1,961,533,096), ficamos com o resto da divisão por 10,000 (3,096) e dividimos por 100. A rolagem é 30.96.
Na aposta 2, a mensagem passa a ser my-client-seed:2, o que gera um hash completamente diferente e um resultado diferente.
Mude um único caractere de qualquer entrada e a saída muda por completo. É por isso que o cassino não consegue ajustar um resultado sem que a verificação falhe.
Como é a vantagem da casa
Provably fair não diz nada sobre as probabilidades. As regras de mapeamento é que as decidem, e os cassinos publicam os números. Veja o que os principais operadores declaram para os próprios jogos.
| Jogo | Vantagem da casa declarada | Quem diz isso |
|---|---|---|
| Dice | 1% | Shuffle, BC.Game, Stake, Just-Dice desde 2013 |
| Crash | 1% | Shuffle, BC.Game, Stake, bustabit |
| Limbo | 1% | Shuffle, Stake |
| Plinko | 1% nos tabuleiros padrão, mais alta nos tabuleiros “extreme” da Rollbit | Shuffle, Stake, Rollbit |
| Mines | 1% | Stake |
| Roleta | 2.70% | Stake |
| X-Roulette | 5% | Rollbit |
| Bacará | 1.10% | Stake |
| Blackjack | 0.57% | Stake |
| Slots de terceiros | Normalmente 4% a 8%, ou seja, retorno de 92% a 96% | Números do setor, que você não consegue conferir |
Com o tempo, a vantagem da casa faz os jogadores perderem dinheiro, com jogo justo ou não. Uma vantagem de 1% é baixa para os padrões de cassino, mas em 10,000 apostas de $1 ainda dá cerca de $100 para a casa.
Onde o provably fair para
Ele responde a uma única pergunta estreita. O resultado desta rodada foi definido antes da sua aposta e deixado intacto depois? Todo o resto fica de fora.
A brecha da escolha de seeds
A verificação prova que a seed do servidor não mudou. Ela não consegue provar que o cassino a escolheu de forma justa. Se um site gera uma nova seed do servidor para cada aposta, ou define a sua seed do cliente sem você perceber, ele pode testar seeds até achar uma que perde e então se comprometer com ela. O hash vai bater perfeitamente. Jogadores notaram isso já em 2014, e o próprio blog do BC.Game disse o mesmo em 2020. Um cassino “não precisa mudar a seed do servidor para trapacear”.
A defesa é simples. Defina a sua própria seed do cliente, mantenha uma mesma seed do servidor por muitas apostas e desconfie de qualquer jogo que troca a seed do servidor a cada aposta sem um bom motivo.
Slots e jogos ao vivo
A maioria dos slots também fica de fora. Eles vêm de estúdios externos (veja nossos provedores de jogos) e não são provably fair. Em vez disso, dependem de geradores de números aleatórios testados por laboratórios independentes como eCOGRA, GLI e iTech Labs. Só a GLI diz ter certificado quase dois milhões de itens desde 1989. Jogos com crupiê ao vivo usam cartas e roletas reais diante da câmera, então também não há seed para conferir ali. Nos dois casos, você está confiando no estúdio, nos testes dele e na licença, e não em uma verificação que você mesmo possa fazer.
Os retornos dos slots também estão caindo. A imprensa especializada do setor noticiou em abril de 2026 que os retornos padrão dos slots tinham passado de cerca de 96% para 94%, com versões de 92% agora comuns, e Malta permite que jogos remotos cheguem a 85%. Um jogo de dados provably fair com 1% é um negócio muito melhor, se você precisa mesmo jogar.
Receber o pagamento
Depois, há a questão de receber. Um cassino pode ter jogos perfeitamente justos e ainda assim atrasar ou recusar saques. Se é nessa situação que você está, veja o que fazer se um cassino não pagar.
Jogos justos também não tornam um operador legítimo. Verifique a licença no registro do próprio regulador.
Como usamos isso nas nossas análises
Nas nossas análises de cassinos, só marcamos um cassino como provably fair se pelo menos parte dos jogos dele publicar seeds que você possa conferir. Isso conta para a nossa nota de “termos justos”, como um fator entre vários. Segurança e licenciamento, assim como pagamentos e velocidade de saque, pesam mais na avaliação geral, porque são eles que decidem se você de fato recebe o seu dinheiro.
Seja o que for que você jogue, defina um orçamento antes e considere gasto tudo o que depositar. Se o jogo deixar de ser diversão, veja a nossa página de jogo responsável.
Perguntas frequentes
Provably fair significa que eu vou ganhar?
Não. Provably fair prova que o resultado não foi alterado depois da sua aposta. O jogo continua tendo vantagem da casa, normalmente 1% em dice, crash, limbo e plinko, então, com o tempo, você ainda deve esperar perder dinheiro.
Por que não consigo verificar minhas apostas na hora?
Porque a seed do servidor do cassino fica em segredo até você trocá-la. Se você pudesse vê-la durante o jogo, conseguiria prever seus próximos resultados. Troque a seed (normalmente há um botão na página de fairness) e a seed antiga é revelada, para que você confira todas as apostas feitas com ela.
Os slots dos cassinos cripto são provably fair?
Normalmente não. A maioria dos slots vem de estúdios terceirizados e usa um gerador de números aleatórios testado por um laboratório independente como eCOGRA, GLI ou iTech Labs. As verificações provably fair costumam cobrir os jogos próprios do cassino, como dice, crash, mines ou plinko. Olhe a página de fairness de cada jogo para ter certeza.
Quem inventou o provably fair?
A ideia vem do SatoshiDice, um jogo de dados em Bitcoin lançado em abril de 2012. Ele publicava o hash de um segredo com antecedência e liquidava as apostas com ele. O Just-Dice, lançado em junho de 2013 com 1% de vantagem da casa, tornou padrão o esquema de seed do servidor, seed do cliente e nonce. Em 2018, o bustabit acrescentou o truque de salgar os jogos de crash com um bloco do Bitcoin que ainda não tinha sido minerado.
Qual é a vantagem da casa nos jogos provably fair?
A maioria dos jogos próprios de dice, limbo, crash, plinko e mines roda com 1% de vantagem da casa, o que significa 99% de retorno ao jogador. Jogos no estilo cassino são mais altos. A Stake lista a roleta em 2.70%, e a X-Roulette da Rollbit roda em 5%. Para comparar, os slots normalmente devolvem cerca de 94% a 96%, e você não consegue conferi-los por conta própria.
Um cassino provably fair ainda pode trapacear?
Sim, de duas formas. Se o cassino escolhe uma nova seed do servidor para cada aposta, ou se permite a si mesmo definir a sua seed do cliente, ele pode escolher seeds que o favoreçam, e a verificação do hash não vai pegar isso. E um cassino pode rodar jogos honestos e ainda assim se recusar a pagar você. A verificação cobre só uma coisa, que o resultado não foi alterado depois da sua aposta.
Por que os jogos de crash usam o hash de um bloco do Bitcoin?
Os sites de crash geram milhões de resultados com antecedência como uma cadeia de hashes. Para provar que não escolheram uma cadeia que favorece a casa, eles anunciam o número de um bloco futuro do Bitcoin antes de ele ser minerado e misturam o hash desse bloco em cada resultado. Ninguém consegue prever o hash de um bloco com antecedência, então ninguém poderia ter escolhido a cadeia para combinar com ele.