Session: messaggistica OpenSource e Blockchain

Le app di messaggistica più utilizzate sono WhatsApp e Telegram, due app che offrono la crittografia end-to-end, gratuite e ognuna con i suoi pregi e difetti. Nel mondo della messaggistica istantanea queste due però non sono le uniche due app, ne esistono molte altre come ad esempio WeChat utilizzata specialmente in Cina.

Il 23 dicembre 2019 è nata una nuova app con nuove caratteristiche: Session. Come dichiarato nel sito ufficiale l’obiettivo è la creazione di un servizio di messaggistica decentralizzato.

Decentralizzazione dei messaggi privati

Solitamente molti servizi utilizzano server che registrano tutte le attività, memorizzandole nei cosiddetti file log. Questi sono dei file in cui viene registrata l’attività, il tipo, l’utente e l’orario, indirizzo IP sorgente e destinatario. Inoltre la rete dei server è caratterizzata da più macchine in cui sono memorizzati tutti i dati (copia fedele) o parte di questi suddivisi secondo particolari logiche (sharding, master-slave, peer-to-peer, master-slave e sharding, peer-to-peer e sharing).

Nella decentralizzazione il controllo è distribuito tra i partecipanti al sistema, piuttosto che essere detenuto da un’autorità centrale. La fiducia solitamente è un buon aspetto ma nel contesto dei server la mancanza di fiducia implica l’inesistenza di un gestore server che stabilisca come utilizzare i dati.

Risultato immagini per decentralizzazione
Illustrazione rete centralizzata e decentralizzata

Vantaggi decentralizzazione

Con la decentralizzazione è notevolmente limitata la possibilità che una persona riesca ad accedere ai dati contenuti nel nodo. Per accedere all’informazione X, l’utente malintenzionato dovrebbe accedere alle informazioni contenute in tutti i nodi per cui X è passata. Nel caso della distribuzione decentralizzata, i nodi non memorizzano nessuna informazione, come sarebbe quindi possibile accedervi? E’ proprio questo che rende le informazioni sicure. L’unico modo per raccogliere i dati sarebbe avere accesso alla stragrande maggioranza dei nodi sulla rete, un’operazione al quanto difficile.

Un’altra sicurezza della rete è il fatto che nel caso in cui qualche parte della rete dovesse avere problemi, non ci sono ripercussioni in tutto il sistema in cui la comunicazione avverrà con altri nodi non colpiti.

Infine una rete decentralizzata, non avendo un’autorità centrale, non è possibile censurare dei messaggi. Questo comporterebbe anche però alla nascita di atti illeciti o illegali difficili da tracciare.

Session: come funziona l’app

Dopo una breve introduzione sul funzionamento della decentralizzazione, vediamo alcuni dettagli sulla nuova app di messaggistica.

Session è disponibile negli store degli smartphone ma anche per Linux, MacOS e Windows. L’installazione è molto semplice. All’apertura ci vengono mostrati i “principi” dell’app e chiesto se creare un nuovo ID o contintinuare con account esistente.

Creando un nuovo account viene generato un ID unico con cui le persone potranno contattarci, senza nessuna correlazione con la nostra vera identità, totalmente anonimo.

Nello step successivo ci viene chiesto di digitare un nickname visibile durante l’utilizzo. Dopo ciò visualizzeremo una frase da utilizzare in modalità ripristino. L’utilizzo della chat è molto semplice ed intuitivo.

Come una classica app di messaggistica anche Session supporta chat di gruppo, con due modalità di encrypting: lato server e lato client. Un’altra scelta risulta nella tipologia di crittografia end-to-end: encrypting per ogni partecipante oppure con chiavi per gruppi medio-piccoli il cui numero di partecipanti cambia sporadicamente. Questo non esclude la possibilità di creare grandi gruppi con membri occasionali. Inoltre, dopo l’invio di ogni messaggio è calcolata una “prova di lavoro” finché tutti i membri passano online.

Con Session è inoltre possibile inviare allegati. Per farlo il sistema si interfaccia con un server centralizzato non attendibile che memorizza i dati in modo ignaro. Finché il server centrale non è in grado di conoscere il contenuto dei file o di chi sta archiviando e richiedendo i file, questo sistema non causa perdite di metadati.

Infine Session è abilitato dai servizi offerti attraverso la rete blockchain Loki la quale consente di trasferire denaro in modo anonimo. Nell’app è infatti presente un portafoglio leggero anonimo che utilizza chiavi derivate dalla coppia di chiavi esistente dell’utente. Ciò consente agli utenti di trasferire rapidamente e privatamente valore all’interno di Session. Quest’ultimo un aspetto leggermente complicato dal punto della sicurezza finanziaria e “commercio” illegale.

Per ulteriori informazioni è possibile trovare i codici su GitHub o leggere il paper ufficiale.

[amazon box = “B07T13GP1Q, 8868962187, B082FJHX82, 1985616963” title = “Approfondisci sulla Blockchain”]