Certificado de sorteo: cómo se comprueba que fue al azar

Cada sorteo que haces en Sortéalo deja un certificado público con su propio link. Ahí está todo lo que hace falta para que cualquiera, sin tener que creerle a nadie, repita el sorteo y llegue a los mismos ganadores.

Certificado del sorteo

Sorteo de @tu_marca en Instagram, con comentarios de ejemplo.

Código
PYSVLD7
Participantes
110 cuentas distintas
Huella de la lista
fb6731df8f3e08c0ade131500c08eaf1…
Semilla
dbfdee606f8dad17bd8907b92c8f805b…
Ver el certificado completo

Qué muestra el certificado

  • La red, el link del post y la cuenta que organiza.
  • La fecha y la hora del sorteo.
  • Cuántas personas participaron y cuántas chances hubo en total.
  • Las reglas que se aplicaron: por ejemplo, una participación por persona o dos amigos mencionados.
  • Los ganadores y los suplentes, cada uno con su foto de perfil y su comentario.
  • La huella SHA-256 de la lista de participantes y la semilla del sorteo.
  • Si el post se sorteó más de una vez, el link a cada uno de los otros sorteos.

Cómo se elige al ganador

  1. La lista. Los comentarios pasan por las reglas del sorteo y queda la lista de participantes: una línea por chance, con el usuario y el número del comentario. La lista se ordena siempre de la misma manera.
  2. La huella. Se calcula el SHA-256 de la lista, una huella de 64 caracteres que cambia por completo si se agrega, se quita o se cambia una sola línea.
  3. La semilla. Nuestro servidor saca 32 bytes al azar con el generador criptográfico del sistema. Quien organiza no la elige ni la conoce antes del sorteo.
  4. Los ganadores. Con la semilla se elige una chance de la lista, todas con la misma probabilidad. Esa persona sale de la lista con todas sus chances y se elige la siguiente. Los primeros son los ganadores; los que siguen, los suplentes.

El sorteo no corre en tu navegador sino en el servidor, así que nadie lo puede repetir en su pantalla hasta que salga el ganador que quiere.

Cómo comprobar un sorteo

Abre el certificado y toca Verificar ahora. Tu navegador descarga la lista, calcula su huella, la compara con la del certificado y repite el sorteo con la semilla. Si todo cuadra, aparece «Verificado: la lista coincide y salen los mismos ganadores».

Con Descargar lista te llevas la lista en un archivo de texto. También está en https://sortealo.co/api/sorteos/código/lista.txt, para que la revises con tus propias herramientas. Pruébalo con el certificado de ejemplo.

Para programadores

  • La lista es texto UTF-8: una línea usuario⇥comentario por chance (separados por un tabulador), unidas con \n y sin salto al final. Va ordenada por usuario y luego por comentario, comparando unidades UTF-16 (el orden de < en JavaScript; en Python es ordenar por texto.encode('utf-16-be'), no con sorted() a secas). Las chances extra aparecen como extra-1, extra-2… En Facebook, en lugar del usuario va el nombre del perfil, en minúsculas y sin tildes. Si dos perfiles se llaman igual y Facebook da el número de cada uno, el segundo sale como nombre (2); si no lo da, sus comentarios cuentan como de una sola persona.
  • La huella es el SHA-256 de ese texto, en hexadecimal.
  • La semilla son 32 bytes en hexadecimal y es la clave de un HMAC-SHA256.
  • En el paso k (0, 1, 2…) se calcula HMAC-SHA256(semilla, k escrito en decimal). Los primeros 6 bytes, leídos como un entero big-endian, dan x. Si x ≥ ⌊2⁴⁸ ÷ n⌋ × n, donde n es el número de líneas que quedan, se descarta y se pasa al paso siguiente. Si no, gana la línea x mod n y se quitan todas las líneas de esa persona.
  • Se repite hasta completar ganadores más suplentes, en ese orden.

Qué prueba el certificado (y qué no)

El certificado prueba:

  • Que la lista publicada es la que se usó: si alguien cambia una línea, la huella deja de coincidir.
  • Que los ganadores salieron de esa lista y de la semilla, no de una elección a mano.
  • Cuántas veces se sorteó el post, con el link a cada sorteo.

No prueba:

  • Que la lista tenga todos los comentarios del post. Si el post supera el límite de comentarios de tu plan, el sorteo es entre los primeros que se cargan, y no ve los comentarios que se borraron o que la red oculta.
  • Que los ganadores cumplan reglas que no están en los comentarios, como seguir tu cuenta.
  • Quién está detrás de cada cuenta.

Comparte el certificado

El link del certificado es sortealo.co/c/ más el código del sorteo, y el certificado trae botones para enviarlo por WhatsApp, Facebook o X. La imagen y el video para historias también lo llevan escrito. Ponlo en el comentario donde anuncias a los ganadores: quien dude, lo abre y lo comprueba en su celular.

Preguntas frecuentes

¿El certificado cuesta?

No. Todos los sorteos, también los gratis y los que se hacen sin cuenta, dejan su certificado público con su propio link.

¿Se puede cambiar un certificado?

No: ni los ganadores, ni la lista ni la semilla se pueden editar después del sorteo. Si el post se vuelve a sortear, se crea otro certificado y los dos quedan enlazados.

¿Qué es una huella SHA-256?

Un resumen de 64 caracteres que se calcula a partir de un texto. Si cambia una sola letra del texto, la huella sale completamente distinta, y no se conoce forma de fabricar otro texto con la misma huella. Por eso sirve para probar que la lista no cambió.

¿Y si quien organiza sortea hasta que gane quien quiere?

Sin un plan de pago, cada cuenta (o, sin cuenta, cada navegador) sortea un post una sola vez. Con un plan (o pagando ese sorteo) se puede volver a sortear, pero queda a la vista: cada certificado dice cuántas veces se sorteó el post y enlaza los demás sorteos.

¿Qué datos de los participantes se publican?

En la lista va el usuario de cada participante y el número de su comentario; de los ganadores y suplentes, también su nombre de perfil, su foto, su comentario y la fecha del comentario. El resto de los comentarios se borra de nuestros servidores a los 30 días.