Recalculamos un casino "provably fair" a mano — así se ve la verificación de verdad
Tomamos un casino “provably fair” que durante meses no se podía verificar y recalculamos una ronda a mano — SHA-256 y HMAC. Aquí está la diferencia.
“Provably fair” es una promesa: que puedes comprobar cualquier resultado tú mismo, con matemáticas, en lugar de fiarte de la palabra del casino. Es una buena promesa. Pero la promesa de que algo puede verificarse solo vale si ese algo realmente es verificable — y no son la misma cosa.
Lo que sigue es un caso documentado — que el casino, Winna, ya corrigió — en el que el sitio exhibió las palabras “provably fair” durante meses mientras, según varios relatos independientes, nada de eso podía reproducirse en la práctica. Vamos a repasar lo que se reportó y después haremos la parte que casi ningún sitio de reseñas se toma el trabajo de hacer: recalcular los números nosotros mismos, con valores públicos, para que puedas repetir cada paso desde tu propia computadora.
Qué exige de verdad ser “verificable”
Una ronda provably fair de verdad tiene cuatro piezas en juego, y las necesitas todas:
- El casino se compromete con una semilla del servidor antes de que apuestes, publicando su hash.
- Tras la ronda, revela la semilla del servidor. Tú la hasheas por tu cuenta; debe coincidir con el hash que se mostró antes.
- Tu semilla del cliente y el nonce (el contador de rondas) se combinan con la semilla del servidor.
- Una fórmula publicada convierte todo eso en el resultado.
Si falta un solo eslabón — sin semilla revelada, con un hash que no se deja reproducir, sin semilla del cliente propia —, no hay nada que comprobar. La insignia sigue ahí. La prueba, no.
El caso: meses con una insignia que no se podía comprobar
Entre finales de 2025 y principios de 2026, testeadores independientes en Bitcointalk reportaron tres problemas concretos en los juegos propios de Winna. Lo registramos como sus observaciones, no como hallazgos nuestros:
- El hash previo a la ronda no podía reproducirse a partir de la semilla del servidor revelada después. Un testeador lo contrastó con unos 45 métodos de hashing comunes; ninguno coincidió.
- Los jugadores no podían elegir su propia semilla del cliente — que es lo único que impide que la casa escoja una semilla que le convenga.
- Las apuestas de valor cero cambiaban el resultado sin avanzar el nonce, lo que sugiere que el resultado dependía de algo fuera del compromiso público.
No afirmamos que se haya manipulado apuesta alguna. El punto es más acotado y, en cierto modo, peor: durante ese periodo, simplemente no había manera de saberlo. Una etiqueta “provably fair” sobre un sistema que nadie fuera de la empresa puede reproducir es decoración, no prueba.
Así que hicimos el trabajo del auditor — lo recalculamos
Winna migró después a un esquema estándar: semillas del servidor con SHA-256 simple y semillas del cliente que el usuario puede elegir. Tomamos un par de semillas público de ese sistema corregido y lo verificamos nosotros mismos. Puedes repetir cada paso.
Paso 1 — comprobar el compromiso. La semilla del servidor revelada es la cadena de texto:
ed54303ccab80736f0be7cd109e7830edd150674a4dea9ca39daadc244a569bb
Calcula el SHA-256 de esa cadena como caracteres de texto — no el hexadecimal convertido a bytes, sino los caracteres tal cual. Obtienes:
28e1731d4e629c05ad1e93e4a7bea7783f906829ba5857f388353488f197363e
Ese es exactamente el hash que el sitio mostró antes de la ronda. El sobre estaba sellado e intacto. Una advertencia práctica, porque nosotros mismos tropezamos con esto: asegúrate de que tu herramienta hashee los 64 caracteres como texto, sin salto de línea al final — el cursor debe quedar justo después del último carácter. Debes obtener 28e1731d…. Si sale otra cosa, tu herramienta agregó un salto de línea (un solo salto invisible cambia el hash completo) o convirtió la cadena hex en bytes crudos. Eso no significa que el artículo esté mal: es exactamente la trampa de la que habla todo este texto.
Paso 2 — recalcular el resultado. Entradas: la semilla del servidor de arriba, semilla del cliente test1, nonce 1, ronda 0. Calcula HMAC-SHA256(clave = semilla del servidor, mensaje = "test1:1:0"). El resultado empieza así:
f531047f…
Toma los primeros cuatro bytes — f5 31 04 7f = 245, 49, 4, 127 — y conviértelos en una fracción entre 0 y 1:
245/256 + 49/256² + 4/256³ + 127/256⁴ = 0.9577791986521…
Este juego aplica un house edge del 1% — el factor 0.99 de abajo es un parámetro del propio juego, nada más —, así que el multiplicador queda en:
0.99 ÷ 0.9577791986521 = 1.033641…, redondeado hacia abajo, 1.03×
Ese es el ciclo completo. Todos los valores son públicos; cada paso corre en la consola del navegador o en cualquier herramienta SHA-256 gratuita. Eso es lo que significa verificable — y es exactamente la comprobación que durante meses no arrojaba nada.
La corrección es lo central — no una nota al pie
Fíjate en lo que acabamos de demostrar: el sistema corregido verifica. Lo decimos con claridad y de entrada, porque un watchdog que publica solo la falla y entierra la corrección está ajustando cuentas, no auditando. Winna tuvo un problema real y documentado; los testeadores lo sacaron a la luz; el casino cambió su esquema; y ahora las cuentas cuadran — lo confirmamos a mano.
Pero detente un momento en cómo era antes. Durante meses el sitio mostró las mismas dos palabras que muestra hoy. La insignia nunca cambió. Lo que cambió fue si la insignia significaba algo. Esa es toda la lección: “provably fair” no es una propiedad que se lea en un logo. Es una propiedad que tú — o un auditor independiente — reproduces de verdad, o no existe. Desarrollamos el mismo argumento, sin este caso, en cómo verificar que un casino cripto no te estafa y en por qué la estadística de crash no prueba nada.
Qué hacer en la práctica
No leas la insignia. Lee las matemáticas — o busca a alguien que las lea por ti. Toma una semilla del servidor revelada, hashea la cadena de texto y fíjate si coincide con lo que te mostraron antes de la ronda. Después reconstruye un resultado a partir de las semillas y el nonce. Si todo cuadra, tienes una verificabilidad en la que apoyarte. Si no cuadra — o si ni siquiera consigues las piezas —, entonces “provably fair” es solo “confía en mí” con sílabas de más.
La insignia es para el público. La reproducción es la prueba. Nunca las confundas.