Spinvolta

Så fungerar rättvisan

Först slumpen. Sedan animationen. Kontrollerbart när det spelar roll.

1. Varje resultat kommer från en kryptografisk slumpgenerator

Spinvolta drar resultat med crypto.getRandomValues(), den kryptografiskt säkra slumpgenerator som finns i alla moderna webbläsare och operativsystem — samma källa som används för att skapa krypteringsnycklar. Vi använder aldrig Math.random() för att avgöra något. (Rent dekorativa saker, som vart en konfettibit flyger, får göra det.)

2. Ingen modulo-skevhet

Ett slumptal på 32 bitar går inte alltid att fördela rättvist på, säg, 7 alternativ: 4 294 967 296 är inte delbart med 7, så det naiva tal % 7 gör vissa alternativ en aning mer sannolika. Spinvolta använder förkastningsurval: hamnar ett tal i den ojämna resten högst upp i intervallet kastas det och ett nytt dras. Så får varje alternativ exakt samma chans, oavsett antal alternativ.

3. Vikterna är exakta

I viktat läge räknas vikter som 1, 2,5 eller 0,125 om till heltal på en gemensam skala och summeras exakt. En likformig dragning över summan väljer vinnaren, så ett alternativ med vikt 2 är exakt dubbelt så sannolikt som ett med vikt 1 — och sektorernas storlek på hjulet visar precis de chanserna.

4. Flera vinnare utan upprepning

Flera vinnare, lag, slumpad ordning, kortblandning och utlottningar använder en opartisk Fisher-Yates-blandning (med samma förkastningsurval), så varje möjlig ordning eller grupp av vinnare är lika sannolik.

5. Först resultatet, sedan animationen

När du trycker på Snurra är vinnaren bestämd innan hjulet rör sig. Sedan räknar en lösare ut en rörelse — ansats, fart, antal varv, den mjuka gungningen på slutet — som landar exakt i vinnarsektorn, på en slumpad plats en bit från kanterna. Ett hårdare svep, ett längre snurr eller manuellt stopp ändrar bara hur det ser ut. Våra automatiska tester kör tusentals slumpade snurr för att säkerställa att animationen alltid landar på det förutbestämda resultatet och aldrig glider över till grannen.

6. Bevisbart rättvisa dragningar för utlottningar och rum

Vid utlottningar (och alla dragningar där förtroende spelar roll) går Spinvolta längre, så att du inte behöver lita på oss eller arrangören:

  1. Före dragningen låser din webbläsare den exakta deltagarlistan och inställningarna och publicerar ett fingeravtryck — en SHA-256-hash av listan, inställningarna och ett hemligt frö. Vår server registrerar när den tog emot det.
  2. Fingeravtrycket pekar ut en framtida runda av slumpfyren drand League of Entropy — ett offentligt värde som skapas var tredje sekund av oberoende organisationer runt om i världen och som ingen kan förutsäga eller välja.
  3. När den rundan publiceras räknas vinnarna fram ur fingeravtrycket, fyrens värde och fröet.
  4. Bevissidan visar allt. Vem som helst kan trycka på Verifiera och räkna om allt i sin egen webbläsare, inklusive fyrens kryptografiska signatur.

Arrangören kan inte välja vinnaren, eftersom fyrens värde inte fanns när listan låstes. Inte vi heller, eftersom vi aldrig ser fröet innan fingeravtrycket är låst och vi inte styr drand. Om fyren inte går att nå faller dragningen tillbaka på en tydligt märkt dragning med åtagande och avslöjande.

7. Statistiskt testat

Vår testsvit kör chitvåtest över hundratusentals simulerade dragningar vid varje ändring, och i den fullständiga sviten över en miljon: likformiga dragningar, viktade dragningar, blandning och placeringar med flera vinnare. Din egen version kan du köra på sidan rättvisetest.

Det vi inte kan bevisa

Vid ett vanligt snurr litar du på att koden i din webbläsare är den kod vi beskriver. Den körs helt på din enhet och du kan granska den med webbläsarens utvecklarverktyg. Står mer på spel — priser, offentliga dragningar — använd en bevisbart rättvis dragning, där du inte behöver lita på någon.

Vanliga frågor

Kan hjulet riggas?

Inte via animationen: resultatet dras rättvist först och rörelsen räknas ut för att visa det. Chanserna kan bara ändras med viktat läge, som visar märkningen ”Viktat hjul” och ritar sektorerna i skala.

Varför kom samma namn två gånger i rad?

För att äkta slump har sviter. Med 10 alternativ kommer samma två gånger i rad i 10 % av fallen. Använd utslagningsläget om varje alternativ bara ska komma en gång.

Vad är drand?

drand är en distribuerad slumpfyr som drivs av League of Entropy, en grupp oberoende universitet, företag och organisationer. Den publicerar ett nytt, kontrollerbart slumpvärde med några sekunders mellanrum.