Spinvolta

Comment l’équité est garantie

D’abord le hasard. Ensuite l’animation. Vérifiable quand ça compte.

1. Chaque résultat vient d’un générateur aléatoire cryptographique

Spinvolta tire les résultats avec crypto.getRandomValues(), le générateur de nombres aléatoires cryptographiquement sûr intégré à tous les navigateurs et systèmes modernes — la même source que pour créer des clés de chiffrement. Nous n’utilisons jamais Math.random() pour décider quoi que ce soit. (Les éléments purement décoratifs, comme la trajectoire d’un confetti, peuvent l’utiliser.)

2. Pas de biais du modulo

Un nombre aléatoire de 32 bits ne se répartit pas toujours exactement entre, disons, 7 options : 4 294 967 296 n’est pas un multiple de 7, donc le naïf nombre % 7 rend certaines options très légèrement plus probables. Spinvolta utilise l’échantillonnage par rejet : si un nombre tombe dans le reste inégal en haut de l’intervalle, il est écarté et un autre est tiré. Chaque option a ainsi exactement la même probabilité, quel que soit le nombre d’options.

3. Des poids exacts

En mode pondéré, des poids comme 1, 2,5 ou 0,125 sont convertis en entiers sur une échelle commune et additionnés exactement. Un seul tirage uniforme sur le total désigne le gagnant : une option de poids 2 a exactement deux fois plus de chances qu’une option de poids 1, et la taille des parts montre ces probabilités exactes.

4. Plusieurs gagnants sans répétition

Les modes à plusieurs gagnants, les équipes, l’ordre aléatoire, les cartes et les concours utilisent un mélange de Fisher–Yates sans biais (avec le même échantillonnage par rejet) : chaque ordre ou groupe de gagnants possible a la même probabilité.

5. Le résultat d’abord, l’animation ensuite

Quand vous appuyez sur Tourner, le gagnant est décidé avant que la roue ne bouge. Un solveur calcule ensuite un mouvement — élan, vitesse, nombre de tours, légère oscillation finale — qui s’arrête précisément dans la part gagnante, à un endroit aléatoire loin des bords. Lancer plus fort, choisir un tour plus long ou utiliser l’arrêt manuel ne change que l’apparence. Nos tests automatiques vérifient des milliers de tours aléatoires pour s’assurer que l’animation s’arrête toujours sur le résultat tiré à l’avance et ne bascule jamais chez le voisin.

6. Des tirages prouvablement équitables pour les concours et les salons

Pour les concours (et tout tirage où la confiance compte), Spinvolta va plus loin pour que vous n’ayez à faire confiance ni à nous ni à l’organisateur :

  1. Avant le tirage, votre navigateur fige la liste exacte des participants et les réglages et publie une empreinte : un hachage SHA-256 de la liste, des réglages et d’une graine secrète. Notre serveur enregistre le moment où il la reçoit.
  2. L’empreinte désigne une ronde future de la balise d’aléa drand League of Entropy — une valeur publique produite toutes les 3 secondes par des organisations indépendantes du monde entier, que personne ne peut prévoir ni choisir.
  3. Quand cette ronde est publiée, les gagnants sont calculés à partir de l’empreinte, de la valeur de la balise et de la graine.
  4. La page de preuve affiche tout. N’importe qui peut appuyer sur Vérifier pour tout recalculer dans son navigateur, y compris la signature cryptographique de la balise.

L’organisateur ne peut pas choisir le gagnant, car la valeur de la balise n’existait pas quand la liste a été figée. Nous non plus, car nous ne voyons jamais la graine avant que l’empreinte soit figée et nous ne contrôlons pas drand. Si la balise est inaccessible, le tirage bascule sur un tirage par engagement puis révélation, clairement signalé.

7. Testé statistiquement

Nos tests exécutent des tests d’ajustement du khi-deux sur des centaines de milliers de tirages simulés à chaque modification, et sur plus d’un million dans la suite complète : tirages uniformes, pondérés, mélanges et positions avec plusieurs gagnants. Vous pouvez lancer votre propre version sur la page d’audit d’équité.

Ce que nous ne pouvons pas prouver

Pour un tour de roue ordinaire, vous faites confiance au fait que le code exécuté dans votre navigateur est bien celui que nous décrivons. Il s’exécute entièrement sur votre appareil et vous pouvez l’inspecter avec les outils de développement de votre navigateur. Quand l’enjeu est plus important — lots, tirages publics —, utilisez un tirage prouvablement équitable, qui ne demande de faire confiance à personne.

Questions fréquentes

La roue peut-elle être truquée ?

Pas par l’animation : le résultat est d’abord tiré équitablement, puis le mouvement est calculé pour le montrer. Le seul moyen de changer les probabilités est le mode pondéré, signalé par un badge « Roue pondérée » et dessiné avec des parts proportionnelles.

Pourquoi le même nom est-il sorti deux fois de suite ?

Parce que le vrai hasard produit des séries. Avec 10 options, la même sort deux fois de suite 10 % du temps. Utilisez le mode élimination si vous voulez que chaque option ne sorte qu’une fois.

Qu’est-ce que drand ?

drand est une balise d’aléa distribuée, gérée par la League of Entropy, un groupe d’universités, d’entreprises et d’organisations indépendantes. Elle publie une nouvelle valeur aléatoire vérifiable toutes les quelques secondes.