Zum Hauptinhalt springen

Provably Fair – Commitment-Verfahren

Was ist ein Commitment-Verfahren:

Ein Commitment-Verfahren ist eine Funktion, die es einem Spieler und der Plattform ermöglicht, sich sicher auf einen gewählten geheimen Wert festzulegen, während dieser vor anderen verborgen bleibt.

Diese Werte können anschließend offengelegt werden, damit Dritte prüfen können, ob das Commitment mit dem offengelegten Wert übereinstimmt. Ein Commitment-Verfahren stellt sicher, dass das Casino verifizierbar ist.

Ein Commitment-Verfahren besteht aus zwei Phasen: der Commit- und der Reveal-Phase.

Commit-Phase:

Ziel der Commit-Phase ist es, bestimmte vom Spieler und Betreiber erstellte Werte festzulegen bzw. zu sperren, um Spielergebnisse zu erzeugen.

Vereinfacht ausgedrückt werden 3 Werte festgelegt und zur Erzeugung des Spielergebnisses verwendet. Sobald Werte festgelegt wurden, können sie bis zur Reveal-Phase nicht geändert werden. Während des Commitments wird Hashing durchgeführt, um Manipulationen zu verhindern.

  1. Aktiver Client Seed

  2. Aktiver Server Seed (nicht gehasht)

  3. Nonce

Output = Commit(Active_Client_Seed, Active_Server_Seed, Nonce)

Aktiver Client Seed: ist nicht gehasht und ein vom Spieler bestimmter Wert.

Aktiver Server Seed (nicht gehasht): wird geheim gehalten und vom Server erstellt. Dieser geheime Wert wird gehasht. Nur der gehashte Wert wird dem Betreiber und dem Spieler angezeigt.

Nonce wird ursprünglich auf 0 gesetzt, da noch kein Spiel gespielt wurde. Sie erhöht sich mit jedem Spiel.

Eine Kombination dieser 3 Variablen stellt sicher, dass die Ausgabe des Commitments immer unterschiedlich ist.

Reveal-Phase:

In der Reveal-Phase besteht das Ziel darin, den nicht gehashten Server Seed offenzulegen. Sobald die nicht gehashten Seeds und die Nonce bekannt sind, kann der Nutzer sein Ergebnis verifizieren.

Wenn ein Spieler seine Ergebnisse verifizieren möchte, muss er zunächst sein Server- und Client-Seed-Paar wechseln.

Sobald dies erfolgt ist, hebt die Plattform das Hashing des zuvor aktiven Server Seeds auf und zeigt ihn an. Nun kennen die Spieler, der Betreiber und Dritte alle 3 Informationen: Client Seed, Server Seed und Nonce.

Durch Eingabe des bekannten Client Seeds, Server Seeds und der Nonce der Runde können wir die Ergebnisse bzw. den Ausgang des jeweiligen Spiels und der jeweiligen Runde jederzeit nachweisen.

Server Seed

Der Server Seed wird von Ihrem System als zufällige hexadezimale Zeichenfolge mit 64 Zeichen generiert. Dieser Seed durchläuft SHA-256-Hashing-Prozesse. Der gehashte Wert wird angezeigt. Hashing erfüllt zwei Zwecke:

  1. Verhinderung von Betrug: Es ist rechnerisch unmöglich, den ursprünglichen, nicht gehashten Server Seed anhand des Hashes zu ermitteln (erste Präbildresistenz), wodurch Spieler nicht betrügen können.

  2. Verhinderung von Manipulationen: Aufgrund der Kollisionsresistenz von SHA-256 ist es rechnerisch unmöglich, zwei gleiche nicht gehashte Eingaben zu finden, die dieselbe gehashte Ausgabe erzeugen. Dadurch kann der Betreiber den Spieler nicht betrügen.

Erst wenn das Spiel abgeschlossen ist und der Nutzer die Client Seeds wechselt, hebt das Casino das Hashing des Server Seeds zur Verifizierung auf.

Client Seed

Der Client Seed gehört Ihnen als Spieler und stellt sicher, dass Sie die Zufälligkeit des Ergebnisses jedes Spiels beeinflussen.

Der Client Seed wird zunächst zufällig von Ihrem Browser für Sie generiert. Sie werden jedoch dazu ermutigt, den Client Seed in einen Wert Ihrer Wahl zu ändern. Dadurch haben Sie als Spieler Einfluss auf das Spielergebnis.

Nonce

In der Kryptografie steht Nonce für „number once“. Es handelt sich um eine Zahl, die sich jedes Mal erhöht, wenn mit demselben Satz aus Server und Client Seeds eine neue Wette platziert wird.

Dadurch wird sichergestellt, dass die Kombination aus Server Seed, Client Seed und Nonce in jedem Spiel unterschiedlich ist und die Ausgabe des Commitment-Verfahrens variiert.

Erfahren Sie mehr darüber, wie diese Werte im Code implementiert werden.

Hat dies deine Frage beantwortet?