← Blog · Rebaño explica
Cómo evitamos el doble voto (sin cuentas ni contraseñas)
bewee no pide email, ni contraseña, ni ningún registro. Y aun así, no puedes votar dos veces el mismo dilema para intentar cambiar tu respuesta o inflar un lado de la balanza. ¿Cómo se sostienen las dos cosas a la vez?
Una identidad mínima, solo para esto
Al jugar por primera vez, tu navegador recibe un identificador anónimo — un código aleatorio que no contiene ningún dato tuyo, no se puede usar para identificarte, y no sirve para nada más que dos cosas: evitar el doble voto y calcular tu racha de días jugados. No hay perfil, no hay nombre, no hay nada que vincular a una persona real.
El truco: el dedupe vive en el propio identificador del dato
La parte interesante no es el identificador en sí, sino cómo se combina con cada voto. Cada dilema tiene su propio código de fecha y posición, y tu identificador anónimo se combina con ese código para formar el identificador único de tu voto en ese dilema concreto. Cuando votas, el sistema no "comprueba si ya votaste" con una consulta aparte — simplemente intenta crear ese registro con ese identificador exacto, y la propia base de datos rechaza la operación si ya existe uno igual. No hay una ventana de tiempo en la que dos peticiones casi simultáneas puedan colarse: la operación es atómica por construcción, no por una comprobación previa que alguien podría ganarle por una fracción de segundo.
Es la misma idea que un restaurante que numera las mesas en vez de llevar una lista aparte de "mesas ocupadas": el número de mesa ya te dice si está libre, no hace falta preguntarle a nadie.
Por qué reintentar un voto no es un error
Si por lo que sea tu conexión falla justo después de votar y tu app reintenta el envío, no pasa nada: el sistema reconoce que ese voto ya existe y simplemente te devuelve el mismo resultado de antes, sin registrar un segundo voto ni devolver un error confuso. Es idempotente a propósito — reenviar lo mismo dos veces por accidente nunca debería tener un efecto distinto a enviarlo una vez.
El límite honesto de este sistema
Esto frena el doble voto casual, no a alguien decidido a hacer trampa: borrar las cookies o el almacenamiento del navegador, o usar una ventana de incógnito, genera una identidad nueva y permite votar otra vez. A la escala de bewee esto es un riesgo asumido, no un descuido — añadir verificación más agresiva (por ejemplo, limitar por dirección IP) tiene su propio coste de privacidad, y todo lo que hace bewee pasa igualmente por el mismo backend controlado, lo que deja la puerta abierta a añadir más fricción anti-abuso en el futuro sin rehacer nada si hiciera falta.
Por qué esto importa para la verdad del juego
El dato que hace funcionar a bewee es el agregado real de preferencias de cada mañana. Cuantas más papeletas duplicadas se cuelen, menos representa ese agregado lo que la gente prefiere de verdad. El dedupe no es una molestia técnica — es lo que hace que la sabiduría de las masas de la que hablamos en otro artículo tenga alguna posibilidad de cumplirse: necesita voces independientes, no la misma voz contada varias veces.