Como desarrollador de software, habitualmente me hacen esta pregunta y con frecuencia veo que también se hace en línea; parecía una gran pregunta para la maravillosa comunidad de StackExchange.
Para un poco de contexto, la idea general de los libros de contabilidad públicos es que todos pueden ver información anónima (los votos emitidos, en este caso), y también pueden validarse criptográficamente para que cualquiera pueda garantizar que todo sea correcto también.
Entonces, esencialmente, ¿cree que es posible usar un sistema de registro público digital (como, por ejemplo, Blockchain) en las principales elecciones democráticas? ¿Cumplirá con los requisitos que esperamos que satisfaga una elección democrática?
A primera vista, parece que sería perfecto para votar; después de todo, debería hacer que el proceso sea mucho más transparente, más rápido, mucho menos propenso a la corrupción y, en última instancia, puede revertir la disminución de la participación electoral porque se puede votar desde cualquier lugar. ¿O sí?
se le puede dar un GUID generado aleatoriamente que puede identificar su voto, pero no se le puede aplicar ingeniería inversa para identificarlo, a menos que le diga a otra persona cuál es su GUID de voto
Esto me parece absurdo, es trivial robar o fuerza bruta eso.
¿Fuerza bruta un GUID? No. Robar, sí, ese es el problema: cualquier identificación de longitud suficiente será imposible de recordar para la mayoría de la gente, y si la imprimes o la guardas de cualquier otra forma, eso compromete el secreto. Incluso si no, está el problema de torturar (o sobornar) a las personas hasta que te digan su identificación para que puedas verificar si votaron como quieres.
¿Es cierto que "es imposible tener una boleta secreta Y la trazabilidad de los votos reales"?
En un nivel fundamental, si hay alguna forma de que un votante rastree su voto, puede ser obligado a revelarlo, lo que perjudica el secreto.
Pero lo que la tecnología de encriptación (posiblemente una cadena de bloques, pero no necesariamente) podría hacer posible es tener una "negabilidad plausible" en la que el sistema le proporcione no una sino dos (o múltiples) identificaciones que resuelvan confirmar diferentes opciones por las que votaron, de modo que cuando alguien coaccione revelar su voto, puede decirles lo que quieren escuchar. Tenga en cuenta que escribí que esto podría ser posible, porque no puedo ver de inmediato cómo se podría hacer esto de manera que el votante mismo pueda confirmar que el voto que emitió es realmente el que se contó, en lugar de uno de los falsos. unos. Puede haber un esquema inteligente que lo haga posible.
En última instancia, sin embargo, todo esto es masturbación tecnocrática sin relevancia en el mundo real: cualquier esquema de este tipo, sin importar cuán teóricamente técnicamente sólido sea tan complejo que fácilmente podría tener debilidades ocultas en su implementación y (quizás aún más importante) sería completamente imposible de entender para el 99,99% de la población, lo que socavaría su legitimidad.
Las boletas de papel son y seguirán siendo la mejor opción para votar porque cualquiera puede entender y confirmar cómo funcionan, y aunque en principio es fácil cometer fraude con ellas, en la práctica es casi imposible hacerlo a una escala que cambia los resultados sin dejando huellas y/o testigos fáciles de descubrir.
No veo qué tiene que ver blockchain con los GUID y parece haber algo de contexto perdido en las ediciones. En cualquier caso, recomiendo echar un vistazo a este software de votación relacionado con XKCD . La mayoría de los expertos están de acuerdo con ese cómic XKCD.
Darle a un votante un GUID único y aleatorio hace que sea imposible identificar a un votante basado en un GUID, es decir, si ignora otros vectores. Primero, debe mirar dónde se genera el GUID. Si se genera un GUID y se envía por correo a un votante, entonces, como agencia gubernamental que envía esos GUID, puede conectar fácilmente el GUID al votante y averiguar cómo votó. Si el GUID se genera sobre la marcha en la máquina de votación y la máquina no sabe quién está votando actualmente, eso podría evitarse.
Entonces, digamos que hay un sitio web donde los votantes pueden verificar si su voto fue contado. Un votante ingresa su GUID y ve el voto que se almacenó para él. Ahora ese sitio web tiene IP y GUID, que por ejemplo, una agencia gubernamental puede ser suficiente para conectar a un votante con un voto.
Por último, puede haber presión externa. Un jefe puede requerir que alguien proporcione su GUID para asegurarse de que todos sus empleados votaron por su candidato preferido. Con una simple boleta de papel, la arroja y todas las pruebas de su voto están dentro de la caja. Si alguien solicita saber cómo votó, puede mentir y nadie puede desmentirlo. Esa es una de las razones por las que algunos países prohíben tomar fotografías dentro de la cabina de votación. No puede ser obligado a votar de cierta manera, lo que de hecho es un problema con la votación por correo en la que no se encuentra en un entorno protegido mientras lo completa.
Al menos, no sin violar múltiples principios fundamentales de la democracia o hacerla seriamente vulnerable. Esto se debe principalmente al problema de la autenticidad frente al anonimato de los votantes. Considera esto:
Se supone que los sistemas de contabilidad garantizan la validez, nadie puede manipular los números, pero observe lo que sucede cuando la autenticidad y el anonimato están involucrados en este sistema de votación de ejemplo :
Tiene estas propiedades:
Bonito, ¿verdad? ¡No! En realidad puntúa 1/5 :
Entonces, el anonimato está en pugna con la autenticidad y la validez está reñida con la posibilidad de ser sobornado. ¡Ay!
Sin embargo, observe que hay dos firmas involucradas. Esto puede definir una "cadena de confianza" entre el Gobierno y mi voto. ¿Quizás agregar algunos 'eslabones' adicionales en la cadena al menos evitaría que el gobierno interfiriera tanto? Desafortunadamente, esto también es defectuoso: puede hacer que la cadena sea infinitamente larga y alguna entidad a lo largo de esa cadena siempre podrá identificar al votante y su voto. En algún momento, la autenticidad tiene que cambiar por el anonimato. En el punto de canje, tanto su voto como su identidad están disponibles.
En primer lugar, una pista lateral rápida: como se menciona en la respuesta de Hopelessn00b, es posible si tiene un conteo final secreto . El libro público contiene datos encriptados que se vuelven un poco inútiles para cualquiera que no sea el gobierno. El sistema de votación electrónica de Estonia actualmente tiene un recuento final secreto: no es un libro de contabilidad público, pero el principio es el mismo. Un conteo público es particularmente importante si, como se vio en Estonia, el contador final de votos es un único servidor que ha demostrado ser vulnerable de forma remota . Esto significa que toda su democracia depende de un pequeño grupo de personas que cometen una serie de errores de principiante .
No me malinterpreten aquí; Me encantaría ver un sistema como este. Tal vez algún día suceda un gran avance. Un gran impulso digital para la democracia en todas partes: una democracia tan personal que llega a nuestros hogares. Consideremos la idea con una mezcla de votación física y veamos qué sucede.
Por lo tanto, necesitamos romper el vínculo entre la autenticidad y el anonimato y podemos hacerlo cambiando el proceso de votación: en lugar de dejar su voto en una pila aleatoria, elige algo de una pila aleatoria. En concreto, recoges un DNI prefirmado. Luego, para que sea utilizable, crea una cadena de confianza en relación con otros ciudadanos; por ejemplo, sus padres podrían firmar su nueva identificación.
Estamos construyendo cadenas de confianza de ciudadanos aquí. Sin embargo, todavía es completamente defectuoso: el gobierno aún puede crear tantos ciudadanos falsos como quiera en secreto y siempre será fácil de sobornar, pero al menos requiere varias personas (2 ...) para lograrlo.
Para enumerar los votos en un libro público, para que cualquiera pueda contarlos para concluir los resultados y confirmar que su voto fue incluido, tenemos que renunciar a la votación secreta. Alternativamente, renunciamos al recuento público, pero al hacerlo hacemos que el libro mayor público sea inútil. También nos hacemos vulnerables a los ciudadanos falsos creados por el gobierno con facilidad, las principales amenazas de seguridad digital y las fallas administrativas debido a las capas de complejidad. Tenga en cuenta que muchos de estos también se aplican al voto electrónico en general.
Sin embargo, es un concepto interesante, pero no se acerca a superar la simplicidad y la eficacia del papel.
k
se corrompan más entidades (y puede elegir k
el tamaño que desee...).Los problemas de seguridad en la votación electrónica son completamente diferentes a los problemas de seguridad en cualquier otro lugar.
Hay que asegurarse de que cada voto legal ha sido correctamente registrado y sumado al total del candidato por el que fue emitido, pero al mismo tiempo evitar que cualquier votante demuestre a un tercero de qué manera votó. Estos dos son fundamentalmente opuestos porque si el votante puede verificar que su voto está registrado correctamente en la lista de boletas, también puede hacerlo frente a un tercero que luego puede pagarles o golpearlos en consecuencia.
Blockchain y sus parientes no hacen nada para resolver este problema fundamental. Es posible que se pueda hacer algo con el cifrado homomórfico (es decir, poder ejecutar ciertos cálculos en un bloque de votos sin descifrarlo), pero no soy lo suficientemente criptógrafo para comentar sobre eso.
Las boletas de papel en el Reino Unido resuelven este problema al sellar cada papeleta con un número, que luego se registra junto al nombre del votante, también en papel. En teoría, podría mirar a través de una pila de boletas y emparejar el número de la boleta con un votante. En la práctica, esto requiere acceso físico a las boletas, y hacerlo para todas las boletas sería una operación grande que requeriría mucho personal. Por lo tanto, esto es fácil de prevenir, pero permite verificaciones puntuales en caso de denuncias de relleno electoral generalizado.
Todo el campo del voto electrónico es bastante dudoso en general. Muchos lugares superan la velocidad de conteo de votos de EE. UU. utilizando boletas de papel y sin la preocupación adicional, ya sea justificada o solo percibida, sobre la piratería que surge con la votación electrónica. Tanto más cuanto que los proveedores de software de EE. UU. en ese espacio no suelen ser conocidos por su enfoque de transparencia y seguridad.
https://tnsr.org/2020/09/fixing-democracy-the-election-security-crisis-and-solutions-for-mending-it/
https://www.brennancenter.org/sites/default/files/analysis/Fact_Sheet_Voting_System_Security.pdf
Algunos de los temas centrales de esta elección, como la supresión de votantes, tienen menos que ver con la tecnología de punta por el simple hecho de hacerlo, que con una reforma legal de sentido común para permitir que los votantes elegibles voten. Reglas que prohíban a los políticos locales manipular el proceso por razones partidistas, por ejemplo.
Aún así, quiero destacar específicamente "blockchain". Eso es, sin duda, una nueva tecnología interesante. Pero también suele percibirse como una solución en busca de un problema. Su gran "historia de éxito" hasta la fecha ha sido Bitcoin y, desde entonces, blockchain ha sido el favorito de la comunidad de inversores y se ha convertido en la palabra de moda de TI. Su tasa de fracaso también ha llegado a ser el blanco de muchas bromas, hasta el punto de que "¡pero... pero... blockchain!" es una broma corriente para gran parte de la comunidad de TI.
En el mejor de los casos, sería escéptico acerca de solucionar este tipo de problemas con el voto electrónico. Pero específicamente, soy doblemente escéptico acerca de rociar "polvo de duendecillo de cadena de bloques" sobre cualquier problema, a menos que haya un caso muy claro para ello. Unos cuantos activistas vocales que parlotean al respecto no justifican ese caso.
Mirando el fraude, el desperdicio de energía, la actividad criminal y la falta general de transparencia sobre su principal caso de uso, las monedas de cadena de bloques, diría que ese es precisamente el tipo de tecnología que no tocaría ni con un poste de 30 pies para votar.
Incluso si asume que mi señalamiento de fallas en un dominio, las monedas, no se transfiere a otro dominio, la votación, todavía le queda un problema de percepción pública. ¿Confiaría el público en una tecnología en un campo crítico, la votación, que está asociada con el fraude en otro? ¿Por qué? Y, como estamos viendo en este momento, la percepción es un aspecto importante de los sistemas de votación: el actual de EE. UU. es razonablemente seguro y transparente, pero eso aún lo deja con un déficit de confianza.
La trazabilidad a nivel de emisión de votos individuales es básicamente una característica inútil.
La razón por la que desea algún medio para auditar si un voto se ha registrado correctamente es para determinar si el total de votos es exacto. Pero si solo los individuos pueden rastrear cómo se calculó su voto, entonces, a menos que todos hayan renunciado al secreto para rastrear cómo se registró su voto y luego cooperen para compartir los resultados colectivamente, rastrear uno, o incluso una parte significativa de los votos emitidos no dice usted si el total es exacto.
Esto es particularmente cierto cuando considera que la trazabilidad es una característica que existe, más o menos por completo, en un esfuerzo por contrarrestar el conteo erróneo deliberado o sistémico de los votos emitidos, un nivel de fraude que puede intervenir fácilmente entre el registro de votos individuales y la tabulación. del número total de votos, o deslizando votos falsos en la tabulación.
La tecnología de la vieja escuela de marcar una elección en un papel y colocarla en una caja segura, y luego auditar los pedazos de papel en la caja segura, es una forma mucho más confiable y mucho menos costosa de lograr la certeza del resultado.
La trazabilidad podría ser una forma de hacer posible deshacer boletas emitidas específicas que se determina que fueron emitidas por votantes no elegibles después de que se incluyen en un grupo de votos agregado, lo que no es posible con el método de una hoja de papel depositada en un buzón seguro. . Pero históricamente, la cantidad de contiendas de este tipo son docenas o menos para todo un estado en cualquier elección y la cantidad de elecciones que son tan reñidas es realmente poca.
Muchos estados, como Colorado, brindan un código de seguimiento similar al que se usa para rastrear cartas y paquetes en los sistemas de correo o mensajería, que le permite a un votante confirmar si un voto enviado a un administrador electoral realmente se recibió, pero sin adjuntar información sobre lo que decía la boleta.
Esto es más útil, porque permite que un votante que sospecha que su voto no fue entregado intervenga y emita una boleta de reemplazo cuando, por ejemplo, el camión de correo que entrega su boleta sufre un accidente y destruye las boletas adentro al estilo de Hollywood. explosión (algo similar sucedió con alrededor de 150 boletas por correo destruidas intencionalmente en una sola caja por un enfermo mental en Boston este año). Este es un sistema de tecnología mucho más baja que proporciona un beneficio mucho mayor.
En pocas palabras, casi no hay circunstancias en las que la tecnología blockchain mejore significativamente la seguridad electoral.
Posiblemente
Todo depende del protocolo. La respuesta de Luke Briggs hace un gran trabajo al establecer los requisitos para dicho protocolo y muestra un protocolo que no funcionaría. La pregunta es si existe un protocolo que pueda cumplir con los requisitos.
No creo que se haya encontrado uno, pero uno puede acercarse bastante agregando direccionamiento indirecto. A continuación se muestra un protocolo que acabo de idear (dudo que sea original) que se acerca bastante pero falla en una etapa. ¿Se puede cerrar esta falla? No estoy seguro, pero se pueden hacer cosas muy interesantes con la criptografía, como pruebas de conocimiento cero , así que tengo esperanzas.
Protocolo de ejemplo
Cada votante registrado tiene un par de claves pública/privada (solo ellos conocen la clave privada), al igual que el gobierno.
Para cada voto, el votante genera un par de claves pública/privada y envía la clave pública generada al gobierno firmada con su clave privada personal (también envían su clave pública personal). Encriptan el mensaje usando la clave pública del gobierno.
El gobierno descifra el mensaje, verifica la firma y verifica que la persona no haya enviado previamente una clave para esta elección. Lo hace manteniendo una lista de claves públicas personales de votantes registrados con una bandera booleana que cambia cuando recibe una clave verificada.
Luego, el gobierno publica la clave generada en un libro mayor público de blockchain firmado por el gobierno. La clave publicada puede incluir metadatos, por ejemplo, estado, condado, para ayudar con las estadísticas, votaciones cuestionables por exceso o por defecto, etc. Tenga en cuenta que el gobierno no almacena ni publica la relación entre las claves personales y las generadas.
Una vez que se publica la clave pública generada, el votante vota creando una entrada en un libro mayor público con el voto y la clave pública generada, ambos firmados por la clave privada generada.
Luego, cualquier persona puede verificar los votos a) confirmando que el voto fue efectivamente firmado por la clave respectiva yb) que nadie ha votado ya con esa clave.
Una vez validada, el votante tira su clave privada generada.
Ventajas de este sistema:
Desventajas:
Además de las respuestas anteriores, blockchain y los libros de contabilidad públicos se pueden combinar con la votación por correo para crear un mejor sistema de votación por correo. El USPS está presentando una patente para un sistema de cadena de bloques que podría ayudar con la votación por correo para agregar más seguridad y hacer que dichos votos sean más fáciles de contar. Según la propia patente, el sistema funciona cuando “un votante registrado recibe un código legible por computadora en el correo y confirma la identidad y confirma la información correcta de la boleta en una elección. El sistema separa la identificación de los votantes y los votos para garantizar el anonimato de los votos, y almacena los votos en un libro mayor distribuido en una cadena de bloques”.
En los EE. UU. modernos, la identificación de votantes es un tema politizado que es objeto de un debate activo, con un partido que se opone con vehemencia porque lo considera una forma de supresión de votantes, y el otro partido lo defiende para reducir el fraude electoral. .
Como resultado, un esquema que requiere que todos los votantes posean una identificación electrónica elegante es básicamente un fracaso.
Las cadenas de bloques o los libros de contabilidad públicos son (quizás) la mitad de una solución. Las cadenas de bloques son una tecnología , y la tecnología por sí sola no puede resolver los problemas sociales, como tampoco los equipos de construcción por sí solos pueden construir una ciudad. El problema social implícito en la franquicia es la tensión entre la responsabilidad y el secreto, y aunque las cadenas de bloques ayudan a garantizar el secreto, no son particularmente buenas para garantizar la responsabilidad.
El secreto es una parte esencial del sufragio para evitar la intimidación o represalias contra los ciudadanos por sus elecciones de voto. Al contrario de algunas de las otras respuestas dadas, las cadenas de bloques serían bastante efectivas para proporcionar esto. Sí, hay un camino rastreable de regreso al ciudadano votante, siempre que uno pueda asegurar los detalles criptográficos y, en principio, eso podría conducir a acoso, amenazas o medidas punitivas. Pero en la práctica, ese tipo de intimidación no es escalable. La intimidación de los votantes solo tiene sentido cuando los votantes pueden ser intimidados en gran número desde una posición de relativo anonimato: por ejemplo, cuando un industrial hace saber que los empleados que votan de la manera "incorrecta" pueden quedarse sin trabajo, o cuando grupos desconocidos colocan volantes en barrios minoritarios advirtiendo de ataques no especificados si esas personas acuden a las urnas (ambas, por cierto, son o fueron prácticas comunes). Pero las cadenas de bloques garantizarían que cualquier intimidador potencial tendría que comunicarse directamente con los ciudadanos individuales (para obtener acceso a su información criptográfica), lo que aumenta drásticamente el riesgo de exposición pública y, al mismo tiempo, reduce la "huella" de sus esfuerzos de intimidación. En términos más simples, es fácil visualizar a un jefe dando a conocer (a través de algún comentario casual) que verá a todos los empleados que votan por el Pero las cadenas de bloques garantizarían que cualquier intimidador potencial tendría que comunicarse directamente con los ciudadanos individuales (para obtener acceso a su información criptográfica), lo que aumenta drásticamente el riesgo de exposición pública y, al mismo tiempo, reduce la "huella" de sus esfuerzos de intimidación. En términos más simples, es fácil visualizar a un jefe dando a conocer (a través de algún comentario casual) que verá a todos los empleados que votan por el Pero las cadenas de bloques garantizarían que cualquier intimidador potencial tendría que comunicarse directamente con los ciudadanos individuales (para obtener acceso a su información criptográfica), lo que aumenta drásticamente el riesgo de exposición pública y, al mismo tiempo, reduce la "huella" de sus esfuerzos de intimidación. En términos más simples, es fácil visualizar a un jefe dando a conocer (a través de algún comentario casual) que verá a todos los empleados que votan por elotro tipo desfavorablemente, pero es risible imaginar agentes políticos yendo a la puerta para intimidar a los votantes uno por uno.
El problema de la rendición de cuentas es más difícil de abordar. Sí, un votante puede aparentemente usar su información protegida criptográficamente para verificar que su propio voto se registró correctamente, pero esta tecnología abre la posibilidad de una doble contabilidad: por ejemplo, tener una lista que informa el voto del ciudadano al ciudadano cuando lo emitió, y otra lista que se utiliza para compilar totales en la que los votos de algunos ciudadanos se registran de manera diferente. Esto es extremadamente difícil de hacer con la votación con boletas de papel de baja tecnología, porque un gran número de personas involucradas en el conteo tendrían que ser cómplices del acto. Pero digitalizar y cifrar la información de la boleta coloca cada vez más información en manos de cada vez menos personas: limita la responsabilidad y aumenta el potencial de malversación.
El problema de la rendición de cuentas podría resolverse mediante un sistema clásico de control y equilibrio. En tal sistema, los datos de voto encriptados no irían a una ubicación central para ser contados. En cambio, cada partido político, así como las organizaciones interesadas como los periódicos, obtendrían su propio clon de los datos de votación central. Cualquier discrepancia en el conteo de votos entre estos intereses podría rastrearse hasta las boletas individuales que muestran diferencias entre los clones de los datos, y los votantes individuales podrían verificar múltiples fuentes para asegurarse de que su voto no haya sido secuestrado por un grupo u otro. Cuantos más grupos se distribuyan en los recuentos de votos, menos probable es que un grupo pueda manipular las papeletas para su propio beneficio.
Es posible tener privacidad y trazabilidad de los votantes. Aquí hay solo un artículo académico (entre muchos) que describe cómo puede usar la bisimulación y la teoría de gráficos para demostrar matemáticamente la exactitud de las propiedades de privacidad de los protocolos de votación electrónica .
La criptografía detrás de escena es bastante compleja. Los protocolos pueden proporcionar una negación plausible. No está descentralizado , los votantes deben tener un token especial (por ejemplo, una tarjeta electrónica o algo así) emitido por una autoridad central (en la que asumimos que puede confiar).
Además, el protocolo asume el uso de cabinas de votación, por lo que no hay voto a distancia. El acto de emitir el voto real se realiza de forma segura y oculto a los ojos maliciosos.
Cuando finaliza la elección, todos los votos y mensajes de protocolo se hacen públicos, no solo el recuento. Cualquier votante puede entonces verificar que su voto está presente y es correcto. Pueden probar si falta o es incorrecto usando su token.
(En este momento no tengo tiempo para una respuesta más elaborada. Le sugiero que eche un vistazo al artículo del enlace para ver los detalles por ahora).
Sí.
En primer lugar, en la implementación más simple, no hay ninguna razón por la que incluso un sistema de registro público no sea adecuado para reemplazar las boletas de papel o los sistemas de votación electrónica actuales. El flujo general de votación en los sistemas actuales implica que un votante se presente en un lugar de votación, los funcionarios del lugar de votación verifiquen su elegibilidad para votar y luego se le permita al votante emitir su voto en una boleta o en un sistema de votación computarizado. Las boletas en papel y/o el uso de máquinas de votación electrónica en este escenario podrían reemplazarse fácilmente por una dirección de cadena de bloques de un solo uso, y una persona no estaría más fácilmente vinculada a su voto que con el sistema actual. En lugar de recoger una boleta de papel que inserta en una máquina de votación mecánica, puede recoger una tarjeta inteligente que inserta en una máquina de votación vinculada a blockchain,
Además, no todas las cadenas de bloques son iguales, ni siquiera similares.
Las monedas criptográficas más antiguas y actualmente más populares (como BitCoin) utilizan un diseño de cadena de bloques relativamente simple que es esencialmente un libro de contabilidad público. La auto-respuesta a esta pregunta hace un buen trabajo al exponer por qué este tipo de sistema es problemático para votar en las elecciones, pero este no es el único tipo de cadena de bloques que existe.
Por ejemplo, Etherium usa un modelo ligeramente diferente que permite votar y ciertos tipos de ejecución de contratos y, de hecho, el gobierno ucraniano está probando para ciertos tipos de elecciones y votaciones .
También hay criptomonedas que utilizan tecnologías de cadena de bloques y presentan transacciones anónimas, siendo Monero el mejor ejemplo .
El uso de una cadena de bloques basada en la criptografía de firma de anillo podría, en teoría, permitir a las personas tener una dirección de cadena de bloques de votación reutilizable que podría autenticarse, con transacciones/votos anónimos, pero también verificables, cumpliendo todos los requisitos básicos de una sistema de votación, y sabemos que es posible incluir mecanismos de votación en una cadena de bloques porque Etherium lo hace. Estamos muy lejos de ver algo así en la práctica, pero al menos es teóricamente posible.
tl; dr - Sí, puedes obtener básicamente lo que quieras con criptografía. Crypto puede habilitar tanto la privacidad (al ocultar información) como la publicidad (al proporcionar declaraciones verificables de la verdad que pueden ser verificadas de manera confiable por terceros). Puede haber algo de trabajo de ingeniería social por hacer, pero la tecnología sería relativamente sencilla.
El caballo de batalla principal es un par de claves asimétricas , que tiene dos partes:
una clave pública , que es básicamente una nueva identidad (como una dirección de correo electrónico o un número de teléfono) que controlas;
una clave privada , que es como su contraseña secreta para la clave pública.
Las personas pueden publicar sus claves públicas para que todas las personas del mundo las vean, pero las claves privadas nunca deben compartirse.
Esto permite muchas cosas interesantes:
Cualquiera puede cifrar un mensaje en su clave pública (suponiendo que lo sepa), pero solo usted puede descifrar el mensaje.
Puede probar su identidad demostrando su capacidad para descifrar datos aleatorios.
Puede firmar datos electrónicamente utilizando su clave privada para generar la firma. Las personas con su clave pública pueden verificar que una firma coincida con lo que firmó, lo que demuestra que lo firmó.
Una vez que tenemos este conjunto básico de trucos, podemos hacer cosas increíbles con él.
En términos generales:
Todo tiene su propio par de claves asimétricas. Por ejemplo, cada votante, máquina de votación, trabajador electoral, etc., debe tener al menos un par de claves.
Cada vez que hace algo como votar, siempre obtiene un recibo e inmediatamente verifica que el recibo sea correcto.
Se puede usar un recibo correcto para probar que la otra parte vio el contenido del recibo y lo firmó con su clave privada.
Un recibo incorrecto es inútil. Si obtiene uno de una máquina de votación, básicamente actúa de la misma manera que lo haría si la máquina de votación le diera un mensaje de error fuera de servicio.
Utilice la redundancia para protegerse contra el fraude conspirativo. Por ejemplo, todos los votos deben compartirse electrónicamente con el gobierno de EE. UU., el Partido Republicano, el Partido Demócrata y cualquier otra persona: todos pueden hacer su propio conteo (muy rápido y fácil, ya que es electrónico) y todos deben llegar. en el mismo resultado exacto sin ningún error. Si alguien no está de acuerdo, todos pueden mostrar recibos firmados para probar la verdad; las mentiras se exponen fácil y demostrablemente.
Utilice certificados firmados en cadena para establecer identidades subordinadas. Por ejemplo, una máquina de votación oficial de los EE. UU. debe demostrar que es oficial, pero no debe tener la clave privada principal de los EE. UU. (ya que sería una gran responsabilidad de seguridad). Entonces, en cambio, la máquina de votación debería tener su propia clave privada, y luego los EE. UU. firman un recibo con la clave privada oficial que indica que la máquina de votación es legítima. Luego, la máquina de votar puede demostrar que es legítima mostrando a las personas el recibo firmado oficialmente que lo dice.
La implementación debe ser automatizada, de código abierto y auditable.
La automatización mantiene todo esto simple y fácil de usar. Algo así como la complejidad de las computadoras, pero la mayoría de la gente no necesita saber cómo funcionan para ver Netflix.
De código abierto y auditable para que las personas puedan tener expertos confiables que verifiquen cosas por ellos. Por ejemplo, los republicanos de EE. UU. probablemente se sentirían más seguros si el partido republicano verificara de forma independiente que sus credenciales para votar son buenas, y las personas que no confían en un solo partido podrían pedirle a varios partidos que verifiquen la corrección.
Las posibles complicaciones son:
Falta de confianza inicial.
Creo que a las personas que obtienen este tipo de sistema les encantaría y preferirían/confiarían en él sobre cualquier otra alternativa. Pero a corto plazo, cuando gran parte de la población no esté familiarizada con estos conceptos, el público probablemente necesite garantías de voces confiables para estimular la aceptación inicial.
Demasiada confianza.
Las personas con recibos de voto pueden probar por quién votaron. Algunos han expresado su preocupación de que dar a las personas esta capacidad podría ayudarlos a vender su voto, o hacer que un controlador verifique que votaron según las instrucciones.
Necesidad de educación pública.
La gente necesitaría aprender cómo funciona todo esto, por lo que podría haber una curva de aprendizaje allí. Dicho esto, es probable que tecnología como esta se convierta en un elemento central de los estilos de vida futuros de todos modos, por lo que promover la educación pública sobre el tema podría ser algo bastante bueno.
Espero que un sistema como este sea el futuro. Definitivamente haría las cosas mucho más fáciles, rápidas y confiables.
La adopción inicial y los problemas sociales son el obstáculo complicado. Es fácil subestimar/sobreestimar lo malos que podrían ser, o juzgar mal cómo podrían funcionar, por lo que dudo en asumir demasiado.
La mayor parte de lo que se esbozó anteriormente es más una red de confianza que una cadena de bloques. Se podrían agregar elementos de cadena de bloques si corresponde, pero por razones que parece una tontería preocuparse por discutir aquí, dudo que tenga sentido en esta aplicación.
Blockchain ya se usa para votos menores en algunas partes de Suiza. Véase, por ejemplo , https://www.swissinfo.ch/eng/crypto-valley-_-switzerland-s-first-municipal-blockchain-vote-hailed-a-success/44230928 La votación por Internet se utiliza en las principales elecciones de Estonia: https://e-estonia.com/solutions/e-governance/i-voting/ A pesar de lo que se sugiere en algunos comentarios a continuación, es perfectamente posible alojar el servidor de conteo en blockchain. Entonces es posible. Dicho esto, hay una serie de cuestiones técnicas, sociales y éticas que deben abordarse antes de que la votación en cadena de bloques se pueda utilizar más ampliamente.
Me gustaría comentar un aspecto en particular: El deseo de que los votos se olviden después de un tiempo. Existe la concepción de que una cadena de bloques debe contener todos sus datos durante toda la historia y que esto pone en riesgo el derecho al olvido.
En primer lugar, una cadena de bloques no contiene necesariamente toda la historia para siempre; almacenar datos para siempre es costoso y cualquier blockchain que garantice almacenar datos para siempre será terriblemente costoso a largo plazo si maneja cantidades significativas de datos. Sin embargo, una cadena de bloques no necesita almacenar todos los datos para ser útil para validar datos históricos. Una cadena de bloques típica es un árbol de Merkle, un árbol de hash de hash de hash de hash y en la parte inferior tienes las hojas del árbol con datos. Si solo tiene el hash de la raíz, unos 64 bytes de datos, ya tiene suficiente información para verificar una afirmación de que una hoja determinada tiene un valor determinado. Los hashes intermedios deben proporcionarse como prueba, entonces su tarea como validador es simple. Por lo tanto, es posible eliminar información de la cadena de bloques pero aún así tener pruebas sólidas de resultados históricos. Los llamados registros de transparencia usan esto para verificar los registros DNS en su navegador ahora mismo.
En segundo lugar, existe la idea de que todos los datos en una cadena de bloques son públicos, por lo que todos los votos deberían ser públicos. Este no es el caso. Una cadena de bloques garantiza el estado replicado, por lo que todas las máquinas realizan un cálculo y acuerdan el resultado. Ese cálculo podría ser tan simple como agregar una firma a una matriz normal, en cuyo caso todos los votos serían públicos, visibles para cualquier persona; sin embargo, la cadena de bloques podría contar el voto y almacenar la identificación del votante, despojada del voto, para evitar la repetición de la votación. Esa solución simple no es suficiente para brindar una buena seguridad, sin embargo, es suficiente para ilustrar el punto de que blockchain no implica que todos los datos sean públicos.
La respuesta corta es sí, es posible. La respuesta larga es que llevará tiempo llegar allí. Cuando se plantea esta pregunta, la mayoría de las personas se centrarán en la votación real de un individuo y se perderán la imagen. La idea de una cadena de bloques es una gran idea si se implementa correctamente con el valor central de preservar los derechos de quienes votan. En la mayoría de los casos, los votos deben ser anónimos. Teniendo esto en cuenta, propongo lo siguiente:
Fase 1: todas las transacciones de blockchain que se registran no tienen nada que ver con el valor real de la votación. En cambio, se enfocan en respaldar la integridad de los votantes al registrar todas las transacciones relacionadas con un votante legal desde el momento en que se registra hasta el momento en que se elimina del sistema. Eso podría ser en cientos, si no miles de transacciones públicas.
Ejemplo: un individuo John Doe asiste a la ceremonia para recibir la ciudadanía estadounidense. Esta es una transacción pública realizada generalmente por un juez y puede marcar el comienzo de la vida de muchas transacciones. Cada transacción registra la geolocalización de la azotea, la fecha, la hora, el nombre del lugar/dirección de la calle, el funcionario público que realiza la transacción. Justo afuera de la ceremonia, el secretario de estado puede tener un centro de registro móvil. Registran a John Doe como votante registrado en la jurisdicción. Hay pocas transacciones aquí que se pueden registrar. Los más importantes son el nombre de los empleados estatales que realizan cualquier actividad, todas las actividades y los detalles de la persona. Cualquier documento que se toca, verifica o revisa se registra con los resultados.
John Doe puede decidir un día usar su derecho al voto. Usaremos un escenario fácil, donde él vota en persona. Con base en las leyes estatales, podría haber diferentes procedimientos involucrados para cada estado, pero para simplificar intentaremos lo siguiente:
John Doe entra al edificio y se le da una hoja para llenar: Eso es una transacción. esa transacción registra quién le dio la boleta, cuándo fue eso, etc. Él llena las boletas y se las devuelve a alguien. esa es una transacción separada que registra quién la obtuvo. Luego, esa información se verifica (en algunos casos, mediante la comparación de identificación del estado). esa transacción también se registra quién, cuándo lo hace.
El votante se mueve hacia abajo y hay otra transacción de segunda verificación si el votante existe en la lista pregrabada. La transacción se registra quién la realizó y cuáles son los resultados.
El votante recibe una boleta para votar (se usa papel). la transacción se registra por quién, cuándo, etc.
El votante entrega la parte superior de la papeleta al trabajador electoral. La transacción se registra quién la recibió.
El votante vota empujando la boleta en la máquina. La transacción se registra que este evento ocurrió.
Una vez cerradas las encuestas, cada operación debe volver a registrarse en cadena como número de transacciones desglosadas: quién hizo qué, cuándo, etc.
El número de resultados se registra en cadena. Las papeletas selladas son luego rastreadas por rutas gps y las rutas son registradas por geolocalización con altitud incluida y hora, quién las transportó, etc.
este tipo de transacciones se pueden usar en miles para almacenar información pública en la cadena.
El riesgo de que un votante haga algo ilegal durante una elección es muy bajo y, por esa razón, se pasó a la Fase 2. El mayor riesgo para la integridad del votante es todo lo que podría manipularse a granel. Ahí es donde la cadena de bloques puede ser útil, pero nuevamente no protegerá la intención corrupta al 100% (si existe).
Esto no parece demasiado difícil, y realmente no veo cómo la cadena de bloques contribuiría significativamente. Debería ser posible brindar una solución al menos tan segura como la votación en papel, aunque requiere un nivel similar de confianza en las organizaciones que la ejecutan.
Primero, tiene un sitio web de guardián. Esto está física y operativamente separado del conteo de votos. Inicie sesión aquí y proporcione las credenciales necesarias para demostrar que es quien dice ser. Luego, su navegador ejecuta una aplicación de JavaScript localmente que recopila su voto, pero antes de enviarlo al guardián, se cifra con una clave pública para un tercero: el tabulador.
Una vez que el guardián ha recibido su voto encriptado, marca en el registro que ha votado. Esto es similar al trabajador electoral en una mesa de votación en papel: saben quién es usted y que ha votado, y están en posesión de su boleta, pero no pueden ver cuál es su voto porque está encerrado en una caja. (o cifrada con una clave que no tienen en este caso). El guardián, al igual que los trabajadores electorales que manejan un lugar de votación en persona, es responsable de transmitir su voto a la ubicación central.
La clave para confiar aquí es que el JavaScript que se ejecuta en el cliente es auditable (dado que JavaScript se interpreta, la fuente se proporciona al cliente; la ofuscación estaría prohibida para mantener su legibilidad). Además, las mismas organizaciones que son responsables de garantizar la seguridad de las elecciones podrían observar a los guardianes: el código fuente del servidor sería de código abierto y cualquier medio necesario para confirmar que el guardián no tiene acceso a la clave de descifrado y que se proporcionaría el reenvío adecuado de votos al tabulador, con la opción de observación pública a través de algún medio (un panel de control que muestre datos relevantes, tal vez). Los expertos (profesionales de TI, tanto no partidistas como bipartidistas) observarían la configuración y la instalación de los servidores para garantizar que el código fuente abierto (nuevamente, auditado por todas las partes) es lo único instalado y que está instalado sin modificar. Los voluntarios y los expertos pagados pueden observar físicamente que el servidor no es molestado mientras está en funcionamiento y durante la elección. Las medidas adecuadas de detección de intrusos ayudarían a garantizar que los servidores no sean pirateados o alterados de forma remota. Las salvaguardas electrónicas son bastante estándar, y la asignación de observadores es bastante similar a lo que se hace hoy en día para el conteo de votos.
El controlador de acceso firma el voto con su clave privada antes de enviarlo al tabulador para que se pueda confirmar que todos los votos recibidos por el tabulador provienen de un controlador de acceso, lo que reduce la probabilidad de votos falsos. El tabulador también, por supuesto, solo aceptaría votos a través de conexiones encriptadas de direcciones IP de gatekeeper conocidas. Por supuesto, también se tomaría cualquier otra mejor práctica para garantizar la confianza.
Una vez que el voto se envía a la instalación de escrutinio para ser contado, se procede de manera similar a la votación electrónica actual. El voto se descifra y cuenta a través de un software, aunque a diferencia de las máquinas de votación electrónicas actuales, el código sería completamente de código abierto. Una vez más, los observadores no partidistas y bipartidistas podrían validar que el proceso avanza con honestidad, con expertos que supervisan la instalación, configuración e instalación, así como el funcionamiento, del equipo informático.
Por lo tanto, debe confiar en las personas que validan el hardware y el software y en las que auditan el código, que, recuerde, son tanto no partidistas como bipartidistas para garantizar la equidad, tanto como debe confiar en los trabajadores electorales y los contadores de votos en elecciones de papel actuales. ¿Es infalible? No, pero es al menos tan infalible como las boletas de papel o por correo.
Podría haber múltiples guardianes y cuál usar podría estar basado en su distrito u otros factores. Los guardianes tendrían que retrasar la transmisión de un voto a la autoridad central hasta que pueda confirmar que ese votante no ha votado (digamos en otra puerta de enlace o en persona), por lo que las actualizaciones periódicas de las listas de votantes deberían mantenerse, nuevamente, no muy diferente a la actual. Se podrían usar software/algoritmos de cola de transacciones estándar para garantizar que las interrupciones del servicio no pierdan ningún voto, de forma similar a cómo los bancos garantizan la seguridad de las transacciones.
Una vez que vote, podría imprimir una página de confirmación, pero la información que mostraría sería mínima, tal vez una identificación de transacción y una fecha/hora, pero incluso eso podría ser demasiado específico, digamos si el tabulador recibió un voto de un guardián específico. en ese momento específico (o, más exactamente, un pequeño lote de votos en cola poco después, una vez que el guardián haya confirmado la unicidad de su voto después de una sincronización frecuente de la lista de votantes). La información aquí es ajustable. Teniendo en cuenta que no obtiene nada más que una calcomanía de "Yo voté" de un lugar de votación regular, esto podría ser simplemente un simple "¡hemos recibido su voto!" mensaje.
Por redundancia, los guardianes podrían mantener copias locales de los votos que recibieron, simplemente disociados de cualquier información de identificación (incluidas las direcciones IP almacenadas en los registros del servidor web). Esto es opcional, pero podría ser útil para verificar dos veces el conteo de votos. Debo decir, aquí, que esta no es una idea completamente formada, por lo que algunos de los detalles necesitarán ser refinados por expertos en tales cosas, por lo que este es un elemento opcional y por qué algunos de los detalles de las auditorías no son explícito.
Además, me preocupa que haya una falla en este plan que me estoy perdiendo: los expertos han dedicado mucho más tiempo a este problema que yo y en su mayoría han decidido que la votación segura y anónima no es posible fuera de las boletas de papel, por lo que estoy probablemente caiga en la vieja trampa de seguridad de "No veo ningún defecto, ¡así que debe ser infalible!". Pero, humildemente lo publico aquí de todos modos, ya que no he encontrado un plan similar propuesto y tengo curiosidad por ver qué fallas hay.
Por último, con respecto al argumento de que "la gente no entiende la tecnología y, por lo tanto, no confiará en ella", no lo reconozco como válido porque la gente usa tecnología que no entiende todo el tiempo. La mayoría de las personas no entienden el cifrado de clave pública y, sin embargo, realizan operaciones bancarias en línea y compran en línea usándolo todos los días. Las elecciones actuales usan máquinas sofisticadas para contar y tabular los votos y nadie realmente parpadea ante eso porque está enterrado de forma segura detrás de escena (donde pueden asumir ignorantemente que cada voto se cuenta a mano). Con el examen de expertos de confianza (independientemente de sus inclinaciones políticas), esto no debería ser diferente.
Ronald L. Rivest ha escrito algo adecuado. El tiempo que se pasa aquí se gasta bien.
Este hombre es la R en RSA.
Felipe
hinchado
usuario253751