Seeds, Hashes und eine Nonce
Provably-Fair-Prüfung: eine Runde Schritt für Schritt selbst nachrechnen
Eine Provably-Fair-Runde lässt sich aus drei Eingaben und einer Hashfunktion nachbauen. Hier ist das Verfahren von Hand, ein durchgerechnetes Beispiel mit echten Zahlen und was eine Übereinstimmung belegt und was nicht.
Eine Provably-Fair-Prüfung lässt Sie bestätigen, dass das Ergebnis einer Runde vor Ihrer Wette feststand und danach nicht verändert wurde. Sie müssen keinem Abzeichen glauben, das das behauptet. Sie brauchen drei Eingaben, ein Hash-Werkzeug und etwas Geduld, und das Ergebnis stimmt überein oder eben nicht.
Das Verfahren unten ist ein allgemeines auf Basis von HMAC-SHA256. Jedes Spiel beschreibt seine eigene Formel auf seiner Fairness-Seite, und nichts hier sagt, dass ein genanntes Casino genau dieses Schema nutzt. Nehmen Sie es als Weg, die Idee zu verstehen, und folgen Sie dann der Formel, die für Ihr Spiel gedruckt ist.
Am leichtesten zu verfolgen ist die Methode bei Spielen mit einer einzigen Zufallsziehung je Runde, etwa Würfeln oder Münzwurf. Spiele, die mehrere Karten geben oder mehrere Felder setzen, nutzen dieselben Seeds, lesen aber mehr der Ausgabe, ihre Formeln sind also länger. Das Prinzip, zuerst festzulegen und später aufzudecken, bleibt dasselbe.
- 1 eine Klausel zur Identitätsprüfung steht in den Bedingungen 9 von 12
- 2 diese Klausel nennt den Moment, in dem die Prüfung beginnt 6 von 12
- 3 ein Geldbetrag steht in der Klausel 2 von 12
- 4 eine Frist für das Einsenden von Dokumenten steht in den Bedingungen 4 von 12
- 5 das Lizenzregister führt die Lizenz unter der eigenen Domain des Casinos 7 von 12
Die drei Eingaben
Der Server-Seed und sein Hash
Der Server-Seed ist eine zufällige Zeichenfolge, die das Spiel vor Ihrem Spielen wählt. Er bleibt geheim, solange er in Gebrauch ist, doch sein SHA-256-Hash wird Ihnen vorab gezeigt. Ein Hash arbeitet nur in eine Richtung: Jeder kann den Seed in den Hash verwandeln, niemand rückwärts vom Hash zum Seed. Den Hash zuerst zu zeigen ist eine Festlegung, denn der später aufgedeckte Seed muss genau diesen Hash ergeben.
Der Client-Seed
Der Client-Seed ist Ihr Beitrag. Viele Fairness-Tafeln lassen Sie einen eigenen eingeben oder einen zufälligen annehmen. Weil er in jedes Ergebnis einfließt, kann das Spiel keine ihm genehmen Ergebnisse gewählt haben, ohne Ihren Seed zu kennen, und deshalb lohnen sich die paar Tastenanschläge für einen frischen eigenen.
Die Nonce
Die Nonce ist ein Zähler. Sie steigt mit jeder auf demselben Seed-Paar platzierten Wette um eins, jede Runde bekommt also eine andere Eingabe, obwohl die Seeds gleich bleiben. Manche Spiele zählen ab 0, andere ab 1, ein Detail, das beim Nachrechnen einer Runde zählt.
Eine Provably-Fair-Prüfung, Schritt für Schritt
- Kopieren Sie vor Ihrer ersten Wette den Server-Seed-Hash aus der Fairness-Tafel und bewahren Sie ihn außerhalb des Spiels auf.
- Setzen oder notieren Sie Ihren Client-Seed.
- Spielen Sie und notieren Sie die Nonce jeder Runde, die Sie prüfen wollen.
- Wechseln Sie die Seeds, wenn Sie fertig sind. Das Spiel deckt dann den genutzten Server-Seed auf und legt sich auf einen neuen fest.
- Hashen Sie den aufgedeckten Server-Seed mit SHA-256 und prüfen Sie, dass jedes Zeichen mit der aus Schritt 1 bewahrten Zeichenfolge übereinstimmt.
- Berechnen Sie HMAC-SHA256 mit dem Server-Seed als Schlüssel und Ihrem Client-Seed, einem Doppelpunkt und der Nonce als Nachricht.
- Setzen Sie die Ausgabe in ein Ergebnis um, mit der vom Spiel gedruckten Formel, und vergleichen Sie es mit der Runde in Ihrem Verlauf.
Jeder HMAC-SHA256-Rechner genügt, ebenso die Hash-Bibliothek einer Skriptsprache, die Sie ohnehin haben. Fügen Sie Werte ein, statt sie abzutippen, denn ein falsches Zeichen genügt, um den Vergleich zu zerstören, und halten Sie Seeds, Nonce und Ihr Ergebnis in einer Notiz zusammen, damit die Runde später erneut geprüft werden kann.
Ein durchgerechnetes Beispiel mit echten Zahlen
Der Seed unten ist kurz, damit er lesbar bleibt; echte Server-Seeds sind länger.
- Server-Seed: 5e2b9c14a7d03f68. Sein SHA-256-Hash beginnt mit 914e17f2c81eee7a, und das ist die Zeichenfolge, die Sie vor dem Spielen gesichert hätten.
- Client-Seed: reader-seed-42.
- Nonce: 1, was die Nachricht reader-seed-42:1 ergibt.
- Die HMAC-SHA256-Ausgabe beginnt mit f9059c41.
Ein verbreiteter Weg zu einem Würfelergebnis von 0 bis 99,99 nimmt die ersten acht Hexadezimalzeichen, liest sie als eine Zahl, teilt durch 4.294.967.296 (zwei hoch 32), multipliziert mit 100 und behält zwei Nachkommastellen. Hier ist f9059c41 gleich 4.177.894.465; geteilt durch 4.294.967.296 ergibt das 0,97274 und ein wenig mehr, der Wurf ist also 97,27.
Mit der Nonce 2 wird die Nachricht zu reader-seed-42:2. Die Ausgabe beginnt mit b6589656, das ist 3.059.258.966, und der Wurf ist 71,22. Zwei Runden, zwei verschiedene Ergebnisse, beide festgelegt in dem Moment, in dem der Server-Seed festgelegt und der Client-Seed gesetzt war.
Wenn Ihre Zahlen nicht übereinstimmen
Bevor Sie etwas schließen, schließen Sie die üblichen Patzer aus. Schlüssel und Nachricht können vertauscht sein. Das Trennzeichen kann ein Bindestrich statt eines Doppelpunkts sein, oder die Nonce beginnt bei 0. Ein versehentlich mitkopiertes Leerzeichen verändert jedes Zeichen der Ausgabe, und manche Werkzeuge erwarten großgeschriebenes Hexadezimal. Erst wenn die eigene Formel des Spiels, sorgfältig angewandt, weiterhin ein anderes Ergebnis liefert, haben Sie eine echte Abweichung zu melden.
Was eine Übereinstimmung belegt und was sie unberührt lässt
Eine Übereinstimmung belegt eine enge Sache: Das Ergebnis dieser Runde folgte aus einem vor Ihrer Wette festgelegten Server-Seed und einem Client-Seed, den Sie steuerten. Das Spiel konnte das Ergebnis nicht nach dem Sehen Ihres Einsatzes wählen.
Sie belegt nichts über den in die Formel eingebauten Vorteil. Wie Ergebnisse auf Auszahlungen abgebildet werden, ist der Ort, an dem die Quote eines Spiels lebt, und die Rechnung zu Quote und Vorteil wirkt gleich, ob eine Runde prüfbar ist oder nicht.
Sie sagt auch nichts über das Herausnehmen von Geld. Ein Casino, dessen jede Runde aufgeht, kann weiterhin einen Mindestbetrag je Anforderung setzen, ab einem bestimmten Betrag Dokumente verlangen, decklen, was je Woche hinausgeht, oder eine große Summe in Teilen zahlen. Diese Regeln stammen aus seinen Bedingungen, und die Betragsleiter auf der Startseite folgt ihnen Stockwerk für Stockwerk. Dasselbe gilt für Lizenzen: Ein geprüfter Hash ist kein Registereintrag für eine Lizenz, und die Art, wie die Rangfolge bewertet wird, ruht auf Bedingungen und Registern, nicht auf Fairness-Tafeln.
Gewohnheiten, die die Prüfung sinnvoll halten
- Setzen Sie Ihren eigenen Client-Seed vor einer Sitzung, statt einen anzunehmen, den Sie nie angesehen haben.
- Sichern Sie den Server-Seed-Hash zuerst, außerhalb des Spiels, damit ein aufgedeckter Seed mit etwas verglichen werden kann, das das Spiel nicht bearbeiten konnte.
- Wechseln Sie nach einer Sitzung und prüfen Sie eine Stichprobe von Runden, einschließlich jedes ungewöhnlich großen Gewinns oder Verlusts.
- Notieren Sie die Nonce wichtiger Runden, solange sie frisch sind; lange Verläufe sind später schwer zu durchsuchen.
Dieselbe Bescheidenheit gilt für diese Seite: Ihre Redaktion und Quellen beschreiben Regeln aus Bedingungen, und keine Seite behauptet, dass ein prüfbares Spiel diese Regeln ändert.
Es gibt auch eine Grenze dessen, was eine Person prüfen kann. Eine Handvoll Runden zu prüfen zeigt, dass diese Runden vorab festgelegt waren; es kann nichts über Runden zeigen, die Sie nicht nachgerechnet haben. Die Festlegung wirkt allerdings für jede Runde gleich, ein Spiel, das Ergebnisse änderte, könnte also an genau der Runde auffliegen, die ein Spieler zufällig wählt.
Eine ab und zu durchgeführte Prüfung behält ihren Wert. Ein nie gewechseltes Seed-Paar deckt seinen Server-Seed nie auf, und dann lässt sich überhaupt nichts prüfen.
Fragen, die Leute wirklich eintippen
Brauche ich für eine Provably-Fair-Prüfung besondere Software?
Heißt eine geprüfte Runde, dass das Spiel eine gute Quote hat?
Sagt eine Provably-Fair-Prüfung etwas über Auszahlungen?