Entrar

Registre-se

Documentos

  1. Termos e Condições
  2. Política de Privacidade
  3. Jogo responsável
  4. Política de cadastro
  5. Política de bonus
  6. Política de cookie
  7. Sobre lotodobicho
  8. Regras do jogo
  9. Tipos de apostas
  10. Grupos de animais
  11. Utilizando Blocos do Ethereum para Garantir Sorteios Imparciais na lotodobicho.com

Utilizando Blocos do Ethereum para Garantir Sorteios Imparciais na lotodobicho.com

O Ethereum é uma rede blockchain, e, como todas as blockchains, é composto por uma sequência de blocos. Cada bloco contém um conjunto de transações e informações associadas. No caso do Ethereum, um novo bloco é adicionado à cadeia aproximadamente a cada 16 segundos. Isso significa que, a cada intervalo de 16 segundos, todas as transações que ocorreram nesse período são verificadas, validadas e adicionadas à rede na forma de um novo bloco.

Cada bloco do Ethereum tem um timestamp associado, que marca a hora exata em que foi criado. Em um sorteio, é escolhido um momento específico, o timestamp do sorteio. Para gerar os prêmios, usamos informações dos blocos do Ethereum que estão imediatamente antes e depois desse timestamp do sorteio.

A função utiliza os hashes destes dois blocos. Combinando essas duas sequências de hashes, e através de processos matemáticos, a função calcula os prêmios.

A escolha de usar os blocos imediatamente antes e depois do timestamp do sorteio garante que o processo de geração dos prêmios é baseado em dados que não podem ser previstos ou manipulados, garantindo a integridade e imparcialidade do sorteio.

A função que extraem os números premiados é como um algoritmo matemático que usa esses hashes para gerar uma série de prêmios. Ele faz isso da seguinte maneira:

  1. Combinação de Hashes: Ela pega dois hashes, um do bloco atual e um do bloco anterior, e os combina.
  2. Transformação: Transforma essa combinação em uma nova sequência única (um novo hash) usando uma fórmula matemática (SHA-512).
  3. Extração de Números: A partir desse novo hash, extrai cinco sequências específicas de caracteres.
    [0, 1, 2, 3, 4].reduce((acum, index) => {
      const draw_hash = generateHash(hash, prev_hash);
      const stripped: string = draw_hash.substr(13 * index, 13);
      const val: number = parseInt(stripped, 16) / Math.pow(2, 52);
      const num: number = Math.floor(val * 10000);
      return [...acum, num.toString().padStart(4, '0')];
    }, []);
    
  1. Conversão: Converte essas sequências em números, usando regras matemáticas.
  2. Normalização: Ajusta esses números para que estejam entre um intervalo específico, neste caso, de 0 a 9.999.

Estos cinco números são usados como prêmios.

Desta forma, usando a matemática e os hashes dos blocos do Ethereum, a função garante que os prêmios são gerados de maneira justa e imprevisível.