Lista visible y congelada
La lista de participantes se ingresa antes del sorteo y se exporta exactamente como llegó al motor. Una vez ejecutado, nadie puede agregarla, quitarla ni reordenarla sin que la verificación falle.
Algoritmo determinístico verificable
En Cuki Sorteos el resultado es reproducible: con la semilla publicada y la lista canónica de participantes, cualquier persona puede recomputar los ganadores en su computadora y confirmar que coinciden. Sin eso, "transparencia" es solo una palabra.
La lista de participantes se ingresa antes del sorteo y se exporta exactamente como llegó al motor. Una vez ejecutado, nadie puede agregarla, quitarla ni reordenarla sin que la verificación falle.
Cada sorteo usa una semilla hexadecimal de 64 caracteres (256 bits). La podés generar el momento del sorteo o publicarla antes para comprometerla. Sin semilla no hay resultado.
Usamos mulberry32 como generador pseudoaleatorio sembrado por la semilla, y Fisher-Yates para mezclar. La misma semilla con la misma lista produce siempre el mismo orden, byte por byte.
Todo el sorteo corre en tu navegador, sin enviar la lista a ningún servidor. Aun así, el backend ofrece un endpoint público que recomputa el resultado para que puedas hacer cross-check.
Al final del sorteo podés descargar un comprobante de ganadores con semilla y link verificable. En la evidencia pública también queda disponible la lista canónica para recomputar el resultado.
Sin manipulación posible
Sorteo aniversario
1.834 participantes · 3 ganadoresSemilla pública
9f2c46be7a01d3585ee1b02c47a9d6f31c8e5a2470b9d1e6f3a8c05b7d92e414Lo que nos hace distintos
Cada sorteo sale de una semilla pública y de la lista exacta de participantes. Con esos dos datos, cualquiera puede repetir el sorteo y obtener los mismos ganadores. No hace falta confiar en nadie.
Porque si el sorteo usara Math.random() puro, nadie podría replicarlo después. Con mulberry32 + semilla pública, cualquier persona en cualquier lenguaje obtiene los mismos ganadores. Eso es la diferencia entre 'parece justo' y 'es verificable'.
Se pierde el sorteo en curso. Si querés conservar el resultado, descargá el comprobante de ganadores al final y guardá la semilla verificable.
El snippet de verificación de abajo es el mismo algoritmo, en texto plano, sin minificar. Lo podés pegar en Node, en una consola del navegador o en cualquier intérprete de JS y obtener exactamente los mismos ganadores. También podés mandar los datos al endpoint /api/verify del backend para una segunda opinión independiente.
No. El motor calcula seed, fullOrder y winners en milisegundos cuando arranca el sorteo. La animación sirve para mostrar el reveal con drama, pero no toca el resultado.
Porque corresponde a 256 bits de entropía, generados con crypto.getRandomValues. Es suficiente para que sea computacionalmente imposible buscar una semilla que produzca un ganador específico.