Movimento5StelleLazio / ParlamentoElettronicoM5S

"Parlamento Elettronico M5S" is a fork of the "Liquid Feedback Frontend" Project for the Movimento 5 Stelle Italy
Other
22 stars 17 forks source link

liquidfeedback distribuito #15

Closed bhack closed 8 years ago

bhack commented 11 years ago

Valutare l'implementazione di una versione distribuita di liquidfeedback. Nel caso si implementasse il sistema di parlamento elettronico su più server gestiti da diverse entita di fiducia, o indipendenti di terze parti, sarebbe interessante introdurre algortimi come il Paxos (o una delle sue varianti) per garantire il cittadino sia al momento della votazione che nalla fase di conteggio indipendente e verifica dei risultati della votazione tra più nodi.

http://amberonrails.com/paxosmulti-paxos-algorithm/

bhack commented 11 years ago

Visto quanto successo durante l'elezione del presidente della repubblica direi di tenere molto in considerazione questo tipo di tematiche distribuite, specialmente su una piattaforma "permanente" ovvero sempre attiva e con un continuo flusso di votazioni e proposte. Spero che qualcuno che e in contatto con lo staff nazionale porti sul tavoli questo problema che va oltre il concetto di societa di certificazione utilizzato adesso.

EmanueleSabetta commented 11 years ago

Se hai studiato il documento di design del nostro progetto saprai che la sua sicurezza è basata sul una rete di mirror liberi e indipendenti contro cui è possibile in qualsiasi momento verificare il db e individuare modifiche ai voti o altro, ripristinando immediatamente il valore corretto. L'algoritmo Paxos (ma forse non il Multipaxos) potrebbe essere una soluzione per risolvere il caso in cui i vari mirror forniscano valori discordanti. Un esempio di questo utlizzo lo troviamo in http://openreplica.org . Valuteremo se è applicabile anche al nostro caso.

bhack commented 11 years ago

Mi fa piacere che avete posto attenzione al problema. Oltre al consenso tra mirror eventualmente non compromessi io comunque pensavo a qualcosa che potesse coinvolgere anche gli utenti client side. Non so quanto sia fattibile la cosa in effetti. Magari questa implementazione basata sulle websocket puó essere di spunto: https://github.com/itay/paxos

Sarebbe bello poter coinvolgere il browser di ogni utente/cittadino per la validazione dei voti e proposte all'interno della soluzione multi-mirror.