Diferencia entre revisiones de «Lista de proyectos a realizar 14-15»
(No se muestran 2 ediciones intermedias del mismo usuario) | |||
Línea 1: | Línea 1: | ||
Esquema conceptual del sistema [https://agoravoting.com/ Agora Voting] | Esquema conceptual del sistema [https://agoravoting.com/ Agora Voting] | ||
+ | |||
+ | [[Comic explicativo del proceso de cifrado y de anonimización de AgoraVoting]] | ||
[[Archivo:AgoraConceptualMap.png|800px|Mapa conceptual de Agora Voting]] | [[Archivo:AgoraConceptualMap.png|800px|Mapa conceptual de Agora Voting]] | ||
+ | |||
+ | En [https://vota.podemos.info/doc/overview.html éste enlace] y en [https://vota.podemos.info/doc/tech_overview_1016.pdf éste otro] se pueden ver descripciones más detalladas del procedimiento usado por [https://agoravoting.com/ Agora Voting] para el proceso de votación por Internet. Se sugiere leerlo detenidamente por parte de los equipos de trabajo. | ||
1. Sistema de autenticación | 1. Sistema de autenticación | ||
Línea 93: | Línea 97: | ||
− | 10. Frontend de resultados y estadísticas: | + | 10. Frontend de resultados y estadísticas: |
Interfaz para mostrar el proceso de una votación en tiempo real y los | Interfaz para mostrar el proceso de una votación en tiempo real y los |
Revisión actual del 12:56 5 nov 2014
Esquema conceptual del sistema Agora Voting
Comic explicativo del proceso de cifrado y de anonimización de AgoraVoting
En éste enlace y en éste otro se pueden ver descripciones más detalladas del procedimiento usado por Agora Voting para el proceso de votación por Internet. Se sugiere leerlo detenidamente por parte de los equipos de trabajo.
1. Sistema de autenticación
Un sistema para autenticar usuarios y controlar quién puede votar y quién ya ha votado para evitar multiples votos de la misma persona. Este sistema tiene que ofrecer una api clara y sencilla para que otras partes del sistema puedan usarlo. Un sistema básico podría ser uno basado en un censo cerrado usando como identificador el correo electrónico. El sistema de autenticación tiene que ofrecer métodos para:
* saber si un usuario determinado ha votado ya * realizar una prueba de verificación de identidad * marcar un usuario como que ya ha votado
2. Cabina de votación
Una interfaz para mostrar las opciones de la votación donde el votante pueda realizar la votación. El voto tiene que cifrarse en cliente, nunca debe llegar al servidor el voto en claro. A la cabina sólo podrán llegar usuarios autenticados que aún no hayan votado. El voto se enviará cifrado al almacenamiento de votos.
3. Almacenamiento de votos
Una base de datos de votos cifrados. Se almacenarán los votos sin información alguna del votante. Antes de añadir un nuevo voto a la base de datos el almacenamiento tiene que verificar que el voto viene de un votante válido, por lo que deberá consultar al sistema de autenticación. Una vez almacenado el voto debe notificar al sistema de autenticación que el usuario ya ha votado.
4. Recuento
Realizará el recuento de una votación determinada. Para realizar el recuento tendrá que pedir los votos al almacenamiento de votos y deberá lanzar la tarea de recuento sincronizando las diferentes autoridades.
5. Verificación
Sistema de verificación compuesto básicamente por dos pruebas o verificaciones:
* Verificación de que un voto está en en la votación y no ha sido alterado * Verificación de que el recuento global no ha sido alterado
El software deberá ser una aplicación descargable y ejecutable en local para que cualquier persona pueda realizar cualquiera de las pruebas de verificación. Además se puede ofrecer una interfaz web dar el servicio de verificación de una votación en concreto de manera sencilla.
6. Modificación de resultados
Sistema para interpretar los resultados de una votación y ofrecer un ordenamiento de opciones concreto según diferentes reglas variables. La mayoría de las votaciones no son directas, sino que hay una serie de reglas que ordenan los resultados. Esto puede servir por ejemplo para formar listas con criterios de paridad, criterios de localidad, quitar de los resultados candidatos retirados, etc. Este sistema además de alterar el resultado final debe ofrecer una serie de estadísticas y desviaciones.
7. Frontend para creación/administración de votaciones
Interfaz para la creación y administración de votaciones. Debe ofrecer un formulario con lo necesario para crear una votación y debe gestionar las votaciones en una base de datos o un almacenamiento similar. Se puede ofrecer como servicio o API la información de las votaciones para que los diferentes sistemas tengan acceso.
8. Frontend de votación completa
Interfaz completa de votación. Este sistema debe enlazar todas las partes implicadas en el flujo de votación y mostrar una interfaz única para el proceso:
* Pantalla inicial de votación * Formulario de autenticación * Redirigir a la cabina de votación * Ofrecer una interfaz de verificación
9. Frontend para creación/administración de censos
Se trata de una interfaz del sistema de autenticación, donde un administrador puede definir diferentes tipos de censos y estos censos serán usados por el sistema de autenticación para una votación determinada.
10. Frontend de resultados y estadísticas:
Interfaz para mostrar el proceso de una votación en tiempo real y los resultados finales de una forma gráfica y amigable. Debe ofrecer conexión con diferentes redes sociales para motivar la discusión y difusión continua de una votación en concreto. También puede tratar los datos y ofrecer gráficas y estadísticas usando la información recopilada por los diferentes sistemas implicados, siempre teniendo en cuenta la importancia de la privacidad.