Saltar al contenido

Dados justos y comprobables

Verifica cada tirada

Cómo funciona

  1. 1

    El servidor fija una semilla

    Antes de la primera tirada, el servidor elige una semilla aleatoria secreta y publica su huella SHA-256 (el compromiso). Una vez publicada, la semilla no puede cambiar sin que también cambie la huella.

  2. 2

    Los dos jugadores añaden la suya

    La app de cada jugador envía su propia semilla aleatoria cuando empieza la partida. Así, el servidor por sí solo no podría haber planeado los dados, aunque quisiera.

  3. 3

    Cada tirada sale de las semillas

    La tirada número k es el HMAC-SHA256 del id de la partida, las semillas de ambos jugadores y k, con la semilla del servidor como clave. Los bytes sesgados se descartan, así que cada cara tiene exactamente la misma probabilidad.

  4. 4

    La semilla se revela al final

    Cuando termina la partida, se publica la semilla del servidor. Cualquiera puede calcular su hash, compararlo con el compromiso y recalcular cada tirada, como hace esta página en tu navegador.

roll(k) = HMAC-SHA256(key = serverSeed, "matchId|seedA|seedB|k|c"); byte b < 252 → die = b mod 6 + 1

Comprueba cualquier conjunto de semillas

Pega los valores de cualquier partida. Los dados se calculan aquí, en tu navegador; no se envía nada a ningún lado.

Jugar online