Aller au contenu
Plouf-Ploufle retour
Comment organiser un tirage au sort vérifiable pour un giveaway — illustration de couvertureGuide pratique

Comment organiser un tirage au sort vérifiable pour un giveaway

4 min de lecture
Sur cette page
  1. Le problème de confiance des tirages classiques
  2. Comment le commit-reveal comble le fossé
  3. Un guide de 5 minutes pour un giveaway
  4. Ce que l'audience voit
  5. Erreurs courantes qui cassent la garantie
  6. Ce que c'est, et ce que ce n'est pas
  7. Essayez

Le moyen le plus rapide de perdre une audience de giveaway, c'est de tirer le gagnant en privé. Même si vous êtes scrupuleusement équitable, le chat supposera le contraire — parce qu'il n'a aucun moyen de vérifier. Un tirage vérifiable règle ça. La technique s'appelle le commit-reveal, et elle permet à n'importe qui dans votre audience de rejouer le tirage sur sa propre machine, d'obtenir le même gagnant, et de confirmer que vous n'avez pas trafiqué la liste après coup. Cet article est un guide pratique que vous pouvez exécuter en stream ou sur Discord en moins de cinq minutes.

Le problème de confiance des tirages classiques

Un tirage « classique » sur la machine d'un streamer ressemble à ça :

  1. Le streamer collecte les participations.
  2. Le streamer clique pour tirer.
  3. L'écran affiche un gagnant.

Pour l'audience, l'étape 2 est invisible. Le streamer a-t-il discrètement retiré trois prénoms avant de tirer ? Ajouté son cousin ? Re-tiré jusqu'à ce qu'un favori sorte ? Impossible à dire. Le streamer ne peut pas prouver qu'il ne l'a pas fait. Même les streamers de bonne foi finissent par faire face à des accusations parce que l'équité qu'on ne peut pas vérifier n'est pas de l'équité, c'est juste de la bonne volonté.

Comment le commit-reveal comble le fossé

Un tirage vérifiable divise le moment en deux :

  1. Commit. Avant que quiconque ne sache qui a participé, le streamer publie une empreinte cryptographique (un hash SHA-256) de deux choses : la liste des participants et un nombre aléatoire secret appelé « grain de sel ». L'empreinte ne révèle rien sur aucune des entrées — mais elle les verrouille.
  2. Reveal. Après la fin des participations, le streamer révèle le grain secret. N'importe qui peut prendre la liste des participants + le grain, les hasher, et vérifier que le hash correspond à celui publié à l'étape 1. Si le streamer avait modifié la liste entre-temps, le hash ne correspondrait pas.

La liste détermine le gagnant, le grain détermine l'ordre, le hash rend les deux inviolables. L'audience vérifie ; le streamer ne peut pas tricher sans être pris.

Un guide de 5 minutes pour un giveaway

Voici la version que vous pouvez vraiment exécuter en stream :

  1. Ouvrez les participations. Collectez les participations comme d'habitude — mot-clé en chat, réaction Discord, formulaire. Coupez à une deadline annoncée.
  2. Figez la liste. Exportez les participants dans un fichier texte. Un nom (ou wallet, ou pseudo) par ligne. Triez alphabétiquement — ça rend le fichier déterministe.
  3. Générez l'engagement. Ouvrez l'outil de tirage vérifié. Collez la liste. Cliquez commit. L'outil vous donne un hash SHA-256 et un grain secret. Publiez le hash en stream + en message épinglé. Gardez le grain privé jusqu'au tirage.
  4. Attendez. Quelques minutes, une heure, un jour — selon la cadence de votre giveaway.
  5. Reveal. En stream, recollez le grain dans l'outil. L'outil recalcule le hash (pour que l'audience puisse vérifier qu'il correspond à celui publié plus tôt) et annonce le gagnant.
  6. Partagez le vérifieur. Un vérifieur JavaScript autonome — open source, tourne dans n'importe quel navigateur — permet à n'importe qui de brancher la liste + le grain et de rejouer le tirage sur sa propre machine. Même gagnant à chaque fois.

L'ensemble de la boucle prend autant de temps qu'un tirage normal, plus les dix secondes qu'il faut pour copier un hash en chat.

Ce que l'audience voit

Du point de vue du chat la timeline est :

  • T-0 : « Voici le hash de ma liste de participants + grain : 8f3a… » → épinglé en chat.
  • T+1 heure (ou autre) : clôture des participations.
  • T+1h05 : « Voici le grain auquel je m'étais engagé : c1d9…. L'outil renvoie le même hash. Le gagnant est Alex. »

Toute personne ayant pris une capture du hash à T-0 peut vérifier la déclaration de T+1h05 indépendamment. C'est tout l'intérêt. Pas besoin de faire confiance au streamer ; on peut vérifier.

Erreurs courantes qui cassent la garantie

  • Publier le grain avant la deadline. Si vous laissez fuiter le grain en avance, quiconque connaît la liste peut calculer le gagnant avant le tirage et truquer son entrée.
  • Modifier la liste après le commit. Ajouter un seul espace change le hash. L'audience le repère instantanément.
  • Réutiliser le même grain entre plusieurs tirages. Chaque tirage a besoin de son propre grain aléatoire frais. Un grain réutilisé ouvre un petit canal de fuite.
  • Hasher la liste dans un format différent de celui attendu par le vérifieur. Les espaces, les fins de ligne, l'ordre de tri comptent tous. Le vérifieur et le committeur doivent s'entendre sur le flux d'octets exact.

Ce que c'est, et ce que ce n'est pas

Un tirage vérifiable prouve que vous n'avez pas trafiqué la liste ou le résultat entre le commit et le reveal. Il ne prouve pas que la liste elle-même était complète (vous pourriez avoir silencieusement omis des participants avant de commit), et il ne prouve pas que les participations étaient uniques (vous pouvez toujours boter votre propre giveaway). Pour les tirages à fort enjeu — loteries régulées, droit des concours — vous voulez toujours un huissier ou un auditeur dans la boucle. Pour un giveaway de streamer, un tirage vérifiable est le bon niveau de rigueur : assez équitable pour que le chat arrête de se disputer.

Essayez

L'outil de tirage vérifié vous guide à travers le flux commit/reveal sans aucune configuration. Faites un tirage test sur trois prénoms bidons avant de passer en live ; la mémoire musculaire vaut dix secondes de pratique.