Módulo 2: Sorteos y premiosLección 4 de 95 min de lectura
Cómo hacer un sorteo demostrablemente justo
Todos los sorteos acaban con el mismo comentario: amañado. Grabar la pantalla con una ruleta no lo resuelve, porque el público no ve lo que pasó antes de darle a grabar. Un sorteo demostrablemente justo está pensado para que quien lo organiza no pueda elegir al ganador, y para que cualquiera pueda comprobarlo después solo con los datos publicados.
Paso 1: congelar la lista con una huella
Cuando pulsas Bloquear lista y sortear, el sorteo de ganadores convierte toda la lista, en su orden, en una huella SHA-256: un código de 64 caracteres. Cambia una sola letra, añade un nombre o intercambia dos líneas y la huella cambia por completo. Publicar la huella es como cerrar la lista en un sobre que todos pueden ver.
Pruébalo en la demo de abajo. Escribe una lista, fíjate en la huella y luego cambia una letra.
Paso 2: usar azar del futuro
Quien organiza no debe poder elegir un momento con suerte. Por eso, en el instante en que bloqueas la lista, la página elige una ronda de drand que aún no se ha publicado, unos segundos por delante. drand es una baliza pública de aleatoriedad gestionada por la League of Entropy, un grupo de organizaciones independientes que incluye a Cloudflare, la EPFL, Protocol Labs y varias universidades. Su cadena quicknet publica un nuevo valor aleatorio cada 3 segundos.
Cada valor sale de una firma de umbral: muchos miembros tienen que combinar sus partes de la clave, y un grupo menor que el umbral no puede predecir ni sesgar el resultado. Dos firmas válidas para la misma ronda son siempre idénticas, así que hay exactamente un valor posible por ronda.
Paso 3: el ganador es un cálculo, no una elección
Cuando llega la ronda, el ganador se calcula con tres datos: el número de ronda, su valor aleatorio y la huella de la lista. El sorteo los combina con un hash y convierte el resultado en un número de boleto. Descarta los resultados que harían algo más probables los números bajos, un sesgo sutil llamado sesgo del módulo, para que cada boleto tenga la misma probabilidad.
Como el cálculo es fijo, los mismos tres datos dan siempre el mismo ganador, en cualquier ordenador.
Límites honestos
La prueba demuestra que el ganador sale de esta lista exacta y de esa ronda. No puede demostrar que la lista incluía a todas las personas que participaron de verdad, así que publica el enlace de verificación poco después del sorteo. La página comprueba que el valor aleatorio coincide con el hash de la firma, pero no hace la verificación completa de la firma en tu navegador.
Paso 4: publicar el enlace de verificación
Copiar enlace de verificación crea un enlace que contiene la lista, la ronda y el número de ganadores. Quien lo abre obtiene la misma ronda pública y recalcula el resultado. Si el organizador hubiera cambiado un nombre o repetido el sorteo, el resultado no coincidiría.
Comparte el enlace en la publicación del sorteo o en la descripción del directo. Eso convierte «confía en mí» en «compruébalo tú».
Pruébalo: misma lista + misma semilla = mismo ganador
Cambia una letra de la lista o de la semilla y verás cómo cambian la huella y el ganador. Si la dejas como estaba, vuelve el resultado anterior. Eso es lo que permite comprobar un sorteo.
- Huella de la lista (SHA-256)
…- Ganador
- …
Abre el sorteo de ganadores, pega unos nombres y haz un sorteo con prueba pública.
Hacer un sorteo justoComprueba lo aprendido
Tres preguntas. Elige una respuesta para ver por qué.
¿Qué es una baliza de aleatoriedad como drand?
Ver la respuesta
Respuesta: Un servicio público que publica valores aleatorios impredecibles con un horario fijo drand publica un nuevo valor verificable en cada ronda, y ningún grupo pequeño de miembros puede predecirlo ni sesgarlo.
¿Por qué la ronda de drand debe ser una que aún no ha ocurrido al bloquear la lista?
Ver la respuesta
Respuesta: Para que el organizador no pueda mirar los próximos resultados y elegir uno con suerte Si el azar ya se conociera, el organizador podría probar listas o momentos distintos hasta que ganara un amigo.
Cambias una letra de una lista bloqueada. ¿Qué le pasa a la huella?
Ver la respuesta
Respuesta: Se vuelve completamente distinta SHA-256 cambia de forma impredecible con cualquier edición, así que un nombre cambiado se detecta enseguida.
Fuentes
- drand – Cryptography specification
- drand blog – Quicknet is live (3-second rounds)
- drand – League of Entropy
Revisado el 25 de octubre de 2026