¿Es posible usar blockchain o libros de contabilidad públicos para votar?

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í?

Comentarios eliminados. Por favor, no utilice comentarios para responder a la pregunta. Si desea responder a la pregunta, escriba una respuesta real.
Enlace XKCD obligatorio, que como programador debo decir que es lamentablemente preciso: xkcd.com/2030
"¿Crees que es posible?" está basado en opiniones y por lo tanto fuera de tema.

Respuestas (17)

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.

mientras que en principio es fácil cometer fraude con ellos”. Es muy difícil hacer fraude con ellos, al menos cuando se usa la votación en persona. Puede ver cómo se sella la urna vacía , puede ver que solo los votantes elegibles depositen sus votos, puede ver cómo se abre la urna y cómo se cuentan los votos. EEUU mete mella en esto ya que se transportan urnas y no tienes forma de verificar el tránsito, pero cuando se hace el conteo en la mesa de votación, y un ciudadano ejerce su derecho a mirar, es dificilísimo defraudar.
Compare eso con la votación electrónica, donde el ciudadano promedio no puede hacer exactamente nada para validar nada...
¿Hay alguna manera de ver de manera verificable que su voto se agregó al total, sin que otros lo puedan rastrear?
@Polygnome, ¿cómo es posible ver que solo los votantes elegibles ingresen sus boletas, en los casos en que la identidad del votante no se confirma de manera significativa (por ejemplo, en muchos estados de EE. UU.)? Además, ¿no se insertan finalmente los votos en un sistema electrónico que, de nuevo, la mayoría de los votantes no entienden?
@endolith: ese sería el GUID mencionado por OP. Cuando vota, obtiene un número largo, generado aleatoriamente en el acto, que se registra con el voto que acaba de emitir, pero no en ningún otro lugar y, en particular, no está relacionado con usted de ninguna manera. Después de la elección, se publica la lista de todos los GUID y los votos emitidos con ellos. Cualquiera puede verificar que su GUID coincida con el voto que emitieron y cualquiera puede verificar que el conteo total sea correcto. Como escribí, el problema es que se puede obligar a las personas a revelar su GUID.
@MichaelBorgwardt No, me refiero a algo temporal que le permite ver su voto en el total, pero sin que nadie más lo vea o identifique quién hizo que el total subiera. Cada votante observa que su propio voto aumenta el conteo, y el total se compara con el número total de personas que votaron en ese lugar de votación, para que cada persona pueda verificar que su boleta fue contada y todos pueden verificar que no se agregaron boletas adicionales. y todos pueden asumir que las cuentas son correctas ya que todos verificaron su propio voto, pero nadie más puede conectar un voto en particular con un votante.
@MichaelBorgwardt No estoy convencido de que "si hay alguna forma de que un votante rastree su voto, puede ser obligado a revelarlo". Solo quiero poder probar que mi voto fue (1) recibido y (2) utilizado o (3) no utilizado en el cómputo del recuento final. Si pruebo que mi voto se utilizó en el recuento final, entonces puede inferir que voté por Trump, Biden o Jorgenson. Si un solo votante puede probar que su voto recibido no se usó en el cómputo del conteo final, entonces toda la elección debe descartarse y rehacerse.
@MichaelBorgwardt No tengo idea de si eso es posible, pero ¿puedes probar que es imposible?
@emory: Diría que un votante que pueda confirmar que su voto fue contado para el candidato que quería es al menos tan importante como si se contó o no.
@endolith: Si un votante observa que su voto aumenta el conteo de su candidato en público, no es secreto, y si lo observa en privado, no puede saber si lo que se muestra es lo que realmente se cuenta, especialmente dado que la mayoría de los colegios electorales tienen múltiples votantes votando en paralelo.
@MichaelBorgwardt Tienes razón. En un sistema de votación perfecto, debería poder demostrarse a sí mismo y a los demás que su voto fue recibido y utilizado. Debería poder probarse a sí mismo, pero no a otros, que su voto fue para el candidato correcto. Simplemente describir los requisitos es complicado, no importa implementarlos.
@MichaelBorgwardt ¿Es imposible idear un sistema en el que un votante pueda observar su propio voto aumentando el total, sin que esa información también esté completamente abierta al público?
@endolith no: el sistema GUID hace exactamente eso, con los inconvenientes mencionados. En mi respuesta, menciono que la criptografía podría hacer posible eliminarlos, pero dicho sistema sería demasiado complejo para que la mayoría de las personas lo entiendan, solo tendrían que confiar en los expertos que proporciona las garantías reclamadas.

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.

La verificación de si un voto se contó en función de GUID podría realizarse de manera que se preserve el secreto simplemente publicando todos los GUID y sus votos correspondientes. Cualquiera puede descargar la lista completa (también debe comprimirse muy bien). Para hacerlo más práctico, puede cortarlo en trozos según un pequeño prefijo o sufijo.
@MichaelBorgwardt: muy cierto, pero "identificar al votante por IP" es bastante inestable para empezar. ¿Quién dice que está buscando su propio voto, en lugar de una identificación que obtuvo de alguien (según el último punto)? ¿O que estás en una IP rastreable, a diferencia de un punto de acceso público o TOR/VPN? Los otros puntos en la respuesta son las preocupaciones reales.
@MichaelBorgwardt eso funcionaría para votantes con conocimientos técnicos. Me estremezco al pensar cómo intentaría mi abuela validar su voto a partir de un volcado de datos. Eso llevaría a que los sitios web brinden un servicio de "valide su voto" a los votantes no técnicos, lo que permitiría que esos sitios web conecten a los votantes con sus votos. Con un poco de Google Analytics habitual en esos sitios web de terceros, de repente Google sabe cómo votó.
Tal vez soy ingenuo/desinformado, pero si no puede rastrear a un votante, ¿cómo puede alguien agregar votos adicionales? Tal vez compare con el número de personas enumeradas que votaron por distrito electoral, pero dado que no puede retroceder, parece imposible averiguar dónde/cuándo se ingresaron los votos inválidos. O, lo que es más importante, ¿cuáles de los votos fueron los obtenidos (sin que posteriormente cada persona admita sus votos y los elimine?)? Entonces, si bien permitiría una opción para que las personas verifiquen que su propio voto se contó en privado, ¿sería como está ahora en términos de agregar votos?
@JeopardyTempest Eso se llama relleno de boletas. Con las urnas físicas, los asistentes electorales vigilan las urnas. Por lo general, son de varias partes, por lo que les conviene evitarlo. Aparte de eso, a veces hay observadores electorales internacionales que informan sobre cosas como esa. El impacto de eso suele ser muy bajo, porque puede observar la cantidad de votantes elegibles y solo los distritos con poca población tendrán ayudantes de un solo partido. Todos los distritos con suficiente población para que valga la pena también serán observados por ambos lados. (continuación)
@JeopardyTempest Para la votación en línea, ese es un problema real que es difícil de abordar y no estoy seguro de cómo podría resolverse sin hacer que la votación no sea secreta (conectando la votación con el votante).
@Morfildur Eso depende de cómo se implemente. He sido pwned hace algo similar sin problema. Tengo entendido que el cliente solicita un subconjunto de la base de datos y realiza la búsqueda final por sí mismo. El servidor aprende poco. Esto incluso podría hacerse con un cliente basado en web que descargue toda la base de datos y realice la búsqueda localmente.
@Morfildur Google ya sabe cómo votaste.
Se podría configurar un sitio web para que las personas verifiquen sus votos de forma anónima usando algo como el sistema de haveibeenpwnd. El cliente envía solo un prefijo del GUID. Luego, el servidor envía todos los votos para guids con esos prefijos. Finalmente, el cliente descarta todos los votos excepto el correspondiente a su propio GUID. Obviamente, todavía hay otros problemas con el voto electrónico.
"Recomiendo echar un vistazo a este XKCD relacionado con el software de votación": la forma en que leí que XKCD es que las personas son (posiblemente) irrazonablemente escépticas de la votación computarizada, dadas todas las otras cosas que hemos logrado con la tecnología (que es exactamente lo contrario del mensaje previsto aquí). Tampoco proporciona razones concretas por las que es una mala idea (lo cual es justo, dado que es solo un webcomic, pero eso significa que no es tan útil como referencia).
@NotThatGuy, como siempre en xkcd, el texto alternativo de los cómics brinda más contexto: "Hay muchas personas muy inteligentes que realizan un trabajo fascinante en los protocolos de votación criptográficos. Deberíamos financiarlos y alentarlos, y realizar todas nuestras elecciones con papeletas de papel hasta que todos actualmente trabajando en ese campo se ha jubilado". lo que indica que el cómic está destinado a entenderse de la forma en que se usa aquí: en la mayoría de los campos técnicos, los ingenieros confían razonablemente en que los sistemas de seguridad funcionan. Con los sistemas de votación electrónica, ese no es el caso.
Por supuesto, uno de los problemas del cómic es que compara los sistemas de seguridad con los sistemas de seguridad, y bueno, tanto los aviones como los ascensores son vulnerables a los actores malintencionados.
@Morfildur Re: "Eso llevaría a que los sitios web proporcionen un servicio de 'valide su voto' a los votantes no técnicos": ahora es técnicamente factible alojar sitios web directamente en una cadena de bloques, sin tener que usar un servicio de puerta de enlace. Probablemente tenga razón, habrá sitios fraudulentos que intentarán robar información, pero es perfectamente posible crear un sitio web fácil de usar y de alto rendimiento directamente en blockchain. No digo que la votación de blockchain sea una buena idea, pero ese obstáculo en particular ya no es un problema. Véase, por ejemplo , mashable.com/article/linkedup-dfinity

No, no es posible.

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:

  • Un votante debe ser ciudadano (Auténtico)
  • Sus opciones de votación no deben ser conocidas, especialmente no en un libro de contabilidad público (Anónimo)
  • El voto que emiten no está manipulado (Válido)
  • Un votante no debería poder probar por quién votó (Soborno)
  • Un recuento final público para que varias personas puedan validar el sistema en su conjunto.

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 :

  1. Creo un "par de claves" criptográfico: una clave privada que solo yo conozco y una clave pública que todos pueden ver. El gobierno firma mi clave pública como prueba de que soy un ciudadano que usa una clave privada del gobierno .
  2. Doy mi voto. Firmo mi elección con mi clave privada y la agrego junto con la firma del gobierno al libro público para que todos la vean.

Tiene estas propiedades:

  • Nadie conoce la clave privada del gobierno, por lo que no pueden realizar votos no auténticos.
  • Nadie debería conocer mi clave privada para que tampoco puedan manipular mi voto.
  • La firma del gobierno proporciona autenticidad y no hay otra información en el libro mayor, por lo que también es anónimo.
  • El conteo final es público porque cualquiera puede sumar los votos.

Bonito, ¿verdad? ¡No! En realidad puntúa 1/5 :

  • El Gobierno puede usar la firma para identificarme y mi voto. Después de todo, la firma se originó en ellos cuando me verificaron como ciudadano y también está ahí en el libro mayor junto a mis elecciones.
  • El Gobierno puede crear tantos "ciudadanos" como quiera, socavando por completo tanto la autenticidad como la validez. Cualquiera que mire el libro mayor no podrá notar nada.
  • Verificar una firma da una garantía criptográfica de exactamente por quién voté; es válido, seguro, pero también abre caminos fáciles para que la gente me soborne.

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.

¿Por qué es importante un conteo final público?

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 .

¿Qué tal algún tipo de híbrido? ¿Seguro que podemos usar algo ?

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.

Resumen

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.

Por supuesto, la mayoría de estas objeciones se aplican a los sistemas basados ​​en papel existentes, con la importante condición de que es más costoso e involucra a más personas para secuestrar el sistema.
@origimbo Exactamente: la votación por correo viola el anonimato, pero al menos ser sobornado es más difícil porque no se puede verificar. Inundar el sistema con muchas boletas de papel falsas sería complicado, si no obvio, debido a la gran cantidad de personas involucradas.
¿Qué sucede si se requiere que todas las personas elegibles para votar voten? -- por el bien de la discusión, asuma que esta es una posibilidad realista. ¿Podría eso eliminar/reducir la preocupación del "tesoro de zombis"? Mi intuición dice que no...
@tolos Pensamiento interesante; Me inclino por estar de acuerdo en que no lo reduce demasiado; principalmente sobre la base de que hay grandes porciones de la población que no pueden votar (físicamente incapaces, etc.): la brecha entre la población y el electorado proporciona un buen espacio para que los zombis pasen desapercibidos.
No estoy muy seguro de "Nadie conoce mi clave privada para que tampoco puedan manipular mi voto". No necesito saber la clave privada de mi esposa. Todo lo que necesito es acceso al dispositivo que usará.
@MichaelJ. Es una descripción general relativamente abstracta, pero la he editado para decir "Nadie debería saberlo", gracias.
Tenga en cuenta que su crítica se aplica a los modelos de cadena de bloques que se basan en un sistema de registro público que no es anónimo. Algunas criptomonedas más nuevas, como Monero, están diseñadas para anonimizar las transacciones y, en teoría, podrían adaptarse para fines de votación como resultado de esta consideración de diseño.
@ HopelessN00b Creo que es posible que lo haya leído mal allí: se aplica a todos los sistemas de registros públicos, ya que el soporte de los registros para el anonimato no es estrictamente de lo que se trata; más bien está más relacionado con el requisito democrático de anonimato y cómo eso no funciona junto con la autenticidad cuando la información del voto es pública. Como nota aparte, también trabajé en un diseño para un libro mayor público en sistemas financieros.
Su reclamo es válido solo si asumimos que no se puede confiar en nadie. Sin embargo, sería posible usar algo así como un esquema de cifrado de umbral que garantice la validez y el anonimato en la medida en que no kse corrompan más entidades (y puede elegir kel tamaño que desee...).
@LukeBriggs Criptografía de firma de anillo. ( Monero .)
¿Permitir una cantidad de boletos para cada condado/distrito en función de los datos del censo y la información del registro de votantes podría evitar que el gobierno cree "ciudadanos falsos"?
@RedOculus Creo que eso solo funcionaría si en todas partes hubiera una alta participación de votantes: siempre hay grandes porciones de la población que simplemente no se molestan en votar, por lo que da un margen grande y agradable para adaptarse a los votantes falsos. Por ejemplo, una variación del 1% en las elecciones de EE. UU., lo suficientemente probable como para cambiar el resultado, haría que una participación del 55% pareciera haber sido del 56-57%.

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.

re: cada voto contado / 2do párrafo. No estoy seguro de que realmente esté resaltando el problema correcto. Es común poder usar Internet para verificar el estado de (por ejemplo) boletas de voto en ausencia sin obtener ninguna información sobre qué votos se emitieron en esa boleta.
@BurnsBA Sí, puede verificar que su boleta esté en una base de datos, pero eso no garantiza que se haya incluido correctamente en los totales informados. Para eso tienes que confiar en el sistema de conteo (que es bastante robusto, por cierto). Tampoco protege contra el relleno de boletas.
Creo que hay algo de confusión de idioma. Suena como "Tienes que garantizar que se hayan contado todos los votos legales" no se refiere al conteo de votos, en realidad significa "Tienes que proporcionar una forma para que una persona verifique que lo que se registra oficialmente es lo mismo que cómo votaron".
@BurnsBA Sí, eso es lo que quise decir. Arreglaré la respuesta.

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.

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:

  1. Solo los votantes registrados pueden votar y solo una vez
  2. La parte de votación del esquema es totalmente pública y verificable públicamente.
  3. La parte de votación no puede vincularse a un votante individual.
  4. Es público cuántos votantes votarán

Desventajas:

  1. Un gobierno sin escrúpulos puede conocer la relación entre el elector y su voto almacenando la relación entre la clave pública personal y la generada.
  2. Un gobierno sin escrúpulos puede "crear votantes" agregando claves generadas que no están vinculadas a los votantes y votando con ellos. Esto se puede mitigar con metadatos como se describe o publicando la lista (votante, bandera) que tiene otros problemas.
Desafortunadamente, este es el enfoque de "cadena de confianza" (¡o al menos parece serlo!) donde tienes Gob - Person - Vote. En general, si el gobierno puede almacenar algo, asuma que probablemente lo hará. La parte difícil es que el gobierno puede presionar el botón "generar horda de zombis" y crear tantos "ciudadanos" firmados como quiera; eso también es posible aquí.
@LukeBriggs No entiendo el reclamo de "generar acumulación de zombis", porque por lo que entendí de ambas respuestas, podría exigir que cada par de claves esté vinculado a un individuo en particular en las listas de votación, lo que facilita la detección de "zombis". . De todos modos, la falta de anonimato no es una "desventaja", es un defecto fatal porque niega un principio básico que asegura que los votantes sean libres de emitir su voto.
@Luke Briggs Estoy de acuerdo contigo en la primera parte y menciono esto como la principal limitación. Menos en la segunda parte. A medida que se publiquen las claves, especialmente si se publican con algunos metadatos, los problemas de recuento bruto serán más difíciles de ocultar, mucho más que en la actualidad.
@ SJuan76 El problema del "tesoro de zombis" surge si no puede, de forma independiente, vincular un voto directamente a una persona, lo que no puede (deliberadamente) en mi esquema. Así que un gobierno sin escrúpulos podría generar un manojo de llaves y votar con ellas. En el esquema de Luke, esto es mucho más difícil ya que puedes vincular el voto directamente con el votante (por lo que tendrían que falsificar el registro de votantes) pero, bueno, significa que todos saben por quién votaste.
Los pares de claves de @SJuan76 son fáciles de crear, por lo que crear muchos ciudadanos digitales (como lo ha hecho Estonia) y luego votar con ellos es fácil y rápido. Los votos suelen ser tan ajustados que solo se necesitan unos pocos para lograrlo. De manera similar a la nota de Alex, los metadatos ayudan, es decir, identifican públicamente a una persona real tanto como sea posible, pero comienzan a estar muy cerca de violar el anonimato (es decir, dónde está el límite) porque es muy fácil relacionar los datos públicos.
He agregado el problema del "tesoro de zombis" como una desventaja. También menciono una "solución" que es publicar la lista de votantes y si tienen una clave publicada. Eso evitaría el tesoro, pero mostraría al mundo quién votó/no votó (aunque el público no puede rastrear a los votantes hasta los votos). Si cree o no que publicar quién votó es aceptable es, por supuesto, una cuestión diferente.
Ya que estamos hablando de zombis, probablemente valga la pena ser pedante y hablar de una horda de zombis .
Este escenario también es vulnerable al soborno, ya que el votante puede conservar su clave privada y entregársela a otros para confirmar su voto en el libro mayor público. O ser coaccionado para conservarlo, entregarlo antes de votar, etc.

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”.

Imagen de la patente de USPS para la votación de blockchain

Esa es una gran toma: la votación por correo siempre tendrá fallas en términos de anonimato, por lo que también podría usar la tecnología para mejorar su transparencia mientras tanto.

No en los EE. UU., porque inherentemente requiere una identificación de votante.

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.

Dado que la pregunta no está etiquetada como específica de EE. UU., esta respuesta es irrelevante. La mayoría de los países del mundo, excepto el Reino Unido y un par de sus antiguas colonias, requieren algún tipo de identificación para votar.
@Gnidiff Ok publicación editada. ¿Mejor?

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.

¿Tiene una referencia para el reclamo de 'doble contabilidad' ? No soy un experto en blockchain, pero me parece que todo el punto de venta es la auditabilidad.
@JJJ: Tampoco soy un experto en blockchain. Pero sí sé que la debilidad de los sistemas tecnológicos son los ataques tecnológicos. si no se trata de una doble contabilidad de este tipo (ciertamente) simplista, podemos estar condenadamente seguros de que muchísimas personas estarán buscando escapatorias, puertas traseras y gambitos para explotar. La única solución a esa tontería es hacer que el sistema sea transparente y distribuido, de modo que todos los tramposos se muestren entre sí . Nada detiene a un ladrón con tanta eficacia como otros ladrones que persiguen el mismo premio. Si crees que eso es cínico, culpa a Madison...

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).

Por curiosidad, ¿cuál es la ventaja de una solución digital como esta si todavía tienes que hacerlo en persona en una cabina de votación?
@KevinWells 1. Resultados instantáneos, independientemente de la complejidad de la boleta. 2. Conteo verificable; cualquiera puede hacer el conteo por sí mismo.
La privacidad no es suficiente. La trazabilidad por sí sola socava el secreto del voto y permite la coerción y la compra de votos según la respuesta aceptada.
Agradezco que no tenga tiempo para una respuesta más elaborada, pero tal como está, faltan demasiados detalles críticos para aclarar cómo tiene privacidad y trazabilidad.

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.

En realidad, hay fallas importantes con este tipo de configuración: toda la infraestructura circundante es extremadamente vulnerable (por ejemplo, una máquina de votación que en realidad no está haciendo lo que dice su interfaz). El recuento final solo es posible en secreto también, lo que en última instancia socava la complejidad adicional.
@LukeBriggs Ese es un problema con los sistemas de votación analógicos y también con las implementaciones actuales de la votación digital, por lo que no veo por qué es relevante para la discusión sobre el uso de cadenas de bloques para votar. La pregunta que hizo no es si las cadenas de bloques son una bala de plata para permitir sistemas de votación perfectos, sino si pueden usarse o no con el propósito de votar públicamente. Pueden (y de hecho, incluso lo son).
Sin embargo, el voto electrónico es mucho más vulnerable, simplemente por lo generalizado que puede llegar a ser un pequeño cambio de software. Actualmente, aunque no se utilizan para la votación pública; investigado sí: e-vox es esencialmente un sistema de contrato inteligente que actualmente no parece tener una solución para una elección general más amplia. La votación en la cámara, por supuesto, tiene requisitos muy diferentes.
@LukeBriggs, lo sé muy bien. Esas vulnerabilidades (y los costos de un sistema público de votación remota) son respuestas a la pregunta de por qué nadie ha construido un sistema de este tipo todavía, pero no responden a la pregunta que planteó, que es si es posible o no construir un sistema de este tipo. utilizando tecnologías blockchain o de contabilidad pública.
Muy cierto; Todavía diría que "no es posible sin violar los fundamentos", sin embargo, sobre la base del recuento final secreto; Actualizaré mi respuesta para abordar esa.

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.


Conceptos criptográficos.

El caballo de batalla principal es un par de claves asimétricas , que tiene dos partes:

  1. 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;

  2. 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:

  1. Cualquiera puede cifrar un mensaje en su clave pública (suponiendo que lo sepa), pero solo usted puede descifrar el mensaje.

  2. Puede probar su identidad demostrando su capacidad para descifrar datos aleatorios.

  3. 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:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.


Complicaciones.

Las posibles complicaciones son:

  1. 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.

  2. 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.

  3. 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.


Discusión.

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.


Terminología: " Web de confianza ".

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.

Creo que "podría haber una curva de aprendizaje allí" es un enorme eufemismo. La cantidad de personas que entenderían lo que estaba sucediendo lo suficiente como para auditar de manera significativa a) el sistema yb) los resultados sería una fracción minúscula de las personas que votan. Para todos los demás, sería "ingrese su identificación de votante en esta ranura cuando vote, y en esta ranura cuando quiera verificar", y todo lo demás se tomará con confianza ciega. Compare eso con una pila de boletas de papel, donde literalmente cualquiera puede ver cómo se abre la urna y se cuentan los pedazos de papel en montones.
@IMSoP: Una buena solución probablemente terminaría siendo un modo alternativo de votación, en lugar de una sustitución obligatoria, que terminaría permitiendo a las personas usar credenciales virtuales de una manera análoga a la banca en línea, con credenciales físicas y evidencia física disponible en ubicaciones físicas para compatibilidad con versiones anteriores con personas que no lo entienden. Incluso podríamos hacer que todo se hiciera con impresiones en papel, incluso imprimiendo copias de votos electrónicos, solo para tener un rastro en papel si eso hace que algunos se sientan más cómodos.
@IMSoP: Hablando en términos prácticos, sospecho que el factor decisivo será si obviamente vale la pena. Quiero decir, el sistema actual parece funcionar lo suficientemente bien, por lo que incluso si un sistema más nuevo funcionara mucho mejor, solo se obtendría una cierta ganancia en eso. El factor principal probablemente sería si aparece algo como Trump para despertar aún más la desconfianza pública; si el sistema actual está bajo una duda significativa, entonces podría ser beneficioso hacer la transición a algo mejor. De lo contrario, la transición a un sistema como este probablemente podría esperar hasta que los factores ambientales lo faciliten.
@IMSoP: Sin embargo, me gusta un poco el tema de la curva de aprendizaje. Quiero decir, la sociedad casi necesariamente tendrá que cambiar para incorporar mejor elementos de confianza/evidencia como este, y nuestro mundo debería ser un lugar mejor para ello.
Sí, el beneficio definitivamente debe estar allí; el caso es un poco más fácil de hacer en los EE. UU., donde ya se cuenta con una compleja votación asistida por máquina. En la mayoría de las elecciones del Reino Unido, elegimos un candidato en una contienda, por lo que escribir una "X" en una hoja de papel y depositarla en una caja es bastante difícil de superar; ocasionalmente tenemos dos concursos a la vez (para diferentes niveles de representación local), y solo usamos hojas de papel separadas.

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).

Esta respuesta explica cómo se podría manejar el registro de votantes a través de una cadena de bloques, pero no maneja cómo se puede realizar la votación real en una cadena de bloques. Todavía asume que la votación se realizará en boletas de papel y que el conteo también se realizará a mano. Cuando las personas hablan de la votación en cadena de bloques, asumen un sistema en el que los votos mismos se registran en la cadena de bloques y pueden ser contados por cualquier persona con acceso a dicha cadena de bloques, y al mismo tiempo aseguran de alguna manera que cada voto fue emitido por un votante legítimo, ningún votante emitió más. más de un voto y los votos aún no se pueden rastrear hasta el votante.

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.

No estoy seguro de qué parte de esta respuesta debería preocuparme más. "Su navegador luego ejecuta una aplicación de JavaScript localmente que recopila su voto" esto solo está pidiendo un ataque XSS. "El JavaScript que se ejecuta en el cliente es auditable", no, no lo es, no sabe qué versión del script está ejecutando una persona al azar, o si incluso está ejecutando ese script en lugar de otra cosa. "Confirme que el guardián no tiene acceso a la clave de descifrado", ¿cómo se podría hacer exactamente? ¿Cómo podemos asegurarnos de que los datos del guardián no se puedan cargar más tarde en el tabulador...
... y descifrado allí? "El código fuente para el servidor sería de código abierto", ¿cómo confirmaría sin lugar a dudas que el código proporcionado es el código que realmente se ejecuta en el servidor? Si un grupo de personas tiene acceso al servidor (como sugiere), ¿cómo puede saber si cambiaron el código para hacer algo nefasto? "Una vez que vota, puede imprimir una página de confirmación", si algo salió mal (en el servidor o en el javascript) y su voto no se contó correctamente, ¿cómo lo sabría?...
El simple hecho de ser una aplicación de JavaScript no la hace insegura contra XSS, especialmente porque la mayoría de los navegadores tienen protecciones sólidas contra tales ataques. Como mencioné, las mejores prácticas son ordenadas y garantizadas por observadores externos. El código del cliente es auditable en el sentido de que cualquier ciudadano con los conocimientos técnicos puede conectarse al servidor y comprobar que el código que distribuye el servidor es el esperado. Por último, los observadores de terceros de ambos lados de la división política validan al guardián. Después de emitir el voto, incluso el guardián no puede hacer coincidir un voto con una identificación, así es como nos aseguramos.
... "Los guardianes podrían quedarse con copias locales" una vez que sean anónimos, ¿cómo evitaría que alguien agregue maliciosamente votos falsos a esa copia de seguridad para evitar un recuento? Aparte de todas estas preocupaciones potenciales, este sistema estaría listo para ataques de phishing. Piense en cuántas personas caen en los correos electrónicos fraudulentos y los anuncios emergentes y luego pregúntese cómo va a evitar que los phishers hagan que las personas voten a través de un sitio web de votación falso donde puede recopilar la información de identificación de las personas, cómo tenían la intención de votar y luego vota por ellos como quiera el atacante
Las personas que tienen "acceso al servidor" son observadores. No son parte del proceso de instalación, simplemente aseguran que el proceso de instalación se siga correctamente y validan que no esté comprometido o que no se haya hecho algo nefasto. Si vota en un sitio físico y el trabajador electoral pierde su boleta, ¿cómo lo sabrá? Nuevamente, no buscamos la perfección, solo la paridad con lo que tenemos ahora.
Si votas en un sistema normal, puedes revisar las listas de votantes para ver si apareces como votante, y si no, puedes ir a emitir un voto provisional. Alguien tiene acceso para instalar el software, entonces, ¿cómo confirma que realmente instaló el software que cree que hizo? No es imposible, pero es una complicación y vulnerabilidad adicional. El problema de abandonar las boletas en papel es que la votación en papel ha tenido cientos de años de pruebas de estrés para resolver muchas de las fallas, cualquier sistema nuevo es completamente desconocido y las elecciones son demasiado importantes como para arriesgarse.
Evitaría que se agreguen votos maliciosos a) teniendo a los observadores presentes durante todo el proceso y b) requiriendo que los votos anónimos estén firmados por el sistema de control de acceso, lo que significa que siempre que la clave privada del control de acceso esté debidamente protegida (nuevamente, mejores prácticas y observadores de terceros), la única forma de generar votos falsos sería utilizando el servidor gatekeeper, que está vigilado por observadores y generalmente protegido, física y virtualmente. Nuevamente, al igual que la votación en papel, se requiere un cierto nivel de confianza y se colocan observadores en todos los lugares donde sea razonable.

Ronald L. Rivest ha escrito algo adecuado. El tiempo que se pasa aquí se gasta bien.

Este hombre es la R en RSA.

https://people.csail.mit.edu/rivest/pubs/PSNR20.pdf