Criptografia para jogadores
O que é comprovadamente justo - seeds, hashes, nonce e verificação explicados
Um guia claro e agnóstico de jogos que mostra como os casinos de criptomoedas modernos bloqueiam os resultados antes de jogar e como pode verificá-los mais tarde.
Controlo de sementes do cliente
Nonce por aposta
Revelação pós-ronda
Ideia central
O casino compromete-se com uma semente de servidor oculta com um hash público. O utilizador traz uma semente do cliente. Um nonce aumenta por aposta. Após a ronda, a semente do servidor é revelada para que qualquer pessoa possa recompilar o resultado a partir de regras públicas.
Porque é importante
Os resultados são bloqueados antecipadamente. Não há ajustes em direto. Não há reenvios após o facto. Pode verificar a matemática por si próprio com qualquer implementação SHA-256 padrão.
O que é necessário
- Semente do servidor (revelada após a ronda)
- Hash de semente do servidor (publicado antes da ronda)
- A sua semente de cliente
- Nonce para essa aposta
Como funciona a comprovação da equidade - passo a passo
1. Compromisso prévio
O casino gera uma semente de servidor aleatória e publica o seu hash. Exemplo: hash = SHA-256(serverSeed). A semente do servidor simples permanece oculta até depois da liquidação.
2. Semente de cliente
Escolhe ou confirma uma semente de cliente no seu browser. Mantenha-a ou altere-a entre sessões de acordo com a sua preferência.
3. Nonce
Cada aposta utiliza um nonce crescente que começa em 0 para um novo par de sementes. Evita a reutilização da saída e associa uma saída única a cada ronda.
4. Cálculo dos resultados
O jogo combina valores como HMAC-SHA256(serverSeed, clientSeed:nonce) ou SHA-256(serverSeed + clientSeed + nonce) e depois mapeia os bytes para um resultado. A especificação exacta é publicada por jogo.
5. Revelar e verificar
Após a liquidação, a semente do servidor é revelada. O utilizador faz um hash para confirmar que corresponde ao pré-compromisso e, em seguida, recomputa o resultado com a semente do cliente e o nonce.
Exemplo - Mapeamento do lançamento de dados (JavaScript)
// Pseudo-implementação: SHA-256 -> número em [0, 99.999]
função assíncrona sha256(hexStr){
const bytes = new TextEncoder().encode(hexStr);
const hash = await crypto.subtle.digest('SHA-256', bytes);
return Array.from(new Uint8Array(hash)).map(b=>b.toString(16).padStart(2,'0')).join('');
}
function toNumberFromHash(hash){
// pega os primeiros 52 bits ~ 13 caracteres hexadecimais
const slice = hash.slice(0,13);
const asInt = parseInt(slice,16);
const max52 = Math.pow(2,52);
return (asInt / max52) * 100; // 0 - 100
}
async function diceResult(serverSeed, clientSeed, nonce){
const input = `${serverSeed}:${clientSeed}:${nonce}`;
const hash = await sha256(input);
const roll = toNumberFromHash(hash);
return Math.min(99.999, roll);
}
Os jogos reais podem utilizar o HMAC com a semente do servidor como chave e uma política de divisão de bytes documentada. Siga as especificações oficiais.
Exemplo - Verificar o compromisso (Python)
importar hashlib
def sha256_hex(s: str) -> str:
return hashlib.sha256(s.encode()).hexdigest()
semente_do_servidor = "REVEALED_AFTER_ROUND"
published_hash = "HASH_SHOWN_BEFORE_ROUND"
assert sha256_hex(server_seed) == published_hash, "Commitment mismatch"
print("Compromisso verificado")
Padrões comuns de mapeamento por tipo de jogo
| Jogo | Abordagem de hashing | Cartografia | Notas |
|---|---|---|---|
| Dados | HMAC-SHA256(serverSeed, clientSeed:nonce) | Primeiros 52 bits para 0-99,999 | Determinístico por nonce |
| Colisão | SHA-256 ou variante HMAC | Transformar em curva multiplicadora | As especificações definem como evitar preconceitos |
| Minas | Fluxo SHA-256 | Azulejos revelados por ordem de bytes | Reprodução do esquema da placa |
| Plinko | HMAC-SHA256 | Passos do pino esquerdo ou direito a partir de bits | A contagem de linhas afecta o espaço do caminho |
| Blackjack | Baralhamento baseado em SHA-256 | Fisher-Yates semeado por bytes | Reprodutível da ordem do baralho |
Lista de controlo dos jogadores - fluxo de verificação rápida
- Copiar o hash da semente do servidor antes de jogar ou confirmar que está visível no painel de equidade
- Defina a semente do seu cliente se o jogo o permitir ou guarde o valor gerado automaticamente
- Após a ronda, copie a semente do servidor revelada e o nonce da sua aposta
- Efetuar o hash da semente do servidor para confirmar as correspondências do pré-compromisso
- Recompute o resultado utilizando a especificação pública e compare com o resultado da sua aposta
Se algum passo falhar, contacte o serviço de apoio com o seu ID de aposta, seeds, nonce e capturas de ecrã do painel de equidade.
Melhores práticas para os utilizadores
- Se preferir o isolamento, pode alternar a semente do cliente entre as sessões
- Registar IDs de apostas para rondas de apostas altas e verificar mais tarde
- Utilize ferramentas independentes para hashing se pretender uma segunda opinião
- Não confundir sementes com palavras-passe - são coisas diferentes
Sinais de alerta a evitar
- Sem hash de sementes do servidor antes do jogo
- Nenhuma descrição pública do mapeamento do hash para o resultado
- Resultados não reproduzíveis com as mesmas entradas
- Atrasos nos levantamentos devido a condições de bónus pouco claras
Jogue Originals comprovadamente justos com prémios sem apostas
Utilizar código VIP no Duel para obter cashback instantâneo e jogos de fácil auditoria como Crash, Dice, Mines, Plinko e Blackjack.
A garantia de lucro é comprovadamente justa?
Não. Garante a transparência, não a expetativa positiva. O seu EV depende da margem da casa e das suas escolhas.
Posso verificar no telemóvel
Sim. A maioria dos browsers modernos suporta SHA-256. Também pode utilizar ferramentas externas ou scripts simples.
