O que é provably fair, e como funciona?

Utilize a calculadora provably fair abaixo para verificar cada resultado e entender como a Cloudbet Originals mantém as probabilidades honestas.
Above are two provably fair tools: a Game Verification Tool — paste your Server Seed, Client Seed, and Nonce from any round to reconstruct and confirm the outcome — and a Server Seed Verification Tool — verify that a revealed server seed matches the hash Cloudbet published before you played.

Quando você aposta nos Cloudbet Originals, todo resultado pode ser verificado por você. Sem suposições, sem armadilhas — apenas aleatoriedade pura e comprovável que você mesmo pode conferir.

O que é "provably fair"?

O provably fair é um sistema usado por cassinos online para garantir que todo resultado de um jogo seja honesto e possa ser verificado de forma independente pelo jogador. Em vez de simplesmente confiar no cassino, você recebe uma prova matemática de que os resultados não foram manipulados ou adulterados durante a partida.

A vantagem do Provably Fair da Cloudbet:

  1. Os Cloudbet Originals funcionam com os protocolos provably fair mais recentes, de modo que todo resultado é à prova de adulteração, verificável de forma independente e matematicamente justo.
  2. Assim que uma rodada termina e as seeds são reveladas, qualquer pessoa pode verificar com certeza matemática que o resultado foi gerado honestamente.
  3. É como receber o roteiro de cada rodada com antecedência — sem truques escondidos, sem desculpas depois do giro.

Como ser provably fair

Ser provably fair significa provar duas coisas:

  1. Todo jogo tem acesso a uma sequência de números verdadeiramente aleatória e à prova de adulteração — esta página cobre essa parte.
  2. Essa sequência aleatória determina o resultado do jogo de forma fixa e transparente — com os mesmos números, você sempre obtém o mesmo resultado. Essa parte é específica de cada jogo — veja como funciona no Mines e nos demais Originals.

Para garantir uma aleatoriedade verdadeira, tanto o jogador quanto a Cloudbet contribuem para a geração dos números — assim, nenhum dos lados pode controlar o resultado sozinho, e a Cloudbet precisa provar que não alterou sua contribuição depois do fato.

Termos-chave

  1. Bit: A unidade básica de informação digital — "1" ou "0". Sequências de bits representam números em binário.
  2. Byte: 8 bits, representando até 256 valores. Nossas seeds usam números de 32 bytes (256 bits).
  3. Seed: O valor inicial de um gerador de números aleatórios. A mesma seed sempre produz o mesmo resultado.
  4. Seed do servidor: O código secreto da Cloudbet — uma sequência aleatória e criptográfica de 32 bytes gerada antes da partida, mantida em segredo e revelada depois.
  5. Seed do cliente: Seu código — defina você mesmo, ou deixe seu navegador gerar um (com até 255 caracteres).
  6. Nonce: Um contador de rodadas que aumenta a cada vez que você joga com o mesmo par de seeds, garantindo que cada rodada seja única.
  7. Hash / Compromisso: Uma impressão digital segura da seed do servidor, compartilhada com você antes de jogar. É irreversível — ninguém consegue trabalhar de trás para frente a partir dela para descobrir a seed, mas, uma vez que a seed é revelada, aplicar o hash nela deve reproduzir exatamente o mesmo Compromisso.
  8. Assinatura da Rodada: A seed do servidor, a seed do cliente e o nonce combinados e submetidos a hash juntos — a entrada real que determina o resultado da sua rodada.
  9. SHA3-256: O algoritmo de hash usado para criar Compromissos e Assinaturas da Rodada. A mesma entrada sempre gera a mesma saída de tamanho fixo; o processo não pode ser revertido.
  10. SHAKE256: Um algoritmo flexível da família SHA-3 que transforma a Assinatura da Rodada no fluxo de números aleatórios a partir do qual o resultado do seu jogo é construído — mesma entrada, mesma saída, sempre, o que é o que torna a verificação possível.
  11. Módulo: O resto que sobra ao dividir um número por outro (por exemplo, 16 % 5 = 1) — usado para traduzir um número aleatório em um dos resultados possíveis de um conjunto fixo.
  12. Rotacionar as seeds: Renovar as duas seeds para obter um novo par aleatório.

Preparação para uma partida

Antes de cada rodada começar, dois números são criados: a Seed do Servidor e a Seed do Cliente.

O servidor de jogo da Cloudbet gera a Seed do Servidor usando a função criptográfica randomBytes do Node.js — um número de 32 bytes (256 bits), na prática equivalente a jogar uma moeda digital segura 256 vezes seguidas. Ela é mantida em segredo até que o par de seeds seja rotacionado. Para provar que não será alterada depois, o servidor também aplica um hash nela imediatamente (usando SHA3-256), gerando um Compromisso, que é compartilhado com você antes de jogar — assim, quando a seed for revelada, você mesmo pode aplicar o hash nela e confirmar que ainda corresponde.

A Seed do Cliente é gerada pelo seu navegador por padrão, ou você pode definir a sua própria.

Durante a partida

Sua Seed do Servidor, Seed do Cliente e Nonce são unidos e submetidos a hash com SHA3-256 em uma única Assinatura da Rodada — pense nisso como duas pessoas contribuindo secretamente, cada uma com metade de um nome, de modo que nenhuma delas conhece o resultado completo com antecedência.

Essa Assinatura da Rodada é então alimentada no SHAKE256, que gera o fluxo de números aleatórios que determina o resultado do seu jogo. Como o SHAKE256 sempre produz a mesma saída a partir da mesma entrada, qualquer pessoa com as seeds reveladas e o nonce pode reproduzir exatamente o seu resultado — é isso que torna a verificação possível. Traduzir esse fluxo de números aleatórios em um resultado de jogo propriamente dito (por exemplo, onde as minas ficam, o que um lançamento de dado mostra) funciona de forma diferente para cada jogo — veja como funciona no Mines e nos demais Originals.

Resultados justos também dependem da amostragem por rejeição — um método que garante que um número gerado aleatoriamente selecione entre todos os resultados possíveis com probabilidade verdadeiramente igual, em vez de favorecer alguns resultados em detrimento de outros por causa de uma divisão desigual.

Para um exemplo detalhado de Amostragem por Rejeição, preparamos um pequeno exemplo com o lançamento de um dado de 10 lados, onde, como temos 10 resultados possíveis, P é 10.

Lançar um dado de 10 lados normalmente é feito gerando aleatoriamente um número "X" e calculando X módulo 10, já que, assim como um lançamento de dado, essa operação tem 10 resultados possíveis. No entanto, feito dessa forma sem aplicar a Amostragem por Rejeição antes, isso favorece injustamente os resultados mais baixos. Digamos que X seja um número aleatório de 4 bits, tendo portanto 2⁴=16 valores possíveis: de 0 a 15. Assim, todos os resultados possíveis de X módulo 10 (X % 10) são:

  1. Se X estiver entre 0 e 9: 0 … 9
  2. Se X estiver entre 10 e 15: 0 … 5

Isso está visualizado aqui:

Cada um dos resultados de dado de 0 a 5 pode ocorrer a partir da geração de dois valores diferentes de X, enquanto os resultados de 6 a 9 ocorrem a partir de apenas um. Isso significa que os lançamentos de dado 0 a 5 são duas vezes mais prováveis do que os lançamentos 6 a 9, o que não é justo:

Isso acontece porque 16 não é divisível igualmente por 10. É por isso que, com a Amostragem por Rejeição, buscamos o maior número que É divisível igualmente por 10. Com 4 bits, o maior valor possível para X é 15, e o maior múltiplo de 10 que cabe nesse intervalo de valores é 10, então rejeitamos todos os números aleatórios gerados que sejam maiores ou iguais a 10. Isso significa que apenas 0 … 9 são valores possíveis para X. Observação: se um número for rejeitado, um novo número é amostrado.

Após a etapa de rejeição, calculamos X módulo P para obter um número entre 0 e P. Isso então determina qual dos resultados de 1 em P escolhemos.

Como verificar os resultados dos seus jogos

  1. Antes de jogar, anote o Compromisso e a sua Seed do Cliente.
  2. Depois da rodada, rotacione suas seeds para que a Seed do Servidor usada seja revelada.
  3. Aplique o hash SHA3-256 na Seed do Servidor revelada — ela deve corresponder ao Compromisso que você anotou. Isso confirma que a seed não foi alterada durante o jogo.
  4. Cole sua Seed do Servidor, Seed do Cliente e Nonce na calculadora de verificação abaixo — ela reconstrói o resultado do zero.
  5. Compare isso com o que você viu no jogo. Uma correspondência confirma que a rodada foi justa; uma divergência indicaria adulteração (o que, com a Cloudbet, não vai acontecer).

Perguntas frequentes: suas dúvidas sobre provably fair respondidas

1. Por que as seeds são tão longas e parecem tão aleatórias?

Porque a aleatoriedade é a base da justiça. As longas sequências de caracteres impedem que tanto a Cloudbet quanto os jogadores prevejam ou manipulem os resultados. Mais entropia = mais confiança.

2. Posso alterar minha seed do cliente?

Sim. Acesse as configurações de imparcialidade no jogo e insira sua própria seed do cliente a qualquer momento. Você pode rotacioná-la sempre que quiser.

3. E se a seed do servidor não corresponder ao hash original?

Então algo está errado. Todo o propósito do hash é provar que a seed foi travada antes do início da sua partida. Uma divergência indicaria adulteração — mas, com a Cloudbet, isso não vai acontecer.

4. Preciso entender de criptografia para usar isso?

Não. A ferramenta faz todo o trabalho pesado. Você só precisa copiar, colar e verificar.

5. O que é exatamente um hash?

Pense nisso como uma assinatura digital. Ele é gerado embaralhando a seed do servidor por meio de um algoritmo criptográfico. Se alguém tentar alterar a seed depois, o hash será diferente — e você vai perceber a fraude.

6. Posso usar ferramentas de terceiros para verificar os resultados?

Sim. O sistema da Cloudbet é compatível com ferramentas de verificação independentes, então você pode conferir os resultados mesmo fora da nossa plataforma.

7. Por que isso importa, se os jogos são divertidos de qualquer forma?

Porque a justiça não é um recurso extra — é uma exigência. Quando você está apostando com cripto, você merece controle total e zero suposições. O provably fair torna isso o padrão.

Explicações dos jogos provably fair:

  1. Provably fair Mines
  2. Provably fair Pump
  3. Provably fair Plinko
  4. Provably fair Dice
  5. Provably fair Dice: Golden Ticket
  6. Provably fair Limbo
  7. Provably fair Roulette