ГСЧ laboratorio de aleatoriedad

Sorteos

Sorteo de premios justo

El secreto y el hash público antes del sorteo: el resultado no se puede repetir sin que se note.

instantáneo calculado localmente commit-reveal hasta 20 ganadores
Paso 1 · Publicar el hash el secreto no se ha creado

El Sitio crea un secreto aleatorio de 16 bytes (32 caracteres hex) y muestra su SHA-256. El hash es una promesa: el secreto ya no se puede sustituir sin que se note. Publica el hash antes de abrir la recepción de solicitudes, en un canal, chat o publicación.

commit
SHA-256 del secreto: se publica antes del inicio —
El hash aún no se ha creado: pulsa «Crear secreto y publicar el hash».
El secreto se guarda solo en tu navegador (localStorage). Puedes cerrar la página y volver más tarde: el hash y el secreto seguirán ahí.
Paso 2 · Sorteo y reveal fuente de entropía:
Completa la lista de participantes y pulsa «Realizar sorteo»
Cómo se verifica commit → lista → reveal
  1. 1
    Commit: el hash antes del inicio

    El organizador publica el SHA-256 del secreto. Mientras el secreto está oculto, no se puede encontrar uno que encaje con el hash deseado: SHA-256 es irreversible.

  2. 2
    Lista de participantes

    La lista se fija de forma abierta, con un nombre por línea. El número de línea forma parte de la fórmula, así que el orden debe ser el mismo al verificar.

  3. 3
    Reveal: el secreto después

    Tras cerrar la recepción de solicitudes se revela el secreto. Cualquier participante verifica su hash y recalcula los ganadores en la página «Verificación del sorteo».

Fórmula h = SHA-256(secret + ":" + (index + 1) + ":" + name)
No se envía nada al servidor: el secreto, la lista y los hashes se calculan localmente en el navegador mediante WebCrypto. Cómo funciona el generador.

Por qué el sorteo resulta justo

A un generador de números aleatorios normal le falta lo principal: la prueba. El resultado solo se ve después de pulsar el botón y nadie puede confirmar que no se haya recalculado. El esquema commit-reveal lo resuelve con dos publicaciones: el hash antes del sorteo y el secreto después.

Mientras el hash está publicado y el secreto oculto, el organizador queda vinculado por una promesa: encontrar otro secreto con el mismo SHA-256 es imposible. Tras revelar el secreto, cualquier participante recalcula los ganadores con la fórmula abierta y comprueba que coinciden.

Qué es commit-reveal

Commit — un compromiso. El secreto aleatorio se convierte en un hash SHA-256 y se publica antes del inicio. Reveal — la revelación: después del sorteo el secreto se muestra a todos y el hash se puede comprobar con una calculadora SHA-256 normal.

El hash es una «huella» de los datos: la misma cadena siempre da el mismo resultado, y cualquier cambio, aunque sea un solo carácter, lo modifica por completo. Por eso la sustitución del secreto se ve de inmediato: el SHA-256 del nuevo secreto ya no coincidirá con el publicado.

Cómo verificar el resultado en un minuto

  1. Copia el secreto del protocolo del sorteo.
  2. Abre la página de la verificación del sorteo.
  3. Introduce el secreto y la lista de participantes en el mismo orden que en el protocolo.
  4. Indica el número de ganadores y pulsa «Verificar».
  5. Compara los ganadores y el hash del secreto con los publicados.

Qué no garantiza el esquema

  • No protege frente a la sustitución de la lista de participantes: la lista debe publicarse antes de revelar el secreto.
  • No fija la hora de publicación del hash; para eso hace falta una huella independiente: una publicación en un canal, una captura de pantalla o una copia archivada.
  • No convierte el sorteo en una lotería: no se venden boletos ni se forma un fondo de premios con aportaciones.
Preguntas frecuentes
¿Se puede falsificar el resultado?
No, si el hash se publicó antes del sorteo. Para «repetir» el resultado haría falta otro secreto, y su SHA-256 no coincidiría con el publicado. Encontrar un secreto que encaje con un hash ya dado es computacionalmente imposible.
¿Por qué publicar el hash y no el secreto?
El hash es un compromiso sin revelación. Si se publicara el secreto por adelantado, se podrían calcular los ganadores y ajustar la lista de participantes. El hash elimina esa posibilidad.
¿Cuántos participantes se admiten?
Hasta 2000 líneas en la lista y hasta 20 ganadores por sorteo. Cada línea es un participante; las líneas vacías se ignoran.
¿Qué pasa si hay menos participantes que premios?
La cantidad de ganadores se limitará automáticamente al número de participantes, y los nombres de premios sobrantes quedarán sin usar.
¿Se puede realizar el sorteo más tarde?
Sí. El secreto y el hash se guardan en el localStorage del navegador. Si vuelves a la página, el hash seguirá siendo el mismo: puedes realizar el sorteo otro día sin incumplir el compromiso.
¿Hace falta registrarse y se envían datos al servidor?
No. Todo se calcula localmente: el secreto lo genera el CSPRNG del navegador y SHA-256 lo calcula WebCrypto. Al servidor no va ni la lista ni el secreto.
¿Es una lotería?
No. Es una herramienta de elección aleatoria de ganadores. El organizador es responsable de cumplir la Ley federal n.º 138-FZ «Sobre loterías» y la n.º 38-FZ «Sobre publicidad»; el sitio no realiza loterías, no acepta apuestas ni paga premios.
El hash solo funciona si se vio antes del sorteo. Guarda el enlace de la publicación: sin él no se podrá comprobar la hora de la promesa.
↑↓ navegación Enter abrir Esc cerrar