Язык
(Нажмите, чтобы изменить)
Русский
*Автоматический перевод
Валюта
(Нажмите, чтобы изменить)
$
Поделись:
Поделиться этой страницей в Facebook Поделиться этой страницей в Твиттере
29 Mar 2024 1:05:08 UTC

Проверка лотереи

Ravencoin (RVN)
Неделя: 18-Сентябрь-2022
Победитель
Игрок
a0d6e3cf627db319385057236499b21e8c0bca0d7edb829036558e5f6d8a8677
Выигрышный номер
690.069.787
Билеты сыграны
350.000.001 - 891.271.211
Прогнозируемый выигрышный номер
Прогнозируемый выигрышный номер меняется каждый раз, когда новый игрок добавляется и проверяется.
690.069.787
Базовое семя
Случайное число до 128 цифр, генерируемое в начале каждой недели для каждой лотереи.
91422895822540278090277999518938613065560829285199037774189643889930993302724712452196459832480435003511401896577376768471473113
COPY
ID транзакции
Идентификатор транзакции последнего проверенного игрока.
Билеты
Количество проданных лотерейных билетов.
2.891.271.211
Игроки
Количество проверенных игроков.
18

Как генерируется выигрышный номер?

Lottocryptos использует систему "Provably Fair" для своих лотерей, чтобы достичь прозрачности в генерации выигрышных номеров.

Семя генерации выигрышного случайного числа состоит из четырех частей:

  • A - Случайное число до 128 цифр. Оно генерируется еженедельно в момент начала лотереи и является различным для каждой криптовалюты.
  • A - случайное число до 128 цифр
  • B - ID транзакции последнего игрока. Идентификатор транзакции последнего верифицированного игрока лотереи.
  • C - Общее количество лотерейных билетов, проданных в лотерее.
  • D - Количество верифицированных игроков в лотерее.
  • Для получения семян для случайной генерации выигрышного номера выполняется следующий процесс.

    Каждая часть шифруется с помощью SHA512 и конкатенируется. Затем она снова шифруется с помощью SHA512, а ее символы преобразуются в соответствующее значение ASCII. Семя, используемое для генерации случайного числа, является этим значением.

    Чтобы иметь возможность провести все проверки, которые считаются необходимыми, мы предоставляем пользователям исходный код, используемый для получения случайного числа, и инструменты для проведения теста на случайность.

    Исходный код
    Файл: classes/class.Random.php
    PHP-версия: 8.2.4
    Последнее обновление: 17-Сентябрь-2022 10:57:44 UTC
    Размер: 3231 Байты
    <?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 
    */
    ?>
    Проверка случайности
    29-Маршировать-2024 01:05:07 UTC
    Ценности Количество запусков Вероятность
    1 207 20.700 %
    2 195 19.500 %
    3 197 19.700 %
    4 199 19.900 %
    5 202 20.200 %
    5 1000 100 %