Verificación

Cómo se puede comprobar cada sorteo

Un sorteo solo es justo si nadie, ni el organizador ni nosotros, puede elegir o predecir al ganador. Así es exactamente como GetSocialExport elige a los ganadores, y así puede cualquiera comprobar un sorteo a partir de su certificado.

Los cuatro pasos de un sorteo

  1. Se cierra la lista de participantes. La extensión del organizador recoge los comentarios, aplica las reglas del sorteo y envía la lista de participantes válidos a nuestro servidor. La lista se pone en un orden fijo y su huella SHA-256 se registra con la hora. A partir de ahí, cambiar un solo nombre cambiaría la huella.
  2. Se elige un número aleatorio futuro. En ese momento el servidor elige una ronda de drand que no se publicará hasta unos 30 segundos después. drand es una baliza de aleatoriedad pública gestionada por la League of Entropy (Cloudflare, Protocol Labs, universidades y otros): sus números no se pueden predecir ni manipular, y cada uno lleva una firma que cualquiera puede comprobar.
  3. Se calculan los ganadores. Cuando se publica la ronda, se genera una semilla a partir del código del sorteo, el número de sorteo, la huella de la lista y el número aleatorio. Los ganadores se eligen a partir de esa semilla con SHA-256, sin sesgo, dando más peso solo a los participantes con participaciones extra definidas en las reglas.
  4. Todo se publica. El certificado muestra los ganadores, la huella, la ronda, la semilla, la hora en que se cerró la lista, cada nuevo sorteo con su motivo y (salvo que el organizador la haya hecho privada) la lista completa de participantes.

Qué puedes comprobar en un certificado

Abre cualquier certificado (escanea su código QR) y tu navegador lo comprueba por sí mismo, sin tener que fiarte de nosotros:

  • la lista de participantes publicada coincide con la huella registrada antes del sorteo;
  • el número aleatorio procede de drand, con una firma BLS válida de la League of Entropy;
  • la lista se cerró antes de que existiera ese número aleatorio;
  • al recalcular el sorteo salen exactamente los mismos ganadores.

También puedes escribir tu nombre en ¿Participaste? para confirmar que estabas en el sorteo, aunque el organizador mantenga la lista privada.

Qué no demuestra un certificado

El sorteo en sí es demostrablemente justo. El certificado no puede demostrar que el organizador aplicara reglas razonables ni que entregara el premio. La lista de participantes procede de la propia extensión del organizador: por eso se publica para que los participantes la comprueben, y por eso cada nuevo sorteo aparece con su motivo.

Detalles técnicos

  • Algoritmo: socialexport-draw-v1. Lista canónica: una línea por participante, id⇥nombre⇥participaciones, ordenada por id y unida con saltos de línea; huella = SHA-256 de ese texto.
  • Aleatoriedad: red drand quicknet, cadena 52db9ba70e0cc0f6…, una ronda cada 3 s, firmas BLS sobre G1 (RFC 9380).
  • Semilla: SHA-256 del nombre del algoritmo, el código del sorteo, el número de sorteo, la huella de la lista, la ronda y la aleatoriedad, unidos con saltos de línea.
  • Elección: SHA-256(semilla ‖ contador) da números de 64 bits; los valores por encima del mayor múltiplo del rango se descartan (sin sesgo de módulo); cada elección retira al ganador y sus participaciones.
  • Los certificados los firma nuestro servidor (ECDSA P-256) para demostrar cuándo se registró cada lista. Clave pública: MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEQdshCP/QsGG2k29W80CHSmWbwYpBNgrrIjTf0qPyQuB8cXXLxsCRaty97SO44XaM3aYr6PMwI4dYc/MnSQ3/aw==

Haz tu propio sorteo verificable →