¿Qué es un esquema de compromiso?
Un esquema de compromiso es una función que permite a un jugador y a la plataforma comprometer de forma segura un valor secreto elegido, manteniéndolo oculto para los demás.
Estos valores pueden revelarse posteriormente para que terceros puedan verificar que el compromiso coincide con el valor revelado. Un esquema de compromiso garantiza que el casino sea verificable.
Un esquema de compromiso tiene dos fases: una fase de compromiso y una fase de revelación.
Fase de compromiso:
El objetivo de la fase de compromiso es comprometer/bloquear determinados valores creados por el jugador y el operador para generar los resultados del juego.
En una explicación simplificada, se comprometen 3 valores y se utilizan para generar el resultado de un juego. Una vez que se comprometen los valores, no se pueden cambiar hasta la fase de revelación. Durante el compromiso, se realiza un hash para evitar la manipulación.
Nota: La semilla utilizada es la misma para todas las monedas.
Semilla de cliente activa
Semilla de servidor activa (sin hash)
Nonce
Output = Commit(Active_Client_Seed, Active_Server_Seed, Nonce)
Semilla de cliente activa: no tiene hash y es un valor determinado por el jugador.
Semilla de servidor activa (sin hash): se mantiene secreta y es creada por el servidor. A este valor secreto se le aplica un hash. Solo se muestra el valor con hash al operador y al jugador.
Nonce se establece inicialmente en 0 porque no se ha jugado ninguna partida. Aumentará con cada partida.
La combinación de estas 3 variables garantiza que el resultado del compromiso siempre sea diferente
Fase de revelación:
En la fase de revelación, el objetivo es revelar la semilla del servidor sin hash. Con las semillas sin hash y el nonce conocidos, el jugador puede verificar su resultado.
Si un jugador desea verificar sus resultados, primero deberá rotar su par de semillas de servidor y cliente.
Una vez hecho esto, la plataforma eliminará el hash y mostrará la semilla de servidor previamente activa. Ahora, los jugadores, el operador y cualquier tercero conocerán los 3 datos: la semilla de cliente, la semilla de servidor y el nonce.
Al ingresar la semilla de cliente, la semilla de servidor y el nonce conocidos de la ronda, siempre podremos comprobar los resultados de ese juego y ronda específicos.
Semilla de servidor
La semilla de servidor es generada por su sistema como una cadena hexadecimal aleatoria de 64 caracteres. Esta semilla se somete a procesos de hash SHA-256. Se muestra el valor con hash. El hash tiene dos propósitos:
Prevención de trampas: Es computacionalmente imposible que un jugador encuentre la semilla de servidor original sin hash a partir del hash (resistencia a la primera preimagen), lo que evita que los jugadores hagan trampa.
Prevención de la manipulación: Es computacionalmente imposible encontrar dos entradas sin hash iguales que produzcan la misma salida con hash, debido a la propiedad de resistencia a colisiones de SHA-256, lo que evita que el operador haga trampa al jugador.
Solo cuando el juego se completa y el jugador rota las semillas de cliente, el casino eliminará el hash de la semilla de servidor para realizar la verificación.
Semilla de cliente
La semilla de cliente les pertenece a ustedes, los jugadores, para garantizar que influyan en la aleatoriedad del resultado de cada juego.
Inicialmente, el navegador genera aleatoriamente la semilla de cliente para ustedes; sin embargo, les recomendamos editarla con un valor de su preferencia. Esto garantiza que ustedes, como jugadores, tengan influencia en el resultado del juego.
Nonce
En criptografía, el nonce se refiere a “número usado una vez”. Es un número que aumenta de valor cada vez que se realiza una nueva apuesta con el mismo conjunto de semillas de servidor y cliente.
Esto garantiza que la combinación de la semilla de servidor, la semilla de cliente y el nonce sea diferente en cada juego, y que el resultado del esquema de compromiso sea diferente.

