Signal Messenger ha ripreso a pubblicare il codice del server e la criptovaluta integrata

La Signal Technology Foundation, che sviluppa il sistema di comunicazione sicura Signal, ha ripreso a pubblicare il codice per le parti server del messenger. Il codice del progetto era originariamente open source sotto la licenza AGPLv3, ma la pubblicazione delle modifiche nell'archivio pubblico è stata interrotta senza spiegazione il 22 aprile dello scorso anno. L'aggiornamento del repository si è interrotto dopo l'annuncio dell'intenzione di integrare un sistema di pagamento in Signal.

Recentemente, abbiamo iniziato a testare il sistema di pagamento integrato in Signal, basato sulla nostra criptovaluta MobileCoin (MOB), sviluppata da Moxie Marlinspike, l'autore del protocollo Signal. Nello stesso periodo sono state pubblicate nel repository le modifiche ai componenti del server accumulate nel corso dell'anno, comprese quelle che includevano l'implementazione di un sistema di pagamento.

Signal Messenger ha ripreso a pubblicare il codice del server e la criptovaluta integrata

La criptovaluta MobileCoin è progettata per costruire una rete di pagamento mobile che garantisca la privacy dell'utente. I dati degli utenti rimangono solo nelle loro mani e gli sviluppatori di Signal o gli amministratori degli elementi dell'infrastruttura non hanno la possibilità di accedere al denaro, ai dati sul saldo degli utenti e alla cronologia delle transazioni. La rete di pagamento non ha un unico punto di controllo e si basa sull'idea della proprietà condivisa, la cui essenza è che tutti i fondi della rete sono formati come un insieme di azioni individuali che possono essere scambiate. L'importo totale dei fondi sulla rete è fissato a 250 milioni di MOB.

MobileCoin si basa su una blockchain che memorizza la cronologia di tutti i pagamenti andati a buon fine. Per confermare la proprietà dei fondi, è necessario disporre di due chiavi: una chiave per trasferire fondi e una chiave per visualizzare lo stato. Per la maggior parte degli utenti, queste chiavi possono essere derivate da una chiave di base comune. Per ricevere il pagamento, l'utente deve fornire al mittente due chiavi pubbliche corrispondenti alle chiavi private esistenti utilizzate per inviare e verificare la proprietà dei fondi. Le transazioni vengono generate sul computer o sullo smartphone dell'utente, dopodiché vengono trasferite a uno dei nodi che ha lo status di validatore per l'elaborazione in un'enclave isolata. I validatori verificano la transazione e condividono le informazioni sulla transazione con altri nodi della rete MobileCoin attraverso una catena (peer to peer).

I dati possono essere trasferiti solo ai nodi che hanno verificato crittograficamente l'uso del codice MobileCoin non modificato nell'enclave. Ogni enclave isolata replica una macchina a stati che aggiunge transazioni valide alla blockchain utilizzando il protocollo di consenso MobileCoin per confermare i pagamenti. I nodi possono anche assumere il ruolo di validatori completi, che inoltre formano e ospitano una copia pubblica della blockchain calcolata sulle reti di distribuzione dei contenuti. La blockchain risultante non contiene informazioni che consentano di identificare un utente senza conoscere le sue chiavi. La blockchain contiene solo identificatori calcolati in base alle chiavi dell'utente, dati crittografati sui fondi e metadati per il controllo dell'integrità.

Per garantire l'integrità e proteggere dalla corruzione dei dati a posteriori, viene utilizzata una struttura ad albero Merkle Tree, in cui ciascun ramo verifica tutti i rami e i nodi sottostanti attraverso l'hashing congiunto (albero). Avendo l'hash finale, l'utente può verificare la correttezza dell'intera cronologia delle operazioni, nonché la correttezza degli stati passati del database (l'hash di verifica root del nuovo stato del database viene calcolato tenendo conto dello stato passato ).

Oltre ai validatori, la rete dispone anche di nodi Watcher, che verificano le firme digitali che i validatori allegano a ciascun blocco nella blockchain. I nodi osservatori monitorano costantemente l’integrità della rete decentralizzata, mantengono le proprie copie locali della blockchain e forniscono API per applicazioni wallet e client di scambio. Chiunque può eseguire il validatore e il nodo di osservazione; a questo scopo vengono distribuiti i servizi corrispondenti, le immagini dell'enclave per Intel SGX e il demone mobilecoind.

Il creatore di Signal ha spiegato l'idea di integrare la criptovaluta nel messenger con il desiderio di fornire agli utenti un sistema di pagamento facile da usare che protegga la privacy, in modo simile a come il messenger Signal garantisce la sicurezza delle comunicazioni. Bruce Schneier, noto esperto nel campo della crittografia e della sicurezza informatica, ha criticato l'operato degli sviluppatori di Signal. Schneier ritiene che mettere tutte le uova nello stesso paniere non sia la soluzione migliore, e il punto non è che ciò porti a gonfiare e complicare il programma, e nemmeno che l’uso della blockchain sia dubbio, e non che sia un tentativo per legare Signal a una criptovaluta.

Il problema principale, secondo Schneier, è che l'aggiunta di un sistema di pagamento a un'applicazione crittografata end-to-end crea ulteriori minacce associate a un crescente interesse da parte di varie agenzie di intelligence e regolatori governativi. Le comunicazioni sicure e le transazioni sicure potrebbero essere facilmente implementate come applicazioni separate. Le applicazioni che implementano una forte crittografia end-to-end sono già sotto attacco ed è pericoloso aumentare ulteriormente il grado di opposizione: quando le funzionalità vengono combinate, l'impatto sul sistema di pagamento comporterà la funzionalità della crittografia end-to-end . Se muore una parte, muore l’intero sistema.

Fonte: opennet.ru

Aggiungi un commento