Náhoda

Kostky, mince, losování a kolo štěstí — každý výsledek vychází z entropie vašeho operačního systému, nebo ze seedu, který si zvolíte, aby si losování mohl kdokoli zopakovat a ověřit.

Čísla a hry

3

Losování

3

Jména a týmy

3

Zvolte podobu losování

Volba se točí hlavně kolem toho, jak má výsledek vypadat pro lidi, kteří se na něj dívají.

Číslo nebo sada čísel — generátor náhodných čísel pro rozsah, který si zadáte, loterijní čísla pro patnáct her s pevnými pravidly, kostky, když potřebujete kostkový zápis a modifikátory místo plochého rozsahu.

Jeden výherce z listiny — výběr jména, když chcete rovnou odpověď, roztočit kolo, když se dívá publikum a jde právě o to dramatické napětí.

Ano, nebo ne — hod mincí.

Rozdělení všech do skupin — generátor týmů, který rozděluje po kruhu, takže 7 lidí do 3 skupin vyjde 3/2/2 místo toho, aby zbytek skončil naházený do poslední skupiny.

Hra, která běží v čase — volání bingo čísel, 75, 90 nebo 99 kuliček, ovládané z jedné obrazovky.

Ověření cizího losování — ověřovač losování, jediný nástroj tady, který nic sám negeneruje.

Co dělá tuhle kategorii jinou

Náhodné číslo umí vygenerovat kdejaký web. Těžší problém je vygenerovat takové, které skeptický účastník po skončení přijme jako férové — a to je řetězec, který prochází napříč všemi nástroji tady, ne vlastnost jednoho z nich.

Funguje to takhle. Losování proběhne se semínkem (seed) — hodnotou, kterou zvolíte, nebo kterou zvolí nástroj a ukáže vám ji. Semínko dělá losování opakovatelným: kdokoliv má semínko a stejný seznam, dostane pokaždé stejný výsledek. Samo o sobě to ale nestačí, protože organizátor by mohl zkoušet losování s různými semínky, dokud jedno nevyjde výhodně, a zveřejnit jen to.

Proto losování dostane i otisk (fingerprint) seznamu, se kterým proběhlo. Zveřejnění semínka a otisku před losováním vás zaváže jak k účastníkům, tak k metodě. Kdokoliv pak může vložit certifikát do ověřovače, který přepočítá výsledek a ověří, že semínko, seznam i výsledek souhlasí. Změňte jméno, přidejte pozdní přihlášku nebo vyměňte výherce, a otisk se přestane shodovat.

Tohle nedokazuje, že je organizátor poctivý. Dokazuje to, že tohle losování, nad tímhle seznamem, vedlo k tomuto výsledku — a to je přesně ta část, kterou dřív nikdo jiný nedokázal ověřit.

Kdy semínko nechcete

Nechte pole semínka prázdné a losování použije místo něj crypto.getRandomValues(): entropii vašeho operačního systému, ne opakovatelnou posloupnost. To je správná volba všude tam, kde by opakovatelnost byla spíš na škodu než výhodou — výběr hesla, rozdělení účtu nebo urovnání hádky. Nikdo nepotřebuje auditovat, kdo z vás bude mýt nádobí.

Proč losování v prohlížeči překoná fyzický předmět

Skutečná mince je nepatrně vychýlená tím, jak jsou její strany ražené, a dopadá tou stranou, kterou byla nahoru na začátku, o něco častěji, než by měla. Levná kostka je na tom hůř: vylisované tečky odeberou z každé strany jiné množství materiálu, takže strana se šestkou je nepatrně lehčí. Ani jedno vychýlení nevadí u společenské hry a ani jedno nejde odstranit tím, že budete opatrnější.

Losování spočítané z entropie operačního systému žádnou fyzickou asymetrii zdědit nemůže. Není to „skoro stejně dobré” jako skutečná mince — pokud jde o férovost, je to lepší.

Uvítal bych, kdybyste tyto stránky sdíleli s přáteli, uložili si je do záložek nebo na ně odkazovali. Děkuji! 🙏