Poker online : Rigged, vous avez dit rigged ?
Parmi les serpents de mer qui traînent sur tous les forums de poker online du monde, il y en a un dont on est certain de voir la queue au moins une fois par jour. Quel joueur de poker ne s’est pas un jour posé sérieusement la question : « le poker online est-il rigged ? ». Ou encore, en termes plus profanes : « suis-je la victime d’une conspiration à grande échelle dont le seul but est de me faire perdre un maximum d’argent sur les sites de poker online ? ».
L’idée est séduisante, en particulier si on est adepte des grandes théories de la conspiration sur des thème aussi variés que les attentats du 11 Septembre, la marche de l’homme sur la Lune ou les activités sinon l’existence de la base de Roswell aka Zone 51. Et il est d'autant plus difficile de résister aux chants des sirènes conspirationnistes, ou du moins de ne pas se poser certaines questions, lorsque pour la quatrième fois consécutive votre paire d’As se fait craquer préflop par la main poubelle 6-4 dépareillé6♦3♠ dans les mains du chipleader de votre table. Comme par hasard.
Le hasard, une illusion dans un monde déterministe
Le hasard, justement, est au centre du débat. Existe-t-il seulement ? Cette question à première vue purement réthorique est loin d’être saugrenue et fait même l’objet d’un débat séculaire entre différentes visions du monde et de l’univers qui nous entoure. Pour les déterministes, il n’y a pas de hasard mais simplement une limite à la compréhension humaine entre un phénomène et ses causes. En d’autres termes, ce n’est pas parce qu’on ne comprend pas la raison d’un événement que cet événement est soumis à un vrai hasard. Sont donc considérés comme hasardeux, pour des raisons pratiques pourrait-on dire, les événements dont l’esprit humain ne comprend pas la relation de cause à effet.
Depuis toujours, les dés symbolisent ainsi le « hasard », un mot qui est dérivé de l’arabe hal-zahr qui signifie, eh bien, "dés"... comme par hasard ! Nous lançons les dés et connaissons parfaitement tous les phénomènes physiques qui vont déterminer le résultat du jet (accélération, angle, gravité, rebonds, et même la force centrifuge de la rotation de la Terre si on veut pinailler) mais sommes totalement incapables de prédéterminer ce résultat. Selon la théorie du chaos, que l’on peut symboliser par le fameux « effet papillon », il n’y a donc pas de hasard dans le jet d’un dé, mais l'imprévisibilité pour un observateur d'une suite d'événements en grande partie incontrôlables qui rend le tout aléatoire aux yeux de ce dernier.
De même le mélange des cartes au poker, leur distribution et les combinaisons qui découlent de leur tirage successifs sont considérés comme un phénomène dû au hasard, non pas parce que le résultat est réellement aléatoire, mais parce qu’il est imprévisible.
Créer du hasard, une tâche complexe
Une chose est sûre, la plupart des joueurs de poker online ignorent à quel point il est compliqué de « générer du hasard ».
Des programmes informatiques appelés algorithmes sont utilisés pour générer des séquences de données, séquences qui sont considérées aléatoires « si et seulement si cette séquence est plus courte que le programme qui la peut la reproduire » (ainsi que défini par le mathématicien russe Andrey Kolmogorov).
Ainsi, la séquence aaabbbcccdddeeefffggg… répétée à l’infini pourrait être définie comme « une suite répétitive composée de trois fois une lettre dans l’ordre progression de l’alphabet » tandis que la séquence fiovhf:eq:rlhqretqrehgqoehgqehgmiZF§ que je viens de taper « au hasard » sur mon clavier n’a aucune logique apparente et ne peut donc être reproduite par un programme plus court qu’elle.
Afin de distribuer les cartes de la façon la plus aléatoire possible, les salles de poker online ont donc conçu des algorithmes qui simulent le mélange des cartes et leur distribution aux joueurs. En gros, les logiciels de poker online assignent un nombre à une carte, et ce nombre est ‘mélangé’ un grand nombre de fois avec d’autres nombres représentant d’autres cartes. Pour savoir quand arrêter le mélange des cartes et en tirer une du paquet, ces logiciels font appel à ce qu’on appelle un générateur de nombres aléatoires.
Ces fonctions, ces RNGs (Random Number Generator) comme on les connaît dans le monde du poker online, agissent comme un ordre stop dans le processus de permutation (modélisé par notre algorithme) d’une grande quantité de nombres. Le RnG va définir une séquence de nombres n’ayant à priori aucun rapport entre eux, cette séquence de nombres étant utilisée pour forcer l’algorithme à arrêter de mélanger les cartes et finalement les distribuer de façon aléatoire, ou plus exactement, de façon imprévisible.
Le problème des pseudo-RNGs
Tout comme les ordinateurs et la plupart des choses en ce bas monde qu’on le veuille ou non, les algorithmes sont déterministes. C'est-à-dire que tout ce qu’on entre d’un côté sort de l’autre de façon prévisible. Si vous prenez deux fois le même nombre et le passez à la moulinette de l’algorithme, vous obtiendrez un résultat identique à la sortie, ce qui est tout sauf du hasard. Les RNGs permettent donc de contourner ce problème en déterminant un nombre aléatoire, et c’est ce nombre qui est introduit dans la moulinette de l’algorithme.
Étant donné que le hasard n’existe pas dans un monde déterministe, les logiciels de poker online font appel à des nombres « suffisamment imprévisibles » pour qu’ils puissent être considérés comme aléatoires, bien qu’ils ne le sont pas réellement. C’est la raison pour laquelle on qualifie ces nombres de ‘pseudo-aléatoires’ et les mécanismes qui les produisent des ‘pseudo-générateurs de nombre aléatoires’ ou pseudo-RNGs (Random Number Generator).
Le grand avantage de ces pseudo-RNGs est qu’ils demandent beaucoup moins de traitements qu’un vrai générateur de nombres aléatoires (True-RNG) et permettent donc d’accomplir de très nombreux calculs simultanés, un paramètre essentiel pour les salles de poker online. Malheureusement la technologie n'a pas toujours été à la hauteur du défi consistant à produire des événements aléatoires en grande quantité, qui plus est simultanément.
Les pseudo-RNGs appliqués au poker online : le cas PlanetPoker
Avec 52 cartes uniques (qui ne peuvent être distribuées qu’une seule fois par main), il existe 52! possibilités de mélanger un paquet, soit environ 2 puissance 225 mélanges possibles. Afin que vous réalisiez l’énormité de ce nombre sachez que 2^225 représente... 80.658.175.170.943.878.571.660.636.856.404.000.000.000.000.000.000.000.000.000.000.000.000 combinaisons possibles !
Il y a une dizaine d’années, cinq programmeurs férus de poker se sont intéressés au logiciel de PlanetPoker, une salle de poker online qui avait cru bon de révéler leur algorithme de mélange des cartes pour prouver l’impartialité de ce dernier. Une fausse bonne idée puisque les programmeurs étaient parvenus à craquer le système en trouvant plusieurs failles dans ce système. La plus grosse de ces failles résidait dans la façon dont était gérée le mélange des cartes.
PlanetPoker utilisait en effet un algorithme basé sur le programme ASF dont le RNG fonctionnait en 32 bits. Pour faire court, cela signifiait que ce pesudo-RNG pouvait générer 2^32 paquets différents soit 4 milliards de possibilité (4.294.967.296 exactement), un chiffre absolument ridicule comparé aux 2^225 mélanges possibles d’un paquet réel !
Encore pire, les programmeurs du logiciel de PlanetPoker utilisait la fonction Randomize() du langage Pascal pour déterminer la « seed », le nombre entier qui est introduit dans le générateur de hasard. Cette fonction se base sur le nombre de millisecondes depuis 0H00 d’après l’horloge système de l’ordinateur qui la calcule. Or il n’y a guère que 86 millions de secondes dans une journée, avec pour conséquence de passer de 4 milliards de mélange possibles à 86 millions !
En synchronisant leur programme avec l’horloge du logiciel de PlanetPoker, nos cinq hackers sont parvenus à descendre le nombre de combinaisons possibles à seulement 200.000, rendant alors possible le craquage du logiciel par n’importe quel ordinateur individuel, qui plus est en temps réel.
Sécurité et imprévisibilité au service des joueurs : l'exemple de PokerStars
L’entreprise des programmeurs qui ont réussi l’exploit de craquer ce logiciel est devenue par la suite Cigital, une société spécialisée dans la sécurité informatique qui sera notamment choisie par PokerStars pour superviser et vérifier la qualité de son logiciel de poker online. L'une des missions les plus importantes de ces organismes de certification, outre la vérification des protocoles de sécurité, est de s'assurer que les cartes distribuées par les logiciels de poker le sont de la façon la plus aléatoire possible.
Pour qu’un nombre (ou un tirage de cartes) soit vraiment aléatoire, il faut donc s'assurer que toutes les opérations qui générent ce nombre soit elles aussi sinon parfaitement aléatoires du moins totalement imprévisibles. PokerStars, la plus grande salle de poker online utilise tous les moyens qui existent pour assurer l’absolue intégrité indispensable à ce genre d’opérations. L’entropie d’un système est le taux d’imprévisibilité des données générées par ce système. Dans le cas d’un pseudo-générateur de nombres aléatoires (PRNG) tels que celui qui fut déployé sur PlanetPoker, une entropie insuffisante permet de facilement craquer le RNG et réduire le nombre de données inconnues.
En conséquence le RNG du logiciel PokerStars utilise 2^249 bits générée par deux sources d’entropie différentes, ce qui en fait un True-RNG par opposition au Pseudo-RNGs. Ainsi, pour générer le nombre aléatoire requis le RNG de PokerStars, développé par Intel, se base sur les variations du « bruit thermique » de l’environnement du serveur. Les données générées sont ainsi totalement imprévisibles, au même titre que la trajectoire d’une poussière dans l’air à un moment donné ou le nuage de points dessiné par un vol d’étourneaux.
La deuxième source d’entropie utilisée est générée par… vous-même, c'est-à-dire le joueur. Sont pris en compte le mouvement de la souris par exemple, ou encore le timing des clics. Selon que vous cliquiez au bout de 3 ou 4 secondes, le résultat du tableau sera différent.
Non, vous ne "saviez" pas que l'As sortirait à la rivière
Le niveau de « hasard » généré par les logiciels de poker online et les mesures de sécurité tant au niveau des équipements que des programmes rendent le craquage de ces derniers sinon impossible, du moins extrêmement improbable. Assez pour que le résultat ressemble à du « vrai » hasard, c’est-à-dire qu’il soit totalement imprévisible.
Puisque le résultat est imprévisible, nous ne pouvons pas prévoir que « notre paire d’As va se faire craquer » avec une fréquence supérieure aux probabilités de cet événement sans défier les lois des mathématiques. Prévoir le résultat d’un tableau de poker online est aussi rationnel que de prévoir où et quand tombera le prochain éclair, ou lire l’avenir dans les entrailles d'une bête morte.
En d’autres termes, quand vous vous faites craquer votre paire d’As préflop par une poubelle et que vous vous écriez « et voila, j’en étais sûr, et à la rivière comme par hasard ! », vous ne faites que vous mentir à vous-même. Il est tout à fait impossible de prévoir un tel phénomène avec certitude, pour un être humain en tout cas. C’est même ce qui fait toute la beauté, et souvent la cruauté, de ce jeu.
Le poker online pas plus rigged que la vie elle-même
Quant à savoir si les salles de poker online, au premier rang desquelles PokerStars et Full Tilt Poker, ont faussé les règles du jeu pour faire apparaître en temps réel les cartes « qui les arrangent » cela soulève tellement de problèmes et obstacles (sans même parler de l’intérêt réel d’une telle chose) qu’il paraît hautement improbable, voire impossible, de le faire sans créer des brèches dans le système qui seraient exploitables par des pirates un tant soit peu expérimentés. Sans oublier que ce craquage devrait être effectué à la source même sur les serveurs des salles de poker online et bien sûr passer au travers des radars des sociétés de certification comme Cigital et de nombreux informaticiens qui testent continuellement ces logiciels.
Enfin, mais là c'est un tout autre débat, l'intérêt d'une salle de poker online à "truquer" les résultats des coups pour avantager un joueur par rapport à un autre reste à démontrer d'un point de vue purement économique ou marketing. Que Pierre, Paul ou Jacques gagnent un coup ne change rien au 'rake' qu'encaissera de toute façon l'organisateur de la partie.
Alors oui, certains joueurs ont beaucoup de chance, d'autres nettement moins, mais ainsi va la vie et ceci n'a rien de spécifique au poker online. Personne ne vous conteste le droit d'être en colère lorsque la chance tourne en votre défaveur. Mais parmi toutes les choses qui devraient vous inquiéter, remettre en cause l'imprévisibilité salles de poker online est une insulte à la logique dont tout bon joueur doit être armé pour faire une carrière de gagnant.
N’hésitez pas à rechercher des informations sur les salles de poker online où vous jouez afin de le faire avec une totale tranquillité d’esprit. Profitez plutôt de vos grands moments de solitude pour travailler votre résistance aux mauvais coups et votre capacité à réagir après une grosse désillusion. Il n’y a pas de conspiration planétaire pour raser votre compte poker. En revanche il y a de nombreux autres problèmes liés à la nature du poker online, dont par exemple la polémique actuelle à propos de la collaboration entre joueurs en dehors des tables.
Poker Geek, le Sheldon Cooper de Poker News, animait une rubrique abordant le poker sous ses aspects technologiques et scientifiques. Cet article de 2009 est à méditer en ce vendredi 13...