Wird vorbereitet …
Wird vorbereitet …
BlockBet verlangt kein Vertrauen. Wir geben dir die Werkzeuge, um jedes einzelne Spielergebnis selbst zu pruefen — mit derselben Kryptografie, die das Internet schuetzt.
Jede Spielrunde bei BlockBet erzeugt ein deterministisches Ergebnis aus drei Eingaben: einem Server-Seed (vorab committed), deinem Client-Seed und einer Nonce. Der Algorithmus ist offen, die Eingaben sind verifizierbar, und die Mathematik ist von jedem reproduzierbar.
Wir hashen unseren Server-Seed bevor du spielst. Dieser Hash ist deine Quittung — er beweist, dass wir das Ergebnis nicht nachtraeglich aendern koennen.
Dieselben Eingaben erzeugen immer dasselbe Ergebnis. HMAC-SHA-256 ist eine Einwegfunktion — der Hash verraet nichts ueber den Seed.
Nach der Seed-Rotation veroeffentlichen wir den Klartext. Du (oder jeder andere) kannst jedes Ergebnis reproduzieren, das unter diesem Seed gespielt wurde.
Der Ablauf ist einfach: Commit → Spielen → Aufdecken → Verifizieren. So funktioniert jeder Schritt.
Wenn du ein Spiel zum ersten Mal startest (oder deine Seeds rotierst), generiert BlockBet einen kryptografisch zufaelligen 32-Byte Server-Seed ueber die Web Crypto API. Dieser Seed wird mit AES-256-GCM verschluesselt gespeichert — selbst unsere Datenbank sieht nie den Klartext.
Wir berechnen SHA-256 des Server-Seeds und zeigen dir den resultierenden 64-Zeichen Hex-Hash. Das ist deine Commitment-Quittung. Da SHA-256 eine Einwegfunktion ist, kannst du den Seed nicht aus dem Hash ableiten — aber spaeter verifizieren, dass der offengelegte Seed uebereinstimmt.
Fuer jede Runde berechnen wir: HMAC-SHA-256(serverSeed, clientSeed + "-" + nonce + "-" + context + "-" + stepIndex). Das Ergebnis sind 32 deterministische Bytes, die die Spiel-Engine in Reel-Stops, Kartenziehungen, Crash-Punkte oder Tile-Positionen umwandelt.
Wenn du deine Seeds rotierst (oder wir automatisch rotieren), wird der Klartext-Server-Seed in die Seed-History-Tabelle verschoben. Jetzt kannst du — oder jeder mit dem Seed-Tripel — jede Runde verifizieren, die unter diesem Seed-Paar gespielt wurde.
// Das ist die exakte Funktion, die auf unseren Servern UND im Browser-Verifier laeuft
outcome = HMAC-SHA-256(
key: serverSeed,
message: clientSeed + "-" + nonce + "-" + context + "-" + stepIndex
)
seedHash = SHA-256(serverSeed)Der HMAC-Output ist universell — aber jedes Spiel interpretiert die 32 Bytes unterschiedlich.
Die Ergebnis-Bytes werden in Reel-Stop-Positionen umgerechnet. Jede Walze bildet einen Bereich des Hashs auf eine Position ihres 250-Symbol-Streifens ab. Mehrere Context-Steps behandeln Kaskaden und Freispiele.
Der Hash bestimmt die Misch-Reihenfolge des Schuhs. Karten werden sequenziell aus dem Schuh gezogen, mit einer Cut-Card bei 75% Penetration, die ein Neumischen ausloest.
Ein einzelner Context-Step erzeugt eine Zahl von 0-36 (europaeische Einzelnull). Die Zuordnung ist gleichmaessig — jede Tasche hat exakt 1/37 Wahrscheinlichkeit.
Der Hash wird mit der Bustabit-Standardformel in einen Crash-Punkt umgewandelt: max(1, floor((2^32 / (n+1)) × 0.99) / 100). Der Faktor 0.99 garantiert mathematisch exakt 1% Hausvorteil (99% RTP).
Der Hash bestimmt die Bomben-Positionen im Grid per Fisher-Yates-Shuffle, geseedet durch die Ergebnis-Bytes. Jede Aufdeckung ist ein neuer Context-Step.
Jede Stift-Entscheidung (links oder rechts) wird aus aufeinanderfolgenden Bits des Hashs abgeleitet. Reihenanzahl und Risikostufe bestimmen die Multiplikator-Tabelle.
Server-Seeds werden vor der Speicherung mit AES-256-GCM verschluesselt. Der Verschluesselungsschluessel ist ein Cloudflare-Worker-Secret — nicht in der Datenbank, nicht im Code.
Jedes Spiel hat sein eigenes Seed-Paar und seinen eigenen Nonce-Zaehler. Ein Slot-Spin und eine Crash-Runde desselben Spielers nutzen voellig unabhaengige Seed-Chains.
RTP-Werte, Hausvorteile und Max-Win-Caps stehen in versionskontrolliertem Quellcode, nicht in der Datenbank. Aenderungen erfordern ein Code-Review — kein Admin-Panel kann sie beruehren.
Jede Spielrunde traegt einen eindeutigen Idempotenz-Schluessel. Doppelklicks, Netzwerk-Wiederholungen oder Race-Conditions koennen keine doppelten Ergebnisse erzeugen.