Cómo la ruleta se mantiene justa

Cada giro lo decide el generador criptográfico de números aleatorios de tu navegador antes de que la ruleta empiece a moverse. Nada de lo que escribes se nos envía. Esta página explica el método y muestra la auditoría automática más reciente.

Cómo se elige al ganador

El ganador se sortea con crypto.getRandomValues, el mismo generador criptográficamente seguro que usan los navegadores para las claves de cifrado.

Los números aleatorios de 32 bits se convierten en una posición en la ruleta mediante muestreo por rechazo: un número que haría a algunas opciones un poco más probables que otras se descarta y se vuelve a sortear. Así se elimina el pequeño sesgo de tomar un residuo.

Primero se elige al ganador. Después, la animación gira la ruleta para que se detenga dentro del segmento del ganador, en un punto aleatorio alejado de sus bordes.

Pesos

Una opción escrita como Pizza*3 tiene tres veces más probabilidad de ganar que una opción con peso 1, y su segmento es tres veces más ancho. Los pesos pueden ser números enteros o decimales de 0.001 a 1,000,000.

Sorteos verificables

En sorteos y rifas, un sorteo verificable permite que cualquiera compruebe después que el resultado no se modificó.

  1. Antes del giro, la página crea una semilla secreta y muestra un hash SHA-256 de la semilla, las opciones y la hora. Publica el hash, por ejemplo en el chat de tu transmisión, antes de girar.
  2. El giro usa un generador construido a partir de la semilla secreta, así que la semilla y las opciones determinan por completo al ganador.
  3. Después del giro, la página revela la semilla en un comprobante del sorteo. Cualquiera puede pegar el comprobante en la página de verificación, que comprueba el hash y vuelve a calcular el ganador.

El método exacto

El hash es el SHA-256 de este texto UTF-8: una línea de encabezado, la hora del compromiso, la semilla y luego una línea por opción con su peso, un tabulador y su etiqueta.

weeks-and-random-draw v1
committed_at: 2026-10-16T14:05:09.123Z
seed: 64 hexadecimal characters
3	Pizza
1.5	Sushi
  1. La semilla son 32 bytes aleatorios de crypto.getRandomValues, escritos como 64 caracteres hexadecimales en minúsculas.
  2. El generador produce números de 32 bits a partir de SHA-256(bytes de la semilla seguidos de un contador big-endian de 4 bytes), para el contador 0, 1, 2 y así sucesivamente, y lee cada hash de 32 bytes como ocho números big-endian.
  3. Si todos los pesos son números enteros y el peso total es como máximo 2^32, el sorteo toma el siguiente número de 32 bits, lo descarta mientras sea mayor o igual que 2^32 − (2^32 mod total) y se queda con el residuo de dividirlo entre el total.
  4. Si no, toma los dos siguientes números de 32 bits a y b y calcula ((a >> 5) × 2^26 + (b >> 6)) ÷ 2^53, un número desde 0 hasta 1 sin incluirlo, y luego lo multiplica por el peso total.
  5. El ganador es la primera opción cuyo total acumulado de pesos es mayor que ese número.

Un sorteo verificable demuestra que las opciones y el resultado no se modificaron después de publicar el hash. No puede impedir que un organizador cree varios hashes en privado y publique solo el que le convenga, así que publica el hash antes de cerrar las participaciones y crea solo uno.

Verificar un comprobante de sorteo

Auditoría más reciente

Nuestro proceso de compilación ejecuta estas pruebas con cada cambio en el sitio. Última ejecución: lunes, 19 de octubre de 2026 a las 06:31 PM.

Todas las pruebas se aprobaron.

Pruebas de chi cuadrada: una prueba se aprueba cuando su valor p es mayor que 0.01.
Escenario Giros Chi cuadrada Grados de libertad Valor p Resultado
2 opciones iguales 1,000,000 0.86 1 0.3544 Aprobada
7 opciones iguales 1,000,000 3.42 6 0.7549 Aprobada
100 opciones iguales 1,000,000 125.45 99 0.0375 Aprobada
1,000 opciones iguales 1,000,000 1,081.73 999 0.0346 Aprobada
Modo Quitar al ganador, 7 opciones, cada posición 999,999 41.72 36 0.2360 Aprobada
Modo Sin repetir, 7 opciones, cada posición 999,999 39.90 36 0.3007 Aprobada
Opciones con peso: la proporción de victorias de cada opción debe quedar a menos de 0.5 puntos porcentuales de su peso.
Pesos Giros Mayor diferencia Resultado
1, 2, 3, 4 1,000,000 0.030 puntos porcentuales Aprobada
0.5, 1.5, 3, 0.25 1,000,000 0.050 puntos porcentuales Aprobada

10,000 de 10,000 giros sorteados se detuvieron en el ganador anunciado.

10,000 de 10,000 comprobantes de sorteo aleatorios se recalcularon correctamente, tanto en el navegador como con una implementación independiente.

Versión del motor de la ruleta: d828d1f5c0c3.

Sugerir una mejor traducción

¿Viste una traducción incorrecta o poco natural en esta página? Dinos cómo debería decir. Una persona revisa cada sugerencia antes de cambiar algo.