VALIDATION DE LA LOTERIE
La semaine: 20-Novembre-2022
NUMéRO GAGNANT PRéVU
Le numéro gagnant prédit change chaque fois qu'un nouveau joueur est ajouté et vérifié.
Indisponible. Aucun joueur.
GRAINE DE BASE
Nombre aléatoire jusqu'à 128 chiffres, généré au début de chaque semaine pour chaque loterie.
IDENTIFIANT DE TRANSACTION
ID de transaction du dernier joueur vérifié.
Indisponible. Aucun joueur.
DES BILLETS
Nombre de billets de loterie vendus.
0
JOUEURS
Nombre de joueurs vérifiés.
0
Comment le numéro gagnant est-il généré ?
Lottocryptos utilise un système " Provably Fair " pour ses loteries afin d'obtenir une transparence dans la génération des numéros gagnants.
La graine de la génération de numéros aléatoires gagnants est composée de quatre parties :
Chaque partie est chiffrée avec SHA512 et concaténée. Puis elle est à nouveau cryptée avec SHA512 et ses caractères sont convertis en leur valeur ASCII correspondante. La graine utilisée pour la génération du nombre aléatoire est cette valeur.
La graine est utilisée pour la génération du nombre aléatoireAfin de pouvoir effectuer toutes les vérifications jugées appropriées, nous fournissons aux utilisateurs le code source utilisé pour obtenir le nombre aléatoire et les outils permettant d'effectuer un test d'aléa.
CODE SOURCE
Dossier: classes/class.Random.php
VersionPHP: 8.1.27
Dernière mise à jour: 17-Septembre-2022 10:57:44 UTC
Taille: 3231 Octets
<?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
*/
?>
TEST DE HASARD
26-Avril-2024 17:41:48 UTC
|
||
---|---|---|
Valeurs | Nombre d'exécutions | Probabilité |
1 | 197 | 19.700 % |
2 | 217 | 21.700 % |
3 | 201 | 20.100 % |
4 | 191 | 19.100 % |
5 | 194 | 19.400 % | 5 | 1000 | 100 % |