
- O resultado não pode ser alterado depois. O operador trava a contribuição dele (um valor secreto) antes do jogo, publicando on-chain uma impressão digital criptográfica desse valor. Depois, o programa se recusa a liquidar a rodada se o segredo revelado não corresponder exatamente a essa impressão digital.
- Você mesmo pode conferir tudo. Todas as entradas e a fórmula exata são públicas. Depois de qualquer rodada ou aposta, você pode recalcular o resultado a partir dos dados on-chain e comparar com o que o jogo pagou.
Do que é feito o provably fair?
Um segredo registrado (commit). Quando um resultado precisa ficar oculto durante o jogo (Crash, Mines), o backend gera um segredo aleatório de 32 bytes e publica on-chain o hash SHA-256 dele (o commit) antes de o jogo começar. Um hash funciona como um envelope lacrado: não revela nada sobre o segredo, mas, depois de publicado, só aquele segredo exato pode corresponder a ele. Quando o segredo é revelado no final, o próprio programa calcula o hash dele e rejeita a transação se não corresponder ao commit. Entropia da blockchain Solana. O resultado nunca depende só do segredo. Ele também mistura um hash de slot: o hash de um slot recente da Solana, lido pelo programa na sysvarSlotHashes da Solana em um momento definido. Esse valor é produzido pela rede Solana, não pelo cassino, e ainda não existe quando o commit é feito.
Uma fórmula pública e determinística. O resultado é uma função matemática fixa dessas entradas. A mesma função roda dentro do programa on-chain (o backend não consegue informar um resultado falso; quem calcula é o programa), e ela está publicada nestas páginas para você mesmo executá-la.
Como funciona uma rodada, passo a passo?
O Dice condensa esse fluxo em uma única transação: ele não tem nenhum estado oculto a proteger, então não existe segredo do operador. O resultado do dado é derivado do hash de slot, da sua conta e do seu contador de apostas, e liquidado na mesma instrução que o sorteia.O que cada jogo registra, e quando
O que isso garante, e o que isso pressupõe
Aqui, honestidade importa mais que marketing, então vamos ser precisos. Este esquema é commit-reveal com entropia pública da blockchain, não um VRF (função aleatória verificável). Veja a fronteira exata entre o que é garantido pelo código e o que depende do bom comportamento do operador.Garantido pelo programa on-chain
- Nada de trocar o resultado depois do commit. O programa calcula o hash do segredo revelado e rejeita qualquer liquidação em que ele não corresponda ao commit publicado. O operador não pode escolher outro segredo depois de ver como a rodada está indo.
- Entropia que o operador não produz. O hash de slot vem da rede Solana. Ele é desconhecido quando o commit é publicado, e o cassino não o cria.
- Resultados calculados on-chain. O ponto de crash, o resultado do dado e o tabuleiro do Mines são calculados (ou derivados de novo e conferidos) pelo próprio programa. O backend não consegue informar um resultado que a fórmula não produz.
- Auditoria pública completa. Cada rodada e cada aposta emitem eventos on-chain com todas as entradas da derivação e o resultado. Qualquer pessoa, não só o jogador envolvido, pode recalcular todos os resultados históricos.
Pressupostos: as ressalvas honestas
- Influência sobre o momento. O backend do operador escolhe quando enviar certas transações, o que dá a ele uma influência parcial sobre qual hash de slot é capturado. Cada página de jogo explica exatamente o que isso poderia e não poderia conseguir naquele jogo.
- Cancelamentos são possíveis, mas só com reembolso. O operador pode anular uma rodada de Crash ou um jogo de Mines. Uma anulação sempre devolve integralmente todo valor apostado (o programa não tem como confiscar nada por meio de um cancelamento), e toda anulação fica registrada publicamente, então qualquer pessoa pode auditar a frequência de cancelamentos. Cancelamentos frequentes seriam a assinatura visível, on-chain, de um operador agindo de má-fé.
- O operador conhece o tabuleiro do Mines durante o jogo. Isso é estrutural: as casas são reveladas instantaneamente off-chain, e quem as revela precisa conhecer o tabuleiro. O commit garante que o tabuleiro foi fixado antes da sua primeira escolha e não pode ser reescrito depois. Veja em Justiça no Mines exatamente como isso é garantido.
Por que aceitar essas concessões?
Porque elas são o preço de um jogo instantâneo e contínuo, não atalhos. Cada jogo fica exatamente onde precisa ficar nesse espectro:- Mines: revelar uma casa em milissegundos exige, estruturalmente, alguém que já conheça o tabuleiro. As alternativas (uma transação on-chain por clique, ou uma consulta a um oráculo a cada revelação) transformariam cada casa em uma taxa e uma espera. Um operador que conhece o tabuleiro é indispensável para um Mines que pareça instantâneo e ainda seja liquidado on-chain; o esquema de commit existe para limitar o que esse conhecimento permite fazer.
- Crash: uma rodada ao vivo compartilhada precisa de alguém que a conduza para todos os jogadores ao mesmo tempo. Essa é uma escolha pragmática, não uma necessidade estrutural, e é por isso que o programa já vem com um caminho de migração embutido para aleatoriedade baseada em oráculo (VRF), uma fase futura que eliminaria as ressalvas sobre o momento onde a economia permitir.
- Dice: a outra ponta do espectro. Não há nada a esconder durante o jogo, então não existe segredo do operador. Onde eliminar a confiança no operador não custa nada, o design elimina.
Justiça do resultado vs. custódia dos fundosEsta seção trata de como os resultados são gerados. Como depósitos, saldos e saques são mantidos on-chain é outro assunto; veja Arquitetura on-chain.
Verifique você mesmo
- No app, toda rodada de Crash encerrada mostra seus dados de verificação (o segredo revelado, o hash do bloco e links para as transações on-chain) nos detalhes da rodada, junto com uma ferramenta de verificação de um clique.
- Dice e Mines publicam todas as entradas da derivação no evento de liquidação da própria transação da aposta.