Documentazione tecnica
Il protocollo, così come è specificato.
Per verificatori, revisori e curiosi: il libro bianco, le specifiche del protocollo e gli schemi che fanno fede.
Per comprendere le garanzie senza entrare nella crittografia, basta la pagina Sicurezza.
La sicurezza, senza gergo
Libro bianco
Il protocollo, da cima a fondo.
Crittografia, registro pubblico, modello di minaccia e compromessi, in un unico documento. L'edizione inglese fa fede; quella francese ne è la traduzione.
Specifiche · Protocollo v1
Dalla scheda alla verifica.
Il protocollo di base è autosufficiente: schede firmate, registro pubblico, riconteggio. La blockchain si aggiunge sopra, perché chiunque possa controllare l'integrità e l'immutabilità del registro.
- Protocollo di base Scheda firmata La scheda così come l'elettore la firma: payload firmato, firma ad anello, immagine di chiave, digest dell'anello.
- Protocollo di base Registro pubblico Ciò che ogni elezione pubblica, indipendentemente dal mezzo di trasmissione: definizione, anelli, registro delle presenze, schede.
- Sovra-protocollo Blockchain Il sovra-protocollo che sigilla il registro: busta, quattro tipi di blocco, serializzazione, concatenamento, firma, marcatura temporale.
- Sovra-protocollo Marcatura temporale OpenTimestamps L'ancoraggio di ogni blocco nella blockchain Bitcoin: cosa prova, il ciclo pending → completed, i file .ots e la loro verifica.
- Lato elettore File dell'elettore I file che l'elettore può scaricare: la ricevuta di voto e la chiave privata di voto.
- Lato elettore Prova di voto La busta cvproof/1: dimostrare, di propria sola iniziativa, che una scheda pubblicata è la propria, il che rivela il voto.
- Risultato Scrutinio e riconteggio Ricalcolare il risultato dal registro: metodo, versione del contratto di scrutinio, esportazione CEF.
- Terzo di fiducia Piattaforma di fiducia Il funzionamento interno della piattaforma: le sue regole di database, di trasporto, di gestione dei segreti e di hosting.
- Sovra-protocollo Chiavi della piattaforma I certificati OpenPGP v6 che firmano i blocchi, la loro rotazione e il loro punto di accesso per le macchine.
- Verifica Procedura di verifica Verificare un'elezione da cima a fondo: dal solo registro, oppure con la blockchain.
Schemi JSON
I file che fanno fede.
Gli stessi file che convalidano ogni blocco prima che venga sigillato, serviti all'URL del loro identificativo ($id).
block.configuration.schema.json
Blocco 0: la definizione congelata dell’elezione (titolo, tipo, seggi, opzioni, tetto della dimensione degli anelli, dimensione della lista all’apertura, regole della scheda, candidati).
Scaricare
↓
block.rings.schema.json
Blocco 1 e ogni anello di emergenza: l’elenco completo delle chiavi pubbliche autorizzate a firmare, per anello.
Scaricare
↓
block.votes.schema.json
I lotti di schede: anello, immagine di chiave, firma ad anello e payload firmato verbatim.
Scaricare
↓
block.closure.schema.json
Il blocco finale: totali di testa e registro delle presenze pseudonimo.
Scaricare
↓
signed-payload.schema.json
La busta della stringa che un elettore firma: versione, elezione, espressione della scheda, peso, identificativo elettore opzionale.
Scaricare
↓