Guia 5

Conferir se o jogo é justo

Tudo o que o site diz sobre o contrato pode ser conferido nos dados abertos da rede. Abaixo estão as verificações, da mais simples (dois minutos) à mais profunda (compilação do código). Para a maioria, não é preciso saber programar.

Como funciona a verificação

Um site pode ser falsificado ou cometer erros, mas o registro no blockchain não. Por isso, verifique não no site do projeto, e sim em um explorador de blocos: um site independente que mostra o conteúdo do blockchain (Solscan, Solana Explorer, SolanaFM e semelhantes). Abra qualquer um deles por conta própria, e não por links de mensagens de outras pessoas.

Para as verificações são necessários dois endereços: o do programa (contrato) e o do token. Eles aparecem na página “Segurança”. Compare-os em pelo menos mais dois lugares independentes (repositório, canais oficiais): se os endereços divergirem, estão tentando enganar você.

Verificações rápidas (2 a 10 minutos)

O que verificarOnde verComo deve estarSe for diferente
1. É possível emitir novos tokens?Página do token no explorador, campo Mint AuthorityVazio (revogada)Quem tiver o endereço indicado pode emitir quantos tokens quiser e desvalorizar os seus.
2. É possível congelar tokens?A mesma página, campo Freeze AuthorityVazioO titular pode congelar qualquer carteira, inclusive a sua.
3. Quem pode alterar o códigoPágina do programa, campo Upgrade AuthorityVazio (código congelado) ou o endereço de um multisig com atraso nas atualizaçõesUm endereço comum significa que o titular pode, a qualquer momento, enviar regras diferentes.
4. Emissão total do tokenPágina do token: SupplyNão mais que 100.000.000.000 e só diminui por causa da queimaMais que isso significa que a emissão foi aumentada.
5. O token confere?O endereço do token na sua carteira em comparação com a página “Segurança”Os endereços são idênticos, caractere por caractereEste não é o FAIRDRUM verdadeiro. Não compre nem deposite.
6. Há tokens suficientes no cofre?Endereço do cofre da página “Segurança”, saldo do token; valores dos potes em “Economia”O saldo do cofre não é menor que a soma dos potes (e também dos saldos de jogo dos jogadores)O contrato deve estar sempre coberto por tokens. Uma divergência é um sinal sério.

A tabela do topo da página “Segurança” lê esses mesmos campos direto da rede e marca ✔ ou ⚠, mas não confie apenas nela: confira você mesmo pelo menos uma vez.

Conferir o seu giro

Cada giro deixa um registro na rede, e o resultado na tela pode ser comparado com ele.

  1. Encontre a transação

    Depois do giro, abaixo do botão aparece o link “Transação”, que abre o registro no explorador. Ou então abra o histórico da sua carteira no explorador e escolha a transação com o programa FAIRDRUM.

    Deve aparecer: status Success e uma lista de instruções.

  2. Encontre os dois pares de chamadas

    Na primeira transação há uma chamada ao Switchboard (solicitação de aleatoriedade, commit) e uma chamada ao programa FAIRDRUM spin_commit (aposta). Na segunda: uma chamada ao Switchboard (revelação, reveal) e spin_settle (cálculo). O nome aparece de formas um pouco diferentes nos exploradores (SpinCommit, spinCommit).

  3. Compare a ordem

    A aposta foi registrada antes de o número ser revelado: a primeira transação tem um número de bloco (Slot) menor que a segunda. Isso significa que nem você nem o projeto sabiam o resultado no momento da aposta.

  4. Veja o log (Logs) da segunda transação

    Ali está registrado o evento SpinSettled, com o número de giros, os prêmios e os acertos no minijackpot, no jackpot e no superjackpot. São os mesmos números que a roda mostrou.

  5. Confira o dono da aleatoriedade

    A conta de aleatoriedade indicada na transação deve pertencer ao programa Switchboard. O próprio contrato rejeita qualquer outra, mas vale conferir: abra a conta e veja o campo Owner.

Verificações aprofundadas

Compilar o código e comparar o hash

Pegue o repositório do projeto no GitHub (o link aparecerá após a publicação), compile o programa em modo reprodutível (anchor build --verifiable) e compare o hash com o que está na rede (solana-verify). Se coincidirem, o que está na rede é exatamente esse código aberto.

Ler as constantes

Todos os números do jogo estão reunidos em um único arquivo, consts.rs: parcelas, chances, escada de prêmios, taxas, prazos. O site monta as suas tabelas justamente a partir dele, e não deve haver divergências entre o site e o contrato.

Executar os testes

O repositório tem testes das regras e dos cálculos (cargo test) e do cliente (npm test). Eles verificam, por exemplo, que a soma de todos os pools e saldos não excede os tokens do cofre.

Entender como o resultado é escolhido

A partir dos 32 bytes da aleatoriedade revelada, o contrato obtém números por meio de SHA-256. Para a roda principal, são blocos SHA-256("FDRM-M" + aleatoriedade + número do bloco), dos quais se toma, em grupos de 4 bytes (little-endian), um número para cada giro executado. Para a roda dourada: SHA-256("FDRM-G" + aleatoriedade + número do giro executado). O número é comparado com limiares em frações de 232; os próprios limiares dependem do volume semanal e do tamanho dos potes no momento do cálculo, por isso só é possível recalcular um giro antigo por inteiro junto com o estado do programa naquele slot. As fórmulas estão em math.rs e engine.rs.

Ler o registro de um período

Qualquer pessoa pode extrair da rede todos os eventos SpinSettled de um período e calcular por conta própria a frequência do ouro e o tamanho dos potes. Compare com as “Chances”. Com poucos giros, a dispersão é enorme: para enxergar uma chance de 1%, são necessários milhares de giros.

O que não dá para verificar

  • A honestidade do oráculo. A aleatoriedade vem da rede Switchboard. O contrato verifica que o número vem da conta correta e foi revelado depois da aposta, mas não consegue verificar que os nós do oráculo não combinaram entre si. É uma dependência externa.
  • A ausência de erros no código. Os testes e o código aberto aumentam a confiança, mas não substituem uma auditoria independente. Enquanto não houver um link para a auditoria, ela não existe.
  • O futuro. Enquanto a autoridade de atualização não for revogada, as regras podem mudar com uma nova versão. Acompanhe as transações de atualização do programa.
  • O que o administrador faz fora do contrato. O contrato não controla as vendas dos tokens dele, o marketing nem as decisões sobre listagens. Os pagamentos do fundo de promoção são públicos, mas o contrato não verifica “para quê”.

Sinais de alerta

O endereço na mensagem não coincide com o do siteTroca do token ou do programa.
Mint ou Freeze Authority preenchidosAlguém ainda pode emitir ou congelar.
Autoridade de atualização em um único endereço, sem atrasoAs regras podem ser trocadas a qualquer momento.
“Ganho garantido”, “esquema”, “programa de afiliados”No jogo não há indicações nem garantias, e o retorno médio é de cerca de 73–74%.
Pedem a frase secreta ou para “confirmar a carteira”É roubo. Feche a página.
A transação pede mais do que você esperavaLeia a janela da carteira. Se não tiver certeza, recuse.