WOO logo

Nesta página

Máquina caça-níqueis (criptografada)

Nesta página

Introdução

Esta página explica como funciona uma máquina caça-níqueis específica baseada no processo de jogo justo criptografado. Em última análise, o resultado de todas as máquinas caça-níqueis é baseado em um sorteio de números aleatórios. No caso de jogos criptografados, os números aleatórios são baseados em uma longa sequência de caracteres aleatórios.

Cassinos comprovadamente justos

CryptoSlots Casino
3.9 / 5.0
Os jogadores avaliaram o CryptoSlots Casino com 3.9 de 5 estrelas.
Cadastre-se Recarregar bônus

44% Halloween Bonus

44% on $10 – $99. Redeem: 2x per day. Valid: All games (excl. Jackpot Trigger). Valid from Wednesday, October 1, 2025, 12:01 am until Friday, October 31, 2025, 11:59 pm EDT.

WOO seal
Wizard Of Odds - Aprovado
CryptoWins Casino
3.9 / 5.0
Os jogadores avaliaram o CryptoWins Casino com 3.9 de 5 estrelas.
Inscrever-se bônus - Pegajoso

77% até
₿1

New Customer Offer. T&C’s Apply. 18+. This offer is not available for players residing in Ontario. New Customer Offer. T&C’s Apply. 19+. Min deposit: 5$. Maximum cashout: $30,000. Selected games only: See the website for a list of online slots. Playthrough for the bonuses is 10 days.

Análise

No caso da máquina caça-níqueis jogada no Crypto.Games, o jogo é bastante simples. Trata-se de um jogo de cinco cilindros e uma linha de pagamento. O jogador deve apostar 10 créditos. O valor de cada 10 créditos é determinado pelo jogador. Cada cilindro possui oito símbolos diferentes: maçã, banana, cereja, uva, morango, laranja, Bitcoin e pêssego. O resultado de cada cilindro é independente dos demais.

A seguir, apresentamos a tabela de pagamentos da máquina caça-níqueis Crypto.Games. A posição dos símbolos não importa. Por exemplo, se o jogador conseguir dois símbolos de Bitcoin, ele receberá o pagamento independentemente de onde eles estiverem na linha de pagamento. Todos os ganhos são calculados "para um". No caso de quatro frutas iguais e um Bitcoin, presumo que o jogador receba apenas o pagamento correspondente ao maior valor entre quatro símbolos iguais, embora o arquivo de ajuda do jogo não mencione essa situação.

Tabela de Pagamento

Evento Paga
Cinco bitcoins 10000
Cinco de um tipo 1500
Quatro bitcoins 700
Quatro de um mesmo tipo 100
Três bitcoins 70
Dois bitcoins 25
Um bitcoin 11

Análise do Jogo

Acredito que, de acordo com o projeto original da máquina caça-níqueis Crypto.Games, cada símbolo teria o mesmo peso, ou probabilidade. Se isso for verdade, a tabela a seguir demonstra minha análise. A coluna de retorno é (ganho)*(probabilidade)/10. A divisão por 10 se deve ao fato de o jogador precisar apostar dez créditos. A célula inferior direita mostra um retorno de 98,03%.

Tabela de retorno — Ponderação igual

Evento Paga Combinações Probabilidade Retornar
Cinco bitcoins 10.000 1 0,000031 0,030518
Cinco de um tipo 1.500 7 0,000214 0,032043
Quatro bitcoins 700 35 0,001068 0,074768
Quatro de um mesmo tipo 100 245 0,007477 0,074768
Três bitcoins 70 490 0,014954 0,104675
Dois bitcoins 25 3.430 0,104675 0,261688
Um bitcoin 11 11.970 0,365295 0,401825
Perdedor - 16.590 0,506287 0,000000
Total 32.768 1.000000 0,980286

No entanto, devido ao funcionamento do processo de Jogo Justo, alguns símbolos têm um peso maior do que outros. Especificamente, a maçã, a banana, a cereja, as uvas e o morango têm um peso de 26 cada, enquanto a laranja, o Bitcoin e o pêssego têm um peso de 25. A probabilidade de um rolo parar em qualquer símbolo é proporcional ao seu peso. Grande parte do retorno do jogo vem dos símbolos do Bitcoin. Como o peso de um Bitcoin é 25 e a média geral é 25,625, há uma probabilidade ligeiramente inferior a 1 em 8 de um rolo parar em um Bitcoin. Isso reduz o retorno do jogo, como mostrado na tabela a seguir. A célula inferior direita mostra um retorno de 95,06%.

Tabela de retorno — Ponderação desigual

Evento Paga Combinações Probabilidade Retornar
Cinco bitcoins 10.000 9.765.625 0,000027 0,026973
Cinco de um tipo 1.500 78.938.130 0,000218 0,032705
Quatro bitcoins 700 351.562.500 0,000971 0,067972
Quatro de um mesmo tipo 100 2.748.092.600 0,007590 0,075904
Três bitcoins 70 5.062.500.000 0,013983 0,097880
Dois bitcoins 25 36.450.000.000 0,100677 0,251691
Um bitcoin 11 130.836.733.750 0,361377 0,397515
Perdedor - 186.513.035.520 0,515157 0,000000
Total 362.050.628.125 1.000000 0,950639

Jogo Justo

A seguir, descrevo o processo que o Crypto.Games usa para determinar onde cada rolo para. Isso pressupõe que o leitor conheça os conceitos básicos de Hashing e matemática de base 16. Caso contrário, explico isso na minha página sobre Dados (Versão Criptografada) .

  1. Combine a semente do servidor e a semente do cliente, começando pela semente do servidor.
  2. Pegue o hash SHA-512 da etapa 1.
  3. Começando pelo lado esquerdo, selecione dois caracteres do Hash obtido na etapa 2.
  4. Converta os dois caracteres da etapa 3 de hexadecimal para decimal.
  5. Pegue o dígito final do resultado da etapa 4.
  6. Se o resultado da etapa 5 for de 1 a 8, então associe-o a um símbolo, da seguinte forma:
    • 1 = Maçã
    • 2 = Banana
    • 3 = Cereja
    • 4 = Uvas
    • 5 = Morango
    • 6 = Laranja
    • 7 = Bitcoin
    • 8 = Pêssego
  7. Se o passo 6 estiver no intervalo de 1 a 8, atribua esse símbolo a um rolo, começando pela esquerda.
  8. Independentemente de ter sido encontrado um símbolo ou não, avance duas posições no Hash e retorne ao passo 3, até que cinco números no intervalo de 1 a 8 sejam encontrados (um para cada rolo).

Exemplo

A seguir, descrevemos como o processo funciona para uma mão de exemplo.

slot img 1

Na imagem acima, do painel Provably Fair, escolhi minha própria Semente do Cliente. Em seguida, copiei e colei em outro lugar a Semente do Servidor e o Hash da Semente do Cliente, com o rótulo "Próxima Semente do Servidor SHA256". Neste caso, são:

Semente do cliente: sdf96dsf9876s9dd78f6 

Hash da semente do próximo servidor: bdfa300164ebbd77ce9a3c3c58863688c4537df91173088915afdd4c9b6b302c

slot img 2

Fiz uma aposta e joguei. Meu resultado, da esquerda para a direita, foi cereja-maçã-banana-morango-banana, que perdi.

slot img 3

Depois de escolher minha Semente do Cliente, volto ao painel da Provably Fair para garantir que o resultado estava predestinado. Aqui estão os passos que sigo:

  1. Primeiramente, observo a última seed do servidor, que, segundo eles, foi:
    ylVWazQHJxoG9TAcLmDj1n6q1UkJgyFW4oTJhUhL

    Eu usei um programa de hash SHA-256 para gerar essa semente. O hash dessa semente é:

    bdfa300164ebbd77ce9a3c3c58863688c4537df91173088915afdd4c9b6b302c

    Isso corresponde ao hash da semente do próximo servidor que me foi fornecido antes de fazer a aposta, então posso ter certeza de que o resultado estava predestinado depois que escolhi uma semente do cliente, mas antes de fazer a aposta.

    No entanto, o que eu quero saber é por que o resultado foi cereja-maçã-banana-morango-banana. Veja como verificar isso:

    1. Combine a semente do servidor e a semente do cliente, nessa ordem, para obter ylVWazQHJxoG9TAcLmDj1n6q1UkJgyFW4oTJhUhLsdf96dsf9876s9dd78f6.
    2. Utilize o hash SHA-512 da etapa 1 para obter 3F8CEF835C55B60C8682C580C1A0C6DCA5013F4614A82A6797273495CCE46418EA044CCD964B83D0765C9CE6A174F93E20DB56E118CF8AE82B2D0864FC09B066.
    3. Pegue os dois primeiros caracteres, 3F, e converta-os de hexadecimal para decimal: 3*16 + 15 = 48 + 15 = 63.
    4. Pegue o último dígito de 63, que é 3. Como ele está no intervalo de 1 a 8, associe-o a um símbolo de acordo com as instruções de Jogo Justo acima. Nesse caso, um 3 corresponde a uma cereja.
    5. Avance dois símbolos no Hash da etapa 2, que são 8C.
    6. Converter 8C de hexadecimal para decimal: 8*16 + 12 = 140.
    7. O último dígito de 140 é 0, que não corresponde a nada, então ignore o 8C.
    8. Avance dois símbolos no Hash da etapa 2, que são EF.
    9. Converter EF de hexadecimal para decimal: 14*16 + 15 = 239.
    10. O último dígito de 239 é 9, que não corresponde a nada, então ignore o EF.
    11. Avance dois símbolos no Hash da etapa 2, que são 83.
    12. Converter EF de hexadecimal para decimal: 8*16 + 3 = 131.
    13. Pegue o último dígito de 131, que é 1. Como 1 está no intervalo de 1 a 8, associe-o a um símbolo de acordo com as instruções de Jogo Justo acima. Nesse caso, 1 corresponde a uma maçã.
    14. Avance dois símbolos no Hash da etapa 2, que são 5C.
    15. Converter 5C de hexadecimal para decimal: 5*16 + 12 = 92.
    16. Pegue o último dígito de 92, que é 2. Como 2 está no intervalo de 1 a 8, associe-o a um símbolo de acordo com as instruções de Jogo Justo acima. Nesse caso, um 2 corresponde a uma Banana.
    17. Avance dois símbolos no Hash da etapa 2, que são 55.
    18. Converter 55 de hexadecimal para decimal: 5*16 + 5 = 85.
    19. Pegue o último dígito de 85, que é 5. Como 5 está no intervalo de 1 a 8, associe-o a um símbolo de acordo com as instruções de Jogo Justo acima. Nesse caso, um 5 corresponde a um morango.
    20. Avance dois símbolos no Hash da etapa 2, que são B6.
    21. Converter B6 de hexadecimal para decimal: 11*16 + 6 = 182.
    22. Pegue o último dígito de 182, que é 2. Como 2 está no intervalo de 1 a 8, associe-o a um símbolo de acordo com as instruções de Jogo Justo acima. Nesse caso, um 2 corresponde a uma Banana.
    23. Foram encontrados cinco símbolos, portanto, uma cereja, uma maçã, uma banana, um morango e outra banana são mostrados ao jogador na linha de pagamento central como resultado de sua aposta.

    Código de Jogo Justo

    Se tudo isso parece um processo muito trabalhoso, eu concordo. Por isso, escrevi um programa em PHP para fazer isso para você. Basta clicar no link e seguir as instruções:

    • Insira a semente do servidor na linha 4.
    • Insira a Senha do Cliente na linha 5.
    • Insira o próximo hash de seed do servidor na linha 6.
    • Clique em "executar".

    A verificação da Semente do Servidor e o resultado da aposta serão exibidos na caixa de Resultados abaixo.

    Eu também mantenho uma cópia do código, que você pode ver clicando no botão de spoiler abaixo.

    linha 1 do PHP

           // Conversão de máquinas caça-níqueis para Crypto.Games
            
    $server_seed = "ylVWazQHJxoG9TAcLmDj1n6q1UkJgyFW4oTJhUhL";
    $client_seed = "sdf96dsf9876s9dd78f6";
    $next_server_seed_hash = "bdfa300164ebbd77ce9a3c3c58863688c4537df91173088915afdd4c9b6b302c";
    $reel_strip_array=array("Erro","Maçã","Banana","Cereja","Uvas","Morango","Laranja","Moeda","Pêssego");
    $win_array=array(10000,1500,700,100,70,25,11,0);
    $server_seed_hash=hash('sha256', $server_seed);
    se ($server_seed_hash==$next_server_seed_hash)
    { echo "A semente do servidor corresponde.\n"; }
    outro
    {   
        echo "SEED DO SERVIDOR INCOMPATÍVEL!\n";
        echo "Semente do servidor =\t$server_seed\n";
        echo "Hash da semente do servidor =\t$server_seed_hash\n";
        echo "Suposto próximo hash=\t$next_server_seed_hash\n";
    }
    $reels_found=0;
    $position=0;
    $combined_seed = $server_seed.$client_seed;
    echo "Semente combinada = $combined_seed\n";
    $combined_hash = hash('sha512', $combined_seed);
    echo "Hash da semente combinada = $combined_hash\n";
    fazer
    {
        $first_two=substr($combined_hash,$position,2);
        $hex_to_dec=hexdec($first_two)%10;
        se ($hex_to_dec>=1)&&($hex_to_dec<=8))
        {
            $reels_array[$reels_found] = $hex_to_dec;
            $reels_found++;
            echo "Carretel $reels_found =\t$reel_strip_array[$hex_to_dec]\n";
        }
        $position+=2;
        se ($posição==128)
        {
            echo "Erro -- Não há mais espaço no hash."\n"; $reels_found=5; } } while ($reels_found<5); $coins=0; for ($i=0; $i<=4; $i++) { if ($reels_array[$i]==7) { $coins++; } } if ($coins==5) { $win=0; } elseif ( ($reels_array[0]==$reels_array[1]) && ($reels_array[0]==$reels_array[2]) && ($reels_array[0]==$reels_array[3]) && ($reels_array[0]==$reels_array[4])) { $win=1; } // cinco de um tipo elseif ($coins==4) { $win=2; } elseif ((($reels_array[0]==$reels_array[1]) && ($reels_array[0]==$reels_array[2]) && ($reels_array[0]==$reels_array[3])) || (($reels_array[0]==$reels_array[1]) && ($reels_array[0]==$reels_array[2]) && ($reels_array[0]==$reels_array[4])) || (($reels_array[0]==$reels_array[1]) && ($reels_array[0]==$reels_array[3]) && ($reels_array[0]==$reels_array[4])) || (($reels_array[0]==$reels_array[2]) && ($reels_array[0]==$reels_array[3]) && ($reels_array[0]==$reels_array[4])) || (($reels_array[1]==$reels_array[2]) && ($reels_array[1]==$reels_array[3]) && ($reels_array[1]==$reels_array[4]))) { $win=3; } // quadra elseif ($coins==3) { $win=4; } elseif ($coins==2) { $win=5; } elseif ($coins==1) { $win=6; } else { $win=7; } echo "Ganho =\t$win_array[$win]\n" // Procedimento // 1. Zere a "posição" e o número de "rolos encontrados" para 0. // 2. Combine a semente do servidor e a semente do cliente, nessa ordem. // 3. Gere um hash SHA-512 do string da etapa 2. // 4. Converta os dois primeiros caracteres, começando na "posição" do hash da etapa 3, de hexadecimal para decimal. // 5. Pegue o dígito final de 4. // 6. Se o resultado da etapa 5 for de 1 a 8, mapeie-o para um símbolo, de acordo com a tabela abaixo, e incremente "rolos encontrados" em 1. // 7. Se cinco rolos forem encontrados, pare; caso contrário, incremente a "posição" em 1 e volte para a etapa 4. // 8. Depois que cinco rolos forem encontrados, exiba-os da esquerda para a direita, na ordem em que foram encontrados no Hash. // 9. Mapeamento de símbolos: // 1 = Maçã // 2 = Banana // 3 = Cereja // 4 = Uva // 5 = Morango // 6 = Laranja // 7 = Moeda // 8 = Pêssego ?>