Qu’est-ce qu’un schéma d’engagement ?
Un schéma d’engagement est une fonction qui permet à un joueur et à la plateforme de s’engager de manière sécurisée sur une valeur secrète choisie, tout en la gardant cachée aux autres.
Ces valeurs peuvent ensuite être révélées afin que des tiers puissent vérifier que l’engagement correspond à la valeur révélée. Un schéma d’engagement garantit que le casino est vérifiable.
Un schéma d’engagement comporte deux phases : une phase d’engagement et une phase de révélation.
Phase d’engagement :
L’objectif de la phase d’engagement est d’engager/verrouiller certaines valeurs créées par le joueur et l’opérateur afin de générer les résultats des jeux.
Pour simplifier, 3 valeurs sont engagées et utilisées pour générer le résultat d’un jeu. Une fois les valeurs engagées, elles ne peuvent pas être modifiées avant la phase de révélation. Lors de l’engagement, un hachage est effectué afin d’empêcher toute falsification.
Seed client actif
Seed serveur actif (non haché)
Nonce
Output = Commit(Active_Client_Seed, Active_Server_Seed, Nonce)
Seed client actif : n’est pas haché et correspond à une valeur définie par le joueur.
Seed serveur actif (non haché) : est gardé secret et créé par le serveur. Cette valeur secrète est hachée. Seule la valeur hachée est affichée à l’opérateur et au joueur.
Nonce est initialement défini sur 0, car aucune partie n’a été jouée. Il augmente à chaque partie.
La combinaison de ces 3 variables garantit que le résultat de l’engagement est toujours différent
Phase de révélation :
Lors de la phase de révélation, l’objectif est de révéler le seed serveur non haché. Une fois les seeds non hachés et le nonce connus, l’utilisateur peut vérifier son résultat.
Si un joueur souhaite vérifier ses résultats, il devra d’abord renouveler sa paire de seeds serveur et client.
Une fois cela effectué, la plateforme révélera et affichera le seed serveur précédemment actif. Les joueurs, l’opérateur et tout tiers connaîtront alors l’ensemble des 3 informations : le seed client, le seed serveur et le nonce.
En saisissant le seed client, le seed serveur et le nonce du tour connus, il sera toujours possible de prouver les résultats du jeu et du tour concernés.
Seed serveur
Le seed serveur est généré par votre système sous la forme d’une chaîne hexadécimale aléatoire de 64 caractères. Ce seed est soumis à des processus de hachage SHA-256. La valeur hachée est affichée. Le hachage remplit deux fonctions :
Prévention de la triche : il est impossible, d’un point de vue informatique, pour un utilisateur de retrouver le seed serveur d’origine non haché à partir du hachage (résistance à la première préimage), ce qui empêche les joueurs de tricher.
Prévention de la manipulation : en raison de la propriété de résistance aux collisions de SHA-256, il est impossible, d’un point de vue informatique, de trouver deux entrées non hachées identiques produisant la même sortie hachée, ce qui empêche l’opérateur de tricher au détriment du joueur.
Ce n’est qu’une fois le jeu terminé et lorsque l’utilisateur renouvelle les seeds clients que le casino révèle le seed serveur à des fins de vérification.
Seed client
Le seed client vous appartient, en tant que joueur, afin de vous permettre d’influencer le caractère aléatoire du résultat de chaque jeu.
Au départ, le seed client est généré aléatoirement pour vous par votre navigateur. Toutefois, nous vous encourageons à le modifier pour choisir une valeur selon vos préférences. Cela vous garantit, en tant que joueur, d’avoir votre mot à dire sur le résultat du jeu.
Nonce
En cryptographie, le nonce fait référence à « number once ». Il s’agit d’un nombre dont la valeur augmente chaque fois qu’un nouveau pari est placé avec le même ensemble de seeds serveur et client.
Cela garantit que la combinaison du seed serveur, du seed client et du nonce est différente à chaque jeu, tout comme le résultat du schéma d’engagement.
En savoir plus sur la manière dont ces valeurs sont implémentées dans le code.


