Scegli la forma dell’estrazione
La scelta dipende soprattutto da come deve apparire il risultato a chi guarda.
Un numero o un insieme di numeri — generatore di numeri casuali per un intervallo che definisci tu, numeri della lotteria per i quindici giochi con regole fisse, dadi quando ti servono notazione dei dadi e modificatori anziché un intervallo semplice.
Un vincitore da un elenco — selettore di nomi quando vuoi la risposta, gira la ruota quando c’è un pubblico che guarda e il dramma è il punto.
Un sì o un no — lancio della moneta.
Tutti divisi in gruppi — generatore di squadre, che distribuisce a giro così 7 persone in 3 gruppi diventano 3/2/2 anziché scaricare il resto nell’ultimo gruppo.
Un gioco che dura nel tempo — chiamante della tombola, 75, 90 o 99 numeri, gestito da un’unica schermata.
Verificare l’estrazione di qualcun altro — il verificatore di estrazioni, che è l’unico strumento qui che non genera nulla.
La parte che rende questa categoria diversa
Qualsiasi sito può produrre un numero casuale. Il problema più difficile è produrne uno che un partecipante scettico accetterà in seguito, ed è una catena che attraversa ogni strumento qui piuttosto che una funzione di uno solo di essi.
Funziona così. Esegui l’estrazione con un seme — un valore che scegli tu, o che lo strumento sceglie e ti mostra. Il seme rende l’estrazione riproducibile: chiunque abbia il seme e lo stesso elenco ottiene lo stesso risultato, ogni volta. Da solo non basta, perché un organizzatore potrebbe eseguire estrazioni con semi diversi finché una non esce conveniente e pubblicare solo quel seme.
Quindi un’estrazione ottiene anche un’impronta dell’elenco su cui è stata eseguita. Pubblicare il seme e l’impronta prima dell’estrazione ti vincola sia ai partecipanti che al metodo. Dopo, chiunque può incollare il certificato nel verificatore, che ricalcola l’esito e controlla che seme, elenco e risultato coincidano tutti. Cambia un nome, aggiungi un iscritto in ritardo, o scambia il vincitore, e l’impronta smette di corrispondere.
Questo non dimostra che l’organizzatore sia onesto. Dimostra che questa estrazione, su questo elenco, ha prodotto questo risultato — che è la parte che prima era impossibile da verificare per chiunque altro.
Quando non vuoi un seme
Lascia vuoto il seme e l’estrazione usa crypto.getRandomValues() invece: l’entropia
del tuo sistema operativo, non una sequenza riproducibile. È la scelta giusta
per qualsiasi cosa in cui la riproducibilità sarebbe un difetto anziché un pregio —
scegliere una password, dividere un conto, o risolvere una discussione. Nessuno ha bisogno di
verificare a chi tocca lavare i piatti.
Perché un’estrazione nel browser batte l’oggetto fisico
Una moneta reale è leggermente sbilanciata da come vengono stampate le sue facce, e cade nel modo in cui è partita marginalmente più spesso del contrario. Un dado economico è peggio: i puntini stampati rimuovono quantità diverse di materiale da ogni faccia, quindi la faccia con il sei è leggermente più leggera. Nessuno dei due difetti conta per un gioco da tavolo e nessuno dei due può essere eliminato con l’attenzione.
Un’estrazione calcolata dal pool di entropia del sistema operativo non ha alcuna asimmetria fisica da ereditare. Non è “buona quanto” una moneta reale — per l’equità, è migliore.