Diseñando un sistema electoral a prueba de boicots.

A raíz de los eventos que se han sucedido durante el 1 de Octubre, no puedo más que sentir vergüenza por la forma en la que el Gobierno de España ha cargado contra la ciudadanía, y vergüenza por la forma en la que el Gobierno de Cataluña ha dado forma a una votación con tantísimos agujeros de seguridad que impiden que ningún resultado pueda tomarse remotamente en serio.

En este artículo me gustaría primero mencionar los agujeros quizá menos obvios. No voy a entrar en asuntos que puedan estar manipulados, como el caso de votos múltiples, o el hecho de que el recuento de una consulta de tipo si/no sea gestionado por una entidad denominada “junts pel si”, sino en problemas de base que cualquiera con unos conocimientos básicos sobre cadenas de custodia debería detectar y hacer saltar las alarmas. Después voy a intentar explicar el diseño de un sistema electoral, apoyado en tecnologías disponibles actualmente, que permitiría el desarrollo de cualquier tipo de consulta ciudadana, con garantías de veracidad, y a prueba de gobiernos/ataques.

Urnas opacas y precintadas

En la mayoría de procesos electorales se usan urnas de metacrilato transparente. El motivo es que, una vez constituida la mesa, leídas y repasadas las normas del proceso electoral que se distribuyen entre los miembros de la mesa, se verifica que la urna está vacía, y se precinta en presencia de los apoderados. En casos de urnas de cartón, estas se montan y sellan de la misma manera. En el referendum del 1 de Octubre, han llegado las urnas precintadas (todas con las mismas bridas rojas). Cualquier urna que no haya sido verificada vacía, debería ser impugnada por los apoderados ante la junta electoral. Que no haya habido apoderados, ya es un poco para hacérselo mirar… casi como lo de los “observadores escoceses” que detuvo la GC con esteladas.

No hace falta sobre para depositar el voto

El manual de la mesa en las elecciones no deja lugar a ambigüedades al respecto. Cualquier voto encontrado en una urna fuera de un sobre, se considera nulo. El motivo es que al momento de efectuar un voto, se verifica que un único sobre entra en la urna, y este no puede estar doblado. Si el votante deposita varias papeletas dentro de un sobre, si todas contienen la misma opción, cuenta como un único voto, si contiene más de una opción, se considera nulo. Si se permiten votaciones sin sobre, y se permite doblar las papeletas, nada impide que un votante deposite varias papeletas una dentro de la otra, y no existiría un proceso que distinga los votos válidos de los nulos. Al comparar el número de votantes en la urna, con el número de votos en el recuento, se tendría que descartar la urna completa.

Un sistema electoral “fetén”

Para que un sistema electoral tenga utilidad real, dadas las recientes circunstancias, se deben satisfacer ciertos requisitos:

Una persona, un voto

Que ya entrados en la segunda década del siglo XXI sigamos dependiendo de un censo en papel y/o de una base de datos generada por entidades cuya naturaleza no es la identificación de ciudadanos (los ayuntamientos) es para echarse a llorar. El censo solo es relevante en tanto en cuanto solo nos permiten votar en un colegio determinado. Con un censo universal, como el utilizado el 1 de Octubre, ya te tienes que fiar de quien genere dicho censo, cuando no debería ser necesario ningún censo. Me explico.

En España el DNI es obligatorio para todos los mayores de 14 años, y desde hace unos cuantos años todos los DNI emitidos en España contienen un chip criptográfico que contiene varias cosas. Un certificado digital para autenticar a la persona, otro certificado digital para firmar documentos, con validez jurídica, y los mismos datos impresos en el DNI, que para nuestro uso, es una dirección de empadronamiento en el momento de la emisión del DNI. Con esta tecnología, igual que podemos presentar nuestra declaración de la renta por Internet, firmando la misma con nuestro DNIe, también se podría presentar un voto de forma electrónica, con garantías de que cada DNI, solo puede votar una única vez. Para esto, en el momento del voto, se firma la “papeleta” y se almacenan “papeleta” y firma. Si alguien intenta volver a votar, el sistema lo rechaza automáticamente al encontrar otra firma válida del mismo DNI. No hace falta que una persona en una mesa valide un DNI, ni que compruebe en una web si puede votar o no.

Aquí, si hay alguien que sepa algo de seguridad informática entre mis lectores, podrá argumentar que quien programe el sistema de verificación de firmas, tendrá el control sobre que votos se aceptan, y que votos no. Este tema lo resolvemos más adelante, en la sección “¿Quién vigila a los vigilantes?”. Por ahora asumiremos que con el uso del DNIe, podemos garantizar que cada ciudadano, solo puede emitir un voto.

Ubicuidad del colegio electoral

Si un gobierno quiere impedir una votación, lo normal es intentar desbaratar alguna de las fases de dicha votación. Una de las formas que hemos visto es bloqueando el censo, otra es requisando urnas, otra es mediante violencia hacia los votantes. En mi opinión, habría sido mucho más efectivo y menos traumático (en el más literal sentido de la palabra traumatismo), si se hubiesen limitado a seguir las actas electorales al cierre de los colegios (que espero e imagino que habrá actas), y detenido a la junta electoral al completo, impidiendo la suma de los recuentos de cada urna. Sin recuento válido, no hay votación válida. Espero, y confío, en que no hayan permitido que los recuentos parciales se metan en la web del censo, porque con la seguridad que ha tenido dicha web, no hay ninguna garantía de que se hayan manipulado esos resultados.

Con un único colegio electoral, online, no es necesario que las distintas actas se unan y sumen para obtener un recuento completo. Cada voto que se deposita es automáticamente verificado y sumado, se acabaron los escrutinios parciales y las encuestas. El resultado de la votación se puede conocer en el momento en el que se cierra el colegio (no se debería poder conocer en tiempo real mientras se pueden depositar votos, puesto que saber como va una votación, influye directamente en la decisión de voto de los que aún no lo han hecho). Y no es necesario acudir a ningún sitio, cualquier ciudadano podría votar desde cualquier PC con un lector de tarjetas con chip SmartCard. Ante el argumento de “la gente mayor”, o “la gente que no tiene ordenador”… todas esas personas pueden/tienen que renovarse el DNI en algún momento, y todos los interesados en que se realice la votación pueden proporcionar acceso a los equipos. Los interesados en que no se realice la votación, podrían seguir requisando equipos informáticos durante la votación, aunque ya tendrían que ir casa por casa. Y el siguiente requisito intenta eliminar esa posibilidad.

Cambio del concepto “jornada electoral”

El que las elecciones sean en domingo, y los colegios permanezcan abiertos solo una jornada, responde única y exclusivamente a mantener bajo control el coste económico de las personas e infraestructuras necesarias para realizar la votación. Imaginad que se pudiese votar durante toda una semana… y que te tocase ser presidente de mesa, menudo marrón.

En una votación online, la jornada electoral puede ser de una hora, un día, una semana, un mes, un año… sólo hay que poner una fecha tope, y permitir tiempo suficiente a la gente para votar (por ejemplo, un año, para darle tiempo a todo el que no disponga de DNIe, o no disponga de un equipo capaz de utilizarlo, de poder votar). Además, quien esté en contra de que se realice la votación, no podrá estar requisando equipos y manteniendo el estado de excepción en una comunidad durante un período largo de tiempo. Al hacer que la jornada electoral se alargue durante tiempo suficiente, permitimos a más gente votar, y eliminamos el “requisado de urnas”.

Saltarse el bloqueo en Internet

Lo de que las webs con información sobre el 1 de Octubre hayan caído una y otra vez, de forma tan rápida, es inconcebible, y habla muy mal de los ingenieros que han estado al cargo del proyecto. Existen herramientas que hacen que un bloqueo a contenidos sea imposible. Si la industria del entretenimiento no ha conseguido acabar con el intercambio de contenidos mediante P2P, si China siempre va un paso por detrás con su gran firewall para evitar la censura, solo hay que ir ese paso por delante para ofrecer un punto de acceso al sistema de votación que sea accesible desde todo el mundo, e inmune a los ataques convencionales. Aunque la red Tor se diseño con el objetivo principal de ofrecer navegación anónima, se sabe que determinados gobiernos han “roto” la red. Pero Tor también nos ofrece la posibilidad de ser inmunes frente a bloqueos de DNS, y un proxy que evita bloqueos de contenido a nivel de ISP. Pero cuando accedemos a un contenido mediante la red Tor, seguimos accediendo a un servidor en algún sitio, centralizado, que puede ser atacado por quien quiere impedirnos votar. Tenemos que distribuir también el software que gestiona nuestra votación, y cuando hablamos de software distribuido, hablamos de Blockchain (si, lo de los Bitcoins). Algunas criptomonedas, pueden utilizarse como formas de ejecutar código distribuido entre todos los participantes de la red, es el caso de Ethereum, que ahora está de moda por culpa de las ICOs entre los especuladores (en mi opinión, se están haciendo un “Forum Filatélico”). Pero igual que se puede usar un cuchillo afilado para matar a una persona, o para cortar un buen lomo de atún y hacer un sushi delicioso. La herramienta, Ethereum, como tal, se puede usar para el bien, en nuestro caso para garantizar que una mayoría de nodos de la red (y que hay más democrático que la mayoría) coinciden en la ejecución de un código programado, que una vez auditado y lanzado a la red, no es modificable, excepto por dicha mayoría. Por explicarlo de una forma más sencilla… una vez un código se lanza en la red, no hay pantallazo azul, o misil atómico que pueda detenerlo, tendrían que desconectarse cientos de miles de equipos de la red, de forma simultánea, en todo el mundo, para poder “requisar las urnas”. Ni en el mayor de los sueños húmedos de los conspiradores de las superpotencias súper poderosas en las sombras, se puede concebir una operación gubernamental de este tipo. Sería algo parecido al intento, en la trilogía posterior al Juego de Ender, de acabar con Jane, la IA consciente de si misma, que habita entre las conexiones ansible que une los planetas en los que se ha expandido la raza humana.

¿Quién vigila a los vigilantes?

Sería necesaria una cantidad suficiente de auditores del código, y un sistema de validación por pares de los repositorios. No es sencillo, pero no es nada que no esté ya inventado para la creación de software de todo tipo. De nuevo, es una cuestión de mayorías. Mientras todas las capas de la cebolla, desde la creación, la ejecución, el enrutamiento, la validación, el almacenaje de los datos, la presentación de resultados, y por supuesto los votantes, se mantengan en infraestructuras que basen su funcionamiento en sistemas de mayoría, nos mantenemos en un sistema democrático. Ejemplos:

  • 2 programadores quieren hacer A, 7 programadores quieren hacer B… se hace B
  • Menos del 50% del pool de Ethereum quiere ejecutar el código A, más del 50% de lo mismo quiere el B… se ejecuta B.

Como queda la cosa

Un sistema en el que tienes todo un año, o dos, o diez, en el que la validación de tu voto se realiza, primero verificando la firma usando la cadena de certificados que actualmente se distribuye con los DNIe de todos los ciudadanos, y segundo por una mayoría de nodos en la red que rechazarían posibles modificaciones en el código por parte de individuos con intención de manipular los resultados. Con presentación instantánea de los resultados al acabar el período de votación, y sin intervención humana de ningún tipo. Sin actas electorales a interceptar, sin urnas a requisar, sin puntos geográficos que asaltar, sin fecha en la que actuar. Un sistema electoral de estas características, es técnicamente viable, y ofrecería resultados jurídicamente sostenibles. Un juez no tendría más que dar veracidad al hecho de que, de X votantes, distintos porcentajes han expresado distintas opiniones. Ya el tema de la legitimidad de la votación, por suerte, no es solucionable con tecnología. Y digo por suerte, porque si este sistema llegase a implantarse como vinculante, nadie podría impedir un referendum del tipo: “¿Queréis que echemos a todos los rubios zurdos del país?” Y si saliese el sí, pues oye, que a lo mejor un poquito racista/clasista/xenófobo si que es mi país. Y creo que sólo se deberían poder permitir votaciones que estuviesen enmarcadas dentro de un marco legislativo, es decir, aprobadas por los tribunales constitucionales del país en cuestión.

O lo que es lo mismo… no se podría haber usado en el referendum del 1 de Octubre.