Algoritmo do Aviator Explicado: Mergulho Profundo no Provably Fair com SHA-512

ER
Emma Rodriguez·Editor de jogo responsável
Revisado porJames Mitchell
7 min de leitura

Algoritmo do Aviator Explicado: Um Guia Técnico Completo

Um dos recursos mais importantes do Aviator é o seu algoritmo provably fair (comprovadamente justo) — um sistema criptográfico que permite a qualquer jogador verificar, de forma independente, que o ponto de crash de qualquer rodada foi determinado de maneira justa e não foi manipulado. Este guia explica como ele funciona, a matemática por trás dele e como você mesmo pode verificar os resultados.


O Que É "Provably Fair"?

Os jogos de cassino tradicionais exigem que você confie que a operadora não manipulou os resultados. Os sistemas provably fair eliminam essa necessidade de confiança usando funções de hash criptográficas, que tornam matematicamente impossível alterar um resultado depois que ele foi registrado.

O princípio central:

  1. Antes de uma rodada, o servidor se compromete com um resultado publicando o seu hash
  2. Depois da rodada, o servidor revela a pré-imagem (a seed usada para gerar o hash)
  3. Você pode verificar que o hash registrado corresponde à seed revelada
  4. Se os dois coincidem, o resultado não foi manipulado

A Função de Hash SHA-512

O SHA-512 (Secure Hash Algorithm de 512 bits) é uma função de hash criptográfica com duas propriedades essenciais para jogos provably fair:

Propriedade 1: Determinismo

A mesma entrada sempre produz a mesma saída:

  • Entrada: "hello" → Saída: 9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043

Propriedade 2: Resistência à Pré-imagem

Dada a saída de um hash, é computacionalmente inviável descobrir a entrada por engenharia reversa. Mesmo com todo o poder computacional do mundo, encontrar a entrada de um determinado hash SHA-512 levaria mais tempo do que a idade do universo.

Isso significa que, se o servidor publica um hash antes de uma rodada, ele não pode alterar a seed original depois sem produzir um hash completamente diferente — o que você perceberia imediatamente.


As Entradas: Server Seed e Três Client Seeds

Os pontos de crash do Aviator são gerados a partir de quatro entradas:

Server Seed

Uma sequência aleatória gerada pelo servidor antes da rodada. O servidor publica o hash SHA-256 dessa seed antes de as apostas serem aceitas e revela a própria seed assim que a rodada termina.

Client Seeds

As client seeds dos três primeiros jogadores que fizeram uma aposta na rodada são coletadas e exibidas nos detalhes da rodada. Como esses valores vêm de jogadores independentes, a operadora não tem como conhecer antecipadamente a entrada combinada.

Combinando as Entradas

A server seed e as três client seeds são concatenadas e processadas com SHA-512. A sequência hexadecimal resultante, de 128 caracteres, determina o ponto de crash.


Como o Ponto de Crash É Calculado

A Spribe não publica a aritmética exata que transforma o hash SHA-512 em um multiplicador. O passo a passo abaixo usa a construção de referência aberta popularizada pelo Bustabit (um hash de rodada HMAC-SHA256 com um nonce) para mostrar como um hash se transforma em um multiplicador cuja distribuição satisfaz P(crash ≥ x) = 0.97/x. O pipeline SHA-512 do Aviator segue o mesmo princípio: pegar os bits iniciais do hash, mapeá-los para um multiplicador e aplicar a vantagem da casa.

Na construção de referência, o ponto de crash é obtido por um processo determinístico:

Passo 1: Gerar o Hash da Rodada

round_hash = HMAC-SHA256(server_seed, client_seed + ":" + nonce)

Isso produz uma sequência hexadecimal de 64 caracteres, por exemplo:

a7b3c8d2e9f14056789012345678901234567890abcdef1234567890abcdef12

Passo 2: Extrair um Número do Hash

Pegue os primeiros 8 caracteres (32 bits) do hash e converta de hexadecimal para decimal:

h = parseInt(hash.substring(0, 8), 16)
// Example: "a7b3c8d2" → 2,813,000,914

O valor máximo possível de h é 2^32 − 1 = 4,294,967,295.

Passo 3: Aplicar a Fórmula do Ponto de Crash

crash_point = floor((1 − houseEdge) × 2^32 / (2^32 − h)) / 100

Onde houseEdge = 0.03 (3%).

Simplificando:

crash_point = floor(0.97 × 4,294,967,296 / (4,294,967,296 − h)) / 100

Caso Especial: Crash Instantâneo

Uma condição separada trata diretamente da vantagem da casa. Se:

h mod 33 === 0

...a rodada termina em crash instantâneo em 1.00×, independentemente do resultado da fórmula. Isso ocorre com probabilidade de 1/33 ≈ 3.03%, o que garante a vantagem da casa.


Passando por um Exemplo Concreto

Suponha que os 8 primeiros caracteres hexadecimais do hash de uma rodada sejam 4f2a1b3c:

h = 0x4f2a1b3c = 1,328,284,988
2^32 = 4,294,967,296

Verificação: 1,328,284,988 mod 33 === 0? Não → seguir para a fórmula.

crash_point = floor(0.97 × 4,294,967,296 / (4,294,967,296 − 1,328,284,988)) / 100
= floor(4,166,117,577 / 2,966,682,308) / 100
= floor(1.4043...) / 100
= 140 / 100
= 1.40×

O ponto de crash dessa rodada seria 1.40×.


Por Que Essa Fórmula Produz a Distribuição Correta

A fórmula P(crash ≥ x) = 0.97 / x surge matematicamente dessa construção:

Para que um ponto de crash seja de pelo menos x, o valor h derivado do hash precisa satisfazer:

0.97 × 2^32 / (2^32 − h) ≥ x
→ 2^32 − h ≤ 0.97 × 2^32 / x
→ h ≥ 2^32 × (1 − 0.97/x)

A probabilidade de que um h uniformemente aleatório satisfaça isso é:

P(h ≥ 2^32 × (1 − 0.97/x)) = 1 − (1 − 0.97/x) = 0.97/x

O que resulta exatamente em P(crash ≥ x) = 0.97/x — a fórmula da vantagem da casa está matematicamente embutida na derivação do ponto de crash.


Como Verificar os Resultados Você Mesmo

Passo 1: Registre os Dados da Rodada

Depois de qualquer rodada, anote:

  • Hash da server seed (exibido antes da rodada)
  • Server seed (revelada após a rodada)
  • Client seeds dos três primeiros apostadores

Passo 2: Verifique o Compromisso do Hash

Calcule SHA-256(server_seed) e confirme que ele corresponde ao hash registrado previamente. Se corresponder, a server seed não foi alterada depois do compromisso.

Passo 3: Recalcule o Ponto de Crash

Usando a fórmula acima, recalcule o ponto de crash a partir das seeds. Se ele coincidir com o ponto de crash informado, a rodada foi justa.

Usando o Provably Fair Checker do AviatorStats

Nossa ferramenta Provably Fair Checker, no AviatorStats.com, automatiza todo esse processo:

  1. Informe a server seed revelada e as três client seeds exibidas nos detalhes da rodada
  2. A ferramenta calcula a combinação SHA-512, extrai h, aplica a fórmula de crash e exibe o ponto de crash esperado
  3. Compare com o resultado informado pelo jogo — os dois devem coincidir exatamente

Isso dá a você certeza criptográfica sobre a justiça da rodada, sem cálculos manuais.


O Que o Provably Fair Garante e o Que Não Garante

O Que Ele Garante:

  • Os pontos de crash não foram alterados após o compromisso
  • Os resultados são determinados matematicamente pelas seeds
  • A vantagem da casa é exatamente de 3%, como especificado
  • Qualquer pessoa pode verificar de forma independente qualquer rodada do histórico

O Que Ele Não Garante:

  • Que você vai ganhar em alguma rodada específica
  • Que a sequência de resultados seja "justa" para um jogador individual
  • Que estratégias consigam superar a vantagem da casa embutida
  • Que resultados passados prevejam resultados futuros (eles não preveem)

O sistema provably fair é um mecanismo de transparência, não uma ferramenta para ganhar. Ele garante que o jogo funciona como anunciado — o que tem valor por si só, mas é independente da matemática do valor esperado no longo prazo.



Use nossas ferramentas de análise de Aviator

Analise os dados de Aviator com nossas estatísticas ao vivo, análise de distribuição, gráficos de tendência e verificador provably fair. Todas as ferramentas são gratuitas e não exigem cadastro.


Guias relacionados

Guias do jogo:

Estratégia e análise:

Alertas de golpes:

Guias de plataformas:

Aviso: Esta explicação técnica tem finalidade educacional. Entender o algoritmo não oferece nenhuma vantagem para prever resultados. Os resultados do Aviator são criptograficamente imprevisíveis antes de cada rodada. Jogue sempre com responsabilidade.

ER

Editor de jogo responsável. Produz conteúdo especializado sobre jogos crash, análise de RTP e jogo responsável para a equipe do Aviator Tracker.

Perguntas frequentes

Provably fair significa que o ponto de crash de cada rodada é registrado criptograficamente antes de a rodada começar (por meio do hash da server seed publicado). Depois da rodada, o servidor revela a seed original e você pode verificar que ela corresponde ao hash registrado previamente. Se corresponder, o resultado não foi manipulado.
Na construção de referência usada neste guia: crash_point = floor((1 − 0.03) × 2^32 / (2^32 − h)) / 100, em que h é um inteiro de 32 bits derivado dos 8 primeiros caracteres hexadecimais do hash da rodada, e h mod 33 = 0 faz a rodada terminar em crash instantâneo em 1.00×. A implementação própria da Spribe processa a server seed com três client seeds usando SHA-512 e não publica sua aritmética exata.
Não. O hash da server seed é publicado antes de a rodada ser jogada. Alterar a server seed depois do compromisso produziria um hash diferente, que os jogadores poderiam detectar imediatamente. O compromisso criptográfico torna inviável, do ponto de vista matemático, qualquer manipulação posterior.
A vantagem da casa aparece em dois lugares: (1) o fator 0.97 na fórmula de crash reduz proporcionalmente todos os pontos de crash e (2) quando h mod 33 = 0 (probabilidade ≈ 3.03%), a rodada termina em crash instantâneo em 1.00×. Juntos, eles produzem exatamente P(crash ≥ x) = 0.97/x.
Use o Provably Fair Checker do AviatorStats: informe a server seed (revelada após a sessão), o hash da server seed, a client seed e o nonce da rodada. A ferramenta recalcula o HMAC-SHA256, deriva o ponto de crash com a fórmula e compara com o resultado informado. Se coincidirem, a justiça da rodada está confirmada.