Spinvolta

So funktioniert Fairness

Erst der Zufall. Dann die Animation. Überprüfbar, wenn es darauf ankommt.

1. Jedes Ergebnis kommt aus einem kryptografischen Zufallsgenerator

Spinvolta zieht Ergebnisse mit crypto.getRandomValues(), dem kryptografisch sicheren Zufallsgenerator in jedem modernen Browser und Betriebssystem – derselben Quelle, mit der Verschlüsselungsschlüssel erzeugt werden. Wir verwenden nie Math.random(), um etwas zu entscheiden. (Rein Dekoratives, etwa wohin ein Konfettistück fliegt, darf es nutzen.)

2. Kein Modulo-Bias

Eine 32-Bit-Zufallszahl lässt sich nicht immer gleichmäßig auf, sagen wir, 7 Optionen verteilen: 4.294.967.296 ist kein Vielfaches von 7, also macht das naive zahl % 7 einige Optionen minimal wahrscheinlicher. Spinvolta nutzt die Verwerfungsmethode: Fällt eine Zahl in den ungleichen Rest am oberen Ende, wird sie verworfen und neu gezogen. So ist jede Option exakt gleich wahrscheinlich, bei jeder Anzahl von Einträgen.

3. Gewichte sind exakt

Im gewichteten Modus werden Gewichte wie 1, 2,5 oder 0,125 auf einer gemeinsamen Skala in ganze Zahlen umgerechnet und exakt addiert. Eine einzige gleichverteilte Ziehung über die Summe bestimmt den Gewinner – ein Eintrag mit Gewicht 2 ist also exakt doppelt so wahrscheinlich wie einer mit Gewicht 1, und die Segmentgrößen zeigen genau diese Chancen.

4. Mehrere Gewinner ohne Wiederholung

Mehrere Gewinner, Teams, zufällige Reihenfolge, Kartenmischen und Gewinnspiele nutzen ein unverzerrtes Fisher-Yates-Mischen (mit derselben Verwerfungsmethode) – jede mögliche Reihenfolge oder Gewinnergruppe ist gleich wahrscheinlich.

5. Erst das Ergebnis, dann die Animation

Wenn du auf Drehen drückst, steht der Gewinner fest, bevor sich das Rad bewegt. Dann berechnet ein Löser eine Bewegung – Ausholen, Tempo, Anzahl der Umdrehungen, das sanfte Nachpendeln –, die exakt im Gewinnersegment landet, an einer zufälligen Stelle abseits der Ränder. Stärkerer Schwung, längere Drehdauer oder manueller Stopp ändern nur das Aussehen. Unsere automatischen Tests prüfen Tausende Zufallsdrehungen, damit die Animation immer auf dem vorab gezogenen Ergebnis landet und nie ins Nachbarsegment kippt.

6. Nachweisbar faire Ziehungen für Gewinnspiele und Räume

Bei Gewinnspielen (und jeder Ziehung, bei der Vertrauen zählt) geht Spinvolta weiter, damit du weder uns noch den Veranstaltern vertrauen musst:

  1. Vor der Ziehung fixiert dein Browser die exakte Teilnehmerliste und die Einstellungen und veröffentlicht einen Fingerabdruck – einen SHA-256-Hash aus Liste, Einstellungen und einem geheimen Seed. Unser Server hält fest, wann er ihn erhalten hat.
  2. Der Fingerabdruck benennt eine künftige Runde der Zufallsquelle drand League of Entropy – ein öffentlicher Wert, der alle 3 Sekunden von unabhängigen Organisationen weltweit erzeugt wird und den niemand vorhersagen oder wählen kann.
  3. Sobald diese Runde veröffentlicht ist, werden die Gewinner aus Fingerabdruck, Zufallswert und Seed berechnet.
  4. Die Nachweisseite zeigt alles. Jeder kann auf Prüfen drücken und alles im eigenen Browser nachrechnen – einschließlich der kryptografischen Signatur der Zufallsquelle.

Die Veranstalter können den Gewinner nicht wählen, weil der Zufallswert beim Festlegen der Liste noch nicht existierte. Wir auch nicht, denn wir sehen den Seed nie, bevor der Fingerabdruck feststeht, und wir kontrollieren drand nicht. Ist die Zufallsquelle nicht erreichbar, fällt die Ziehung auf ein klar gekennzeichnetes Festlegen-und-Aufdecken-Verfahren zurück.

7. Statistisch getestet

Unsere Testsuite führt bei jeder Änderung Chi-Quadrat-Anpassungstests über Hunderttausende simulierte Ziehungen aus, in der vollen Suite über mehr als eine Million: gleichverteilte Ziehungen, gewichtete Ziehungen, Mischen und Positionen bei mehreren Gewinnern. Eine eigene Version kannst du im Fairness-Test laufen lassen.

Was wir nicht beweisen können

Bei einem alltäglichen Dreh vertraust du darauf, dass der Code in deinem Browser der ist, den wir beschreiben. Er läuft vollständig auf deinem Gerät, und du kannst ihn mit den Entwicklertools deines Browsers ansehen. Geht es um mehr – Preise, öffentliche Ziehungen –, nutze eine nachweisbar faire Ziehung, die niemandes Vertrauen voraussetzt.

Häufige Fragen

Kann das Rad manipuliert werden?

Nicht über die Animation: Das Ergebnis wird zuerst fair gezogen, die Bewegung wird nur passend berechnet. Die Chancen lassen sich einzig im gewichteten Modus ändern – dann zeigt das Rad das Abzeichen „Gewichtetes Rad“ und passende Segmentgrößen.

Warum kam derselbe Name zweimal hintereinander?

Weil echter Zufall Serien hat. Bei 10 Einträgen kommt derselbe in 10 % der Fälle zweimal hintereinander. Nutze den Ausscheidungsmodus, wenn jeder Eintrag nur einmal kommen soll.

Was ist drand?

drand ist eine verteilte Zufallsquelle der League of Entropy, eines Zusammenschlusses unabhängiger Universitäten, Unternehmen und Organisationen. Sie veröffentlicht alle paar Sekunden einen neuen, überprüfbaren Zufallswert.