Absolut! Und wir können es beweisen.
Zunächst einmal wurde der Wert der 300.001 Spiele im Voraus generiert und in einer Kette gespeichert. Das bedeutet: Der Crash-Wert jeder Spielrunde hängt nicht davon ab, wie viele Spieler wetten oder wie viel sie setzen.
Ein einzelner Crash-Punkt wird erzeugt, indem zwei verschiedene SHA256-Hashes (Server Seed Hash und Client Seed) kombiniert und daraus ein einzelner SHA256-Hash erstellt wird, der dann in eine Zahl umgewandelt wird.
Damit das Spiel als nachweislich fair (provably fair) gilt, müssen diese beiden Daten (SHA256-Hashes) auf eine ganz bestimmte Weise ausgewählt werden – so, dass weder das Casino noch die Spieler den Crash-Punkt vorhersagen können. Der Ablauf ist wie folgt:
ServerSeed
Wir erklären hier, dass die Plattform die zu verwendende Spiel-/Hash-Kette bereits festlegt und sich öffentlich dazu verpflichtet, bevor der ClientSeed bekannt ist. Wir erzeugen eine Kette aus 300.001 SHA256-Hashes, beginnend mit einem Server-Geheimnis, auf das der SHA256-Algorithmus 300.001-mal fortlaufend angewendet wird, wodurch die Spiel-Hash-Kette entsteht.
Der letzte SHA256-Hash dieser Kette wird im Voraus veröffentlicht und dient als verbindliche Zusage der Plattform.
ClientSeed
Um zu beweisen, dass wir keinen ServerSeed absichtlich so gewählt haben, dass er dem Haus Vorteile verschafft, werden die Hashes aus der Spielkette mit einem ClientSeed kombiniert, der außerhalb der Kontrolle der Plattform liegt.
Als ClientSeed wird der Hash eines EOS-Blockchain-Blocks verwendet, der zum Zeitpunkt der Verpflichtung noch nicht erzeugt war.
Existenznachweis
Um nachzuweisen, dass diese Nachricht vor der Erzeugung des EOS-Blocks erstellt wurde, der als ClientSeed verwendet wird, werden die Informationen zum ServerSeed und ClientSeed als Memo in eine Transaktion auf der EOS-Blockchain eingebettet. Zu diesem Zeitpunkt existierte der als ClientSeed verwendete Block noch nicht.
Es lässt sich beweisen, dass die gewählte Kette nicht vorteilhaft für die Plattform ist. Der zukünftige EOS-Blockhash als ClientSeed konnte im Voraus nicht vorhergesagt werden. Das bedeutet:
Wir (die Plattform) kennen den Crash-Wert jedes Spiels nicht im Voraus – und können ihn nach Beginn auch nicht mehr ändern.
Formel zur Berechnung des Crash-Werts:
let seed = gameHash;
let hash = sha256(seed + salt);
var h = parseInt(hash.slice(0, 13), 16);
var e = Math.pow(2, 52);
return (Math.floor((96 * e) / (e - h)) / 100).toFixed(2);
