Blog Playgridia

Les dés du backgammon sont-ils justes ? Vérifiez vous-même

Les dés du backgammon en ligne sont-ils justes ? La réponse honnête est : normalement, vous ne pouvez pas le savoir, car celui qui lance les dés produit aussi le résultat et vous dit simplement « fais-moi confiance ». Sur ce plateau, c'est différent — les dés sont générés par un protocole d'engagement–révélation (commit–reveal) et chaque lancer, après la fin du jeu, vous pouvez le recalculer et le vérifier vous-même.

« J'ai eu l'impression qu'il y avait de la triche » n'est pas une preuve

Obtenir deux six d'affilée ou ne pas avoir le nombre souhaité au moment critique est vraiment frustrant — mais notre mémoire est un mauvais témoin au sujet des dés. Qu'un événement sur 36 possibilités se réalise une fois sur 36 lancers est un événement normal ; perdre trois fois d'affilée aussi. Le cerveau se souvient des moments où ça va mal et oublie les cinquante lancers ordinaires. Cela ne rend pas votre soupçon dénué de sens — seulement « j'ai ressenti » et « j'ai prouvé » sont des choses différentes, et la méthode ci-dessous vous donne la seconde.

Méthode : L'engagement–révélation (Commit–Reveal)

Avant le premier lancer d'une partie, le serveur génère un nombre secret de 32 octets (serverSeed) et ne publie que son empreinte SHA-256 (l'engagement) — pas le nombre secret lui-même. L'ordre est ici critique : l'engagement devient public avant que quiconque connaisse sa graine et avant qu'un seul dé ne soit lancé, donc le serveur ne peut pas plus tard inventer quelque chose rétroactivement en disant « en fait, la graine secrète était celle-ci » — l'empreinte ne correspondrait plus.

Ensuite, chaque joueur ajoute sa propre graine (client seed) — du texte libre de votre choix, jusqu'à 40 caractères ; si vous n'entrez rien, une graine aléatoire de 8 octets est générée automatiquement. Votre graine entre dans le calcul de chaque dé, donc le serveur ne peut pas deviner la graine que vous ajouterez plus tard et choisir un nombre secret qui s'y adapterait.

Chaque lancer est calculé avec la formule HMAC-SHA256(serverSeed, « graineBlanche:graineNoire:nonce ») ; nonce est le numéro de séquence du lancer dans le jeu. Les deux dés sont dérivés des deux premiers octets de cette sortie HMAC — mais pas n'importe quel octet, seulement les octets inférieurs à 252. La raison en est pure mathématique : si on divise directement la valeur d'un octet par 6 et qu'on prend le reste (byte % 6), les petits chiffres aparaissent environ 1,6 % plus souvent, car 256 ne se divise pas exactement par 6. Or, 252 est exactement 6×42, donc chaque octet en dessous de ce seuil représente les six faces avec probabilités rigoureusement égales. Ce détail prouve que quelqu'un a vraiment pris ce travail au sérieux.

Lorsque le jeu se termine, le nombre secret (serverSeed) est révélé. À partir de là, non seulement les deux joueurs, mais quiconque le souhaite peut recalculer chaque dé de ce jeu et le comparer à l'empreinte publiée.

ÉtapeCe qui se passeQui peut vérifier
1. EngagementLe serveur génère un nombre secret de 32 octets, ne publie que son empreinte SHA-256Tout le monde — l'empreinte est publique avant le premier lancer
2. GraineChaque joueur ajoute sa propre graine libre, jusqu'à 40 caractèresLes joueurs — ils connaissent leurs propres graines
3. LancerChaque dé est calculé à partir de HMAC-SHA256(nombre secret, graines:nonce), en utilisant les octets inférieurs à 252Personne à l'avance — seulement après révélation
4. RévélationQuand le jeu se termine, le nombre secret lui-même est publiéTout le monde — la formule est maintenant disponible
5. VérificationChaque lancer est recalculé et comparé à l'empreinteTout le monde — dans le navigateur, sans faire confiance au serveur

Comment le vérifier vous-même

Il y a un panneau d'équité sur le plateau : il affiche l'engagement (l'empreinte) et marque la clé comme « scellée » tant que le nombre secret n'a pas encore été révélé. Après la fin du match, une page d'Analyse exécute l'intégralité de la vérification pour vous. Un détail important ici : le code de vérification dans le navigateur n'importe pas le code du serveur — il est réécrit indépendamment avec la propre infrastructure Web Crypto du navigateur. Donc la preuve ne dépend pas de votre confiance dans l'implémentation du serveur ; votre propre navigateur fait son propre calcul. De plus, un point de terminaison du serveur retourne également le résultat avec le nom de l'algorithme utilisé — avec sa propre définition dans le code source : « la preuve elle-même, et non une commodité ». Les matchs terminés sont conservés 400 jours avec les enregistrements des dés révélés, donc même si vous soupçonnez une partie de la saison dernière, vous pouvez toujours la vérifier.

Plateau de backgammon avec deux dés (4 et 1), compte de pips pour GrandDuke210 de 153 et pour le bot AnchorAda de 136, les dames dispersées en contact.
Le lancer est lu directement sur le plateau — le compte de pips est affiché en direct à côté du nom de chaque joueur.

Le thème du plateau ne peut pas modifier les dés

Structurellement, le fichier contenant la logique des dés ne prend aucun paramètre de plateau ou de thème dans aucune de ses fonctions — donc le thème de plateau que vous choisissez ne peut absolument pas affecter les dés qui viennent. Quel que soit celui des quatre différentes apparences de plateau que vous choisissez, le code qui calcule les dés reste le même.

Même qui commence est déterminé par le même système

Le jet d'ouverture qui détermine qui joue en premier est également une partie de la même chaîne vérifiable. Les deux côtés sont traités comme s'ils tenaient chacun un dé d'un seul lancer combiné — l'un le dé blanc, l'autre le dé noir ; celui qui obtient le plus haut commence et joue les deux dés comme son propre coup à l'ouverture. Si les deux dés sont égaux, c'est une égalité et le lancer est répété — mais cette répétition est également une partie de la même chaîne, car le numéro de séquence (nonce) est avancé et enregistré. Le nombre de fois où il y a une égalité avant le vrai jet d'ouverture est même envoyé séparément au client, donc ce nombre ne vous est pas non plus caché.

Plateau de backgammon avec dés 1 et 3 lancés ; les dames blanches sont largement rassemblées en tas de 12 sur la flèche 1, l'adversaire noir commence à sortir ses dames du plateau droit. Compte de pips 52 à 7, videau au centre affiche 2, score 0-0/5.
Une partie à la phase de sortie : la différence de pips (52 contre 7) dit que la course est déjà terminée. Que les dés soient vérifiables ne transformera pas une partie perdue en gagnée — seulement la raison ne sera plus contestée.

Ce que cette méthode ne prouve pas

Pour être honnête : l'engagement–révélation prouve que les dés n'ont pas changé après l'engagement et que tout le monde peut recalculer les dés. Vous ne pouvez pas savoir à l'avance quel nombre secret le serveur a choisi avant de publier l'engagement — mais cela n'a pas d'importance, car votre graine compte aussi dans le calcul, donc le serveur ne peut pas faire un choix basé sur un résultat sans voir votre contribution. C'est la revendication de la méthode, pas plus ni moins ; nous ne promettons pas une déclaration exagérée du type « tout est prouvé ».

Vous pouvez aussi mesurer votre chance

L'analyse après le match calcule la chance sur chaque lancer en fonction de la position dans laquelle vous vous trouviez réellement à ce moment — donc la phrase « j'ai perdu contre les dés » ici n'est pas une affirmation, mais un chiffre que le jeu lui-même vous sort et vous donne. Si vous voulez distinguer si les dés ont vraiment été mauvais ou si le jeu a été faible, vous pouvez d'abord consulter l'article comment jouer au backgammon pour rafraîchir les règles, puis le guide stratégie du backgammon pour améliorer votre jeu. Si vous cherchez un autre adversaire à deux joueurs, la liste jeux en ligne à deux joueurs est aussi un bon point de départ.

En résumé : votre soupçon est légitime, mais maintenant il y a une réponse. Lorsque vous soupçonnez un match, vérifiez la clé scellée dans le panneau d'équité, et après la fin du match, vérifiez la validation dans la page d'Analyse ; si vous le souhaitez, faites aussi votre propre calcul. Les dés eux-mêmes ne sont plus contestables, et la seule chose qui reste à discuter est la qualité de votre jeu.

Questions fréquentes

Les dés du backgammon en ligne sont-ils vraiment truqués ?

Sur ce plateau, les dés sont générés par un protocole d'engagement–révélation : le serveur publie l'empreinte SHA-256 d'un nombre secret avant le premier lancer, révèle le nombre secret lui-même à la fin du jeu, et tout le monde peut recalculer chaque lancer et le comparer à l'empreinte. Le serveur ne peut pas modifier le résultat après avoir publié l'engagement, car l'empreinte ne correspondrait plus.

Comment savoir que les dés sont générés par engagement–révélation ?

Sur le plateau, vous voyez l'engagement (l'empreinte) dans le panneau d'équité et la clé est marquée comme « scellée » tant que le nombre secret n'a pas été révélé. Après le match, la page d'Analyse recalcule et vérifie tous les dés ; cette vérification s'exécute dans votre navigateur avec un contrôle écrit indépendamment du code du serveur.

Puis-je définir ma propre graine pour les dés ?

Oui, entre les matchs, vous pouvez définir n'importe quel texte libre de votre choix comme votre graine (client seed), jusqu'à 40 caractères. Si vous ne définissez rien, une graine est générée automatiquement ; dans les deux cas, votre graine entre dans le calcul de chaque dé.

Le thème ou les couleurs du plateau affectent-ils les dés ?

Non. Le code qui effectue le calcul des dés ne prend aucune information de plateau ou de thème dans aucune fonction, donc le choix du plateau que vous faites ne peut absolument pas affecter les dés futurs.

Puis-je vérifier les dés d'un ancien match plus tard ?

Oui, les matchs terminés sont conservés 400 jours avec les enregistrements des dés révélés. Durant cette période, vous pouvez accéder à la page d'Analyse et vérifier à nouveau chaque lancer d'un match passé.

Comment puis-je savoir si j'ai vraiment eu de la malchance ?

L'analyse après le match calcule la chance sur chaque lancer en fonction de la position dans laquelle vous vous trouviez réellement à ce moment, donc c'est une mesure basée sur la position, pas sur le résultat. Cela vous donne un chiffre concret pour distinguer si les dés ou le jeu étaient le facteur décisif.

Backgammon

Articles liés