¿Qué es provably fair y cómo funciona?

Utiliza la calculadora Provably Fair a continuación para verificar cada resultado y comprender cómo Cloudbet Originals mantiene las cuotas honestas.
Above are two provably fair tools: a Game Verification Tool — paste your Server Seed, Client Seed, and Nonce from any round to reconstruct and confirm the outcome — and a Server Seed Verification Tool — verify that a revealed server seed matches the hash Cloudbet published before you played.

Cuando apuestas en Cloudbet Originals, cada resultado es tuyo para verificar. Sin conjeturas, sin trucos: solo aleatoriedad pura y comprobable que puedes verificar tú mismo.

¿Qué es «provably fair»?

El juego provably fair es un sistema que utilizan los casinos en línea para garantizar que cada resultado del juego sea honesto y pueda ser verificado de forma independiente por el jugador. En lugar de simplemente confiar en el casino, obtienes una prueba matemática de que los resultados no fueron manipulados durante la partida.

La ventaja Provably Fair de Cloudbet:

  1. Cloudbet Originals funciona con los protocolos provably fair más recientes, por lo que cada resultado es a prueba de manipulaciones, verificable de forma independiente y matemáticamente justo.
  2. Una vez finalizada una ronda y reveladas las semillas, cualquiera puede verificar con certeza matemática que el resultado se generó de forma honesta.
  3. Es como recibir el plano de cada ronda: sin trucos ocultos ni excusas después de la tirada.

Cómo ser provably fair

Ser provably fair significa demostrar dos cosas:

  1. Cada juego tiene acceso a una secuencia de números verdaderamente aleatoria y a prueba de manipulaciones; esta página cubre esa parte.
  2. Esa secuencia aleatoria determina el resultado del juego de forma fija y transparente: con los mismos números, siempre obtienes el mismo resultado. Esta parte es específica de cada juego; consulta cómo funciona para Mines y el resto de nuestros Originals.

Para garantizar una aleatoriedad real, tanto el jugador como Cloudbet contribuyen a la generación de números, de modo que ninguna de las partes puede controlar el resultado por sí sola, y Cloudbet debe demostrar que no cambió su aporte después de los hechos.

Términos clave

  1. Bit: La unidad básica de información digital: «1» o «0». Las cadenas de bits representan números en binario.
  2. Byte: 8 bits, que representan hasta 256 valores. Nuestras semillas usan números de 32 bytes (256 bits).
  3. Semilla: El valor inicial de un generador de números aleatorios. La misma semilla siempre produce el mismo resultado.
  4. Semilla del servidor: El código secreto de Cloudbet: una cadena aleatoria criptográfica de 32 bytes generada antes de jugar, que se bloquea y se revela después.
  5. Semilla del cliente: Tu propio código: configúralo tú mismo o deja que tu navegador genere uno (hasta 255 caracteres).
  6. Nonce: Un contador de ronda que aumenta cada vez que juegas con el mismo par de semillas, de modo que cada ronda es única.
  7. Hash / Compromiso: Una huella digital segura de la semilla del servidor, que se te comparte antes de jugar. Es irreversible: nadie puede deducir la semilla a partir de ella, pero una vez revelada, si la hasheas tú mismo deberías obtener exactamente el mismo Compromiso.
  8. Firma de ronda: La semilla del servidor, la semilla del cliente y el nonce combinados y hasheados juntos: el valor real que determina el resultado de tu ronda.
  9. SHA3-256: El algoritmo de hash utilizado para crear Compromisos y Firmas de ronda. La misma entrada siempre da el mismo resultado de longitud fija; el proceso no se puede revertir.
  10. SHAKE256: Un algoritmo flexible de la familia SHA-3 que convierte la Firma de ronda en el flujo de números aleatorios con el que se construye el resultado de tu juego: misma entrada, mismo resultado, siempre, lo que hace posible la verificación.
  11. Módulo: El resto que queda al dividir un número entre otro (por ejemplo, 16 % 5 = 1), utilizado para traducir un número aleatorio en uno de un conjunto fijo de resultados posibles.
  12. Rotación de semillas: Renovar ambas semillas para obtener un nuevo par aleatorio.

Preparación para una partida

Antes de que comience cada ronda, se crean dos números: la Semilla del servidor y la Semilla del cliente.

El servidor de juego de Cloudbet genera la Semilla del servidor mediante la función criptográfica randomBytes de Node.js: un número de 32 bytes (256 bits), que equivale a lanzar una moneda digital segura 256 veces. Se mantiene en secreto hasta que se rota el par de semillas. Para demostrar que no se cambiará más adelante, el servidor también la hashea de inmediato (con SHA3-256) para crear un Compromiso, que se te comparte antes de jugar, de modo que, una vez revelada la semilla, puedes hashearla tú mismo y confirmar que sigue coincidiendo.

La Semilla del cliente la genera tu navegador de forma predeterminada, aunque también puedes establecer la tuya propia.

Durante la partida

Tu Semilla del servidor, tu Semilla del cliente y el Nonce se combinan y se hashean con SHA3-256 para formar una única Firma de ronda: imagina que dos personas aportan en secreto cada una la mitad de un nombre, de modo que ninguna conoce el resultado completo de antemano.

Esa Firma de ronda se introduce después en SHAKE256, que genera el flujo de números aleatorios que determina el resultado de tu juego. Como SHAKE256 siempre produce el mismo resultado a partir de la misma entrada, cualquiera que tenga las semillas reveladas y el nonce puede reproducir tu resultado exacto: eso es lo que hace posible la verificación. Traducir ese flujo de números aleatorios en un resultado de juego concreto (por ejemplo, dónde caen las minas o qué marca una tirada de dados) funciona de forma distinta para cada juego; consulta cómo funciona para Mines y el resto de nuestros Originals.

Los resultados justos también dependen del muestreo por rechazo: un método que garantiza que un número generado aleatoriamente elija entre todos los resultados posibles con una probabilidad verdaderamente igual, en lugar de favorecer a unos resultados sobre otros debido a una división desigual.

Para ver un ejemplo detallado del muestreo por rechazo, hemos preparado un breve ejemplo con una tirada de un dado de 10 caras, donde, al tener 10 resultados posibles, P es 10.

Tirar un dado de 10 caras normalmente se hace generando aleatoriamente un número «X» y calculando X módulo 10, ya que, al igual que una tirada de dado, esta operación tiene 10 resultados posibles. Sin embargo, hecho así, sin aplicar antes el muestreo por rechazo, se favorece injustamente a los resultados más bajos. Supongamos que X es un número aleatorio de 4 bits, por lo que tiene 2⁴=16 valores posibles: de 0 a 15. Entonces, todos los resultados posibles de X módulo 10 (X % 10) son:

  1. Si X está entre 0 y 9: 0 … 9
  2. Si X está entre 10 y 15: 0 … 5

Esto se visualiza aquí:

Cada uno de los resultados de tirada del 0 al 5 puede ocurrir mediante la generación de dos X distintas, mientras que los resultados del 6 al 9 solo ocurren mediante una. Esto significa que las tiradas del 0 al 5 son el doble de probables que las del 6 al 9, lo cual no es justo:

Esto ocurre porque 16 no se divide de forma exacta entre 10. Por eso, con el muestreo por rechazo buscamos el número más grande que SÍ se divide de forma exacta entre 10. Con 4 bits, el mayor valor posible de X es 15, y el mayor múltiplo de 10 que cabe en ese rango es 10, así que rechazamos todos los números aleatorios generados que sean mayores o iguales a 10. Esto significa que solo 0 … 9 son valores posibles para X. Nota: si se rechaza un número, se muestrea uno nuevo.

Después del paso de rechazo, calculamos X módulo P para obtener un número entre 0 y P. Esto determina cuál de los resultados de 1 entre P elegimos.

Cómo verificar los resultados de tu juego

  1. Antes de jugar, anota el Compromiso y tu Semilla del cliente.
  2. Después de la ronda, rota tus semillas para que se revele la Semilla del servidor utilizada.
  3. Hashea la Semilla del servidor revelada con SHA3-256: debería coincidir con el Compromiso que guardaste. Esto confirma que la semilla no cambió durante la partida.
  4. Pega tu Semilla del servidor, tu Semilla del cliente y el Nonce en la calculadora de verificación de abajo: reconstruirá el resultado desde cero.
  5. Compara eso con lo que viste en el juego. Si coincide, se confirma que la ronda fue justa; si no coincide, indicaría manipulación (algo que, con Cloudbet, no sucederá).

Preguntas frecuentes: tus dudas sobre provably fair, resueltas

1. ¿Por qué las semillas son tan largas y de aspecto tan aleatorio?

Porque la aleatoriedad es la base de la equidad. Las cadenas largas impiden que tanto Cloudbet como los jugadores puedan predecir o manipular los resultados. Más entropía significa más confianza.

2. ¿Puedo cambiar mi semilla de cliente?

Sí. Ve a la configuración de equidad del juego e introduce tu propia semilla de cliente en cualquier momento. Puedes rotarla tantas veces como quieras.

3. ¿Qué pasa si la semilla del servidor no coincide con el hash original?

Entonces algo anda mal. El objetivo del hash es demostrar que la semilla quedó fijada antes de que comenzara tu partida. Una discrepancia indicaría manipulación, pero con Cloudbet eso no ocurrirá.

4. ¿Necesito entender de criptografía para usar esto?

Para nada. La herramienta hace todo el trabajo pesado. Tú solo copias, pegas y verificas.

5. ¿Qué es exactamente un hash?

Piénsalo como una firma digital. Se genera codificando la semilla del servidor mediante un algoritmo criptográfico. Si alguien intenta alterar la semilla más tarde, el hash será diferente, y así se detecta el fraude.

6. ¿Puedo usar herramientas de terceros para verificar los resultados?

Sí. El sistema de Cloudbet es compatible con herramientas de verificación independientes, así que puedes comprobar los resultados incluso fuera de nuestra plataforma.

7. ¿Por qué importa esto si los juegos son divertidos de todas formas?

Porque la equidad no es una función adicional: es un requisito. Cuando apuestas cripto, mereces control total y cero conjeturas. Provably fair lo convierte en el estándar.

Explicaciones de provably fair por juego:

  1. Provably fair en Mines
  2. Provably fair en Pump
  3. Provably fair en Plinko
  4. Provably fair en Dice
  5. Provably fair en Dice: Golden Ticket
  6. Provably fair en Limbo
  7. Provably fair en Roulette