Linguagem
(Clique para alterar)
Português
*Traduzido automaticamente
Moeda
(Clique para alterar)
$
Compartilhe:
Compartilhe esta página no Facebook Compartilhe esta página no Twitter
28 Mar 2024 15:42:00 UTC

VALIDAçãO DE LOTERIA

USD Coin (USDC)
Semana: 08-Janeiro-2023
NúMERO VENCEDOR PREVISTO
O número vencedor previsto muda cada vez que um novo jogador é adicionado e verificado.
Não disponível. Nenhum jogador.
SEMENTE BáSICA
Número aleatório de até 128 dígitos, gerado no início de cada semana para cada loteria.
COPY
CóDIGO DA TRANSAçãO
ID de transação do último jogador verificado.
Não disponível. Nenhum jogador.
INGRESSOS
Número de bilhetes de loteria vendidos.
0
JOGADORAS
Número de jogadores verificados.
0

Como é gerado o Número Vencedor?

Lottocryptos usa um sistema "Provably Fair" para as suas lotarias para alcançar transparência na geração de números vencedores.

A semente da geração do número aleatório vencedor é composta de quatro partes:

  • A - Número aleatório até 128 dígitos. É gerado semanalmente quando a lotaria começa e é diferente para cada moeda criptográfica.
  • B - O ID da transacção do último jogador. O ID da transacção do último jogador verificado da lotaria.
  • C - O número total de bilhetes de lotaria vendidos na lotaria.
  • D - O número de jogadores verificados na lotaria.
  • Para obter a semente para a geração aleatória do número vencedor, é seguido o seguinte processo.

    Cada parte é encriptada com SHA512 e concatenada. Depois é novamente encriptada com SHA512 e os seus caracteres são convertidos para o seu valor ASCII correspondente. A semente utilizada para a geração do número aleatório é este valor.

    A fim de podermos fazer todas as verificações consideradas apropriadas, fornecemos aos utilizadores o código fonte utilizado para obter o número aleatório e as ferramentas para realizar um teste de aleatoriedade.

    CóDIGO FONTE
    Arquivo: classes/class.Random.php
    Versão do PHP: 8.2.4
    Última atualização: 17-Setembro-2022 10:57:44 UTC
    Tamanho: 3231 Bytes
    <?php
    function Random_number($length){
        
    $result '';
        
    //Generate random number.    
        
    for($i=0;$i<$length;$i++){
            
    $result $result.random_int(0,9);
        }
        
        
    //Remove leading zeros.    
        
    $result ltrim($result,'0');
        if(
    $result == ''){
            
    $result 0;
        }
    return 
    $result;    
    }

    function 
    Random_string_to_int($string){
        
    $result '';
        
    //Count characters.
        
    $length strlen($string);
        
        
    //Ord ->Convert a character to its ASCII decimal value.
        
    for($i=0;$i<$length;$i++){
            
    $result $result.ord($string[$i]); 
        }
    return 
    $result;    
    }

    function 
    Random_int_to_string($number){
        
    //Convert integer to string.    
        
    $result number_format($number,0,'','');
    return 
    $result;    
    }

    function 
    Random_hash($data,$algo){
        
    //Hash string with an algo.    
        
    $result hash($algo,$data);
    return 
    $result;    
    }

    function 
    Random_basic_seed(){
        
    $result Random_number(128);
    return 
    $result;
    }

    function 
    Random_gmp_winner_number($basic_seed,$player_seed,$n_tickets,$n_players){
        
    $result '';
        
    //Convert integer to string.
        
    $n_tickets Random_int_to_string($n_tickets);
        
        
    //Hash all the parts
        
    $basic_seed Random_hash($basic_seed,'sha512');
        
    $player_seed Random_hash($player_seed,'sha512');
        
    $n_tickets_seed Random_hash($n_tickets,'sha512');
        
    $n_players_seed Random_hash($n_players,'sha512');        
        
        
    //Join all parts and hash
        
    $seed Random_hash($basic_seed.$player_seed.$n_tickets_seed.$n_players_seed,'sha512');
        
        
    //Convert letters to numbers.
        
    $seed Random_string_to_int($seed);
        
        
    //Insert seed into number generator. Only integers.
        
    gmp_random_seed($seed);
        
        
    //Generate random number.
        
    $value gmp_random_range(1,$n_tickets);
        
        
    //Convert GMP integer to string.    
        
    $result gmp_strval($value);
    return 
    $result;
    }
    /*
    //WINNER NUMBER
    $basic_seed = Random_basic_seed();
    $player_seed = 'f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16';//Transaction ID
    $n_players = 1;
    $n_tickets = 100000000;
    echo Random_gmp_winner_number($basic_seed,$player_seed,$n_tickets,$n_players);

    //RANDOMNESS TEST (Can be CPU intensive with more cycles / rounds)
    $cycles = 1;
    $runs = 1000;
    $tickets = 5;
    $player_seed = 'f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16';//Transaction ID
    $players = 5;

    $n_runs = 0;
    $probs = 0;
    $results = array();
    $results_prob = array();
    for($i=0;$i<$cycles;$i++){
        for($k=0;$k<$runs;$k++){
            $basic_seed = Random_basic_seed();
            $number = Random_gmp_winner_number($basic_seed,$player_seed,$tickets,$players);
            if(array_key_exists($number,$results)){
                $results[$number]++;
            }
            else{
                $results[$number] = 1;
            }
        }
    }
    ksort($results);?>

    <table>
        <thead>
            <td>Number</td>
            <td>Number of Times</td>
            <td>Probability</td>            
        </thead><?php 
    foreach($results as $key => $value){ 
        $n_runs += $value;
        $x = number_format((($value * 100)/($cycles * $runs)),3);
        $probs += $x;?>
        <tr>
            <td><?php echo $key;?></td>
            <td><?php echo $value;?></td>
            <td><?php echo $x.' %';?></td>
        </tr><?php 
    } ?>
        <tfoot>
            <td>Total Numbers: <?php echo count($results);?></td>
            <td>Total Runs: <?php echo $n_runs;?></td>
            <td>Total Prob: <?php echo $probs.' %';?></td>            
        <tfoot>
    </table><?php 
    */
    ?>
    TESTE DE ALEATORIEDADE
    28-Marchar-2024 15:41:59 UTC
    Valores Número de execuções Probabilidade
    1 201 20.100 %
    2 210 21.000 %
    3 184 18.400 %
    4 212 21.200 %
    5 193 19.300 %
    5 1000 100 %