RiparaTa.it | Laboratorio Tecnico Informatico

Contattaci Subito

Smartphone: 3888673983
Laptop & PC: 3924685045

Orari delle sedi:

Smartphone:
9:15-13:15 | 16:00-18:30
Laptop & PC:
9:15-13:00 | 17:00-19:45

Email

[email protected]
Da Lunedì a Venerdì

Matrix (e Element) “sotto il cofano”: come funziona davvero la rete federata

Categoria: Informatica

Informatica

Matrix (e Element) “sotto il cofano”: come funziona davvero la rete federata


Quando si parla di Element come alternativa alle app di messaggistica più diffuse, il vero protagonista non è tanto l’app quanto la tecnologia su cui si basa: Matrix. Matrix non è un singolo servizio ma un protocollo aperto di comunicazione decentralizzata, progettato per permettere a molti server indipendenti di scambiarsi messaggi in modo federato.

In altre parole, Matrix funziona in modo simile alla posta elettronica: non esiste un unico server centrale che gestisce tutto, ma una rete di server autonomi che parlano tra loro.

Homeserver: il cuore dell’identità

In Matrix ogni utente appartiene a un homeserver, cioè il server che gestisce il suo account. L’identità di un utente ha una forma come:

@utente:dominio.tld

Il dominio finale identifica il server su cui l’account è registrato. Questo significa che l’identità digitale è legata a un dominio, proprio come un indirizzo email.

Un homeserver può essere:

  • pubblico (aperto a chiunque),

  • privato (per un’azienda o comunità),

  • personale (gestito da un singolo amministratore).

Chiunque abbia competenze tecniche può installare un server Matrix e diventare parte della rete.

Federazione: come comunicano i server

La rete Matrix è federata. I server comunicano tra loro tramite connessioni HTTPS utilizzando le API di federazione del protocollo.

Quando una stanza di chat contiene utenti provenienti da server diversi, ogni server mantiene una copia degli eventi della stanza. In questo modo la conversazione non dipende da un singolo nodo.

Se tre utenti appartengono a tre server diversi, tutti e tre i server conserveranno la cronologia dei messaggi e la aggiorneranno man mano che arrivano nuovi eventi.

Le stanze e il sistema di eventi

Le conversazioni in Matrix sono organizzate in stanze (rooms). Ogni azione all’interno della stanza – invio di un messaggio, ingresso di un utente, modifica dei permessi – viene registrata come evento.

Questi eventi:

  • sono collegati tra loro in una struttura simile a un grafo,

  • sono firmati crittograficamente dal server che li genera,

  • vengono distribuiti agli altri server coinvolti nella stanza.

Questo sistema permette alla rete di mantenere la coerenza anche quando più server inviano eventi contemporaneamente.

Cosa succede se un nodo cade

Uno dei vantaggi della federazione è la resilienza.

Se un server si spegne temporaneamente:

  • gli altri server continuano a funzionare,

  • le stanze restano attive per gli utenti ancora connessi,

  • quando il server torna online recupera gli eventi mancanti e si riallinea con la rete.

Questo significa che la conversazione non dipende da un singolo punto centrale di controllo. La rete continua a esistere finché esistono server che partecipano alla stanza.

Come i server si riconoscono

Per partecipare alla federazione, i server devono essere identificabili tramite un dominio Internet. Questo dominio rappresenta il nome ufficiale del server Matrix.

I server si contattano utilizzando:

  • connessioni HTTPS,

  • record di configurazione come .well-known,

  • certificati TLS per verificare l’identità del server.

Inoltre ogni server utilizza chiavi crittografiche per firmare gli eventi che genera. Gli altri server possono verificare queste firme per assicurarsi che i dati provengano davvero dal nodo dichiarato.

La crittografia end-to-end

Matrix supporta la crittografia end-to-end nelle chat. In questo caso i messaggi vengono cifrati direttamente dai dispositivi degli utenti e solo i destinatari possono leggerli.

I server continuano a distribuire gli eventi della conversazione, ma spesso vedono solo dati cifrati, non il contenuto dei messaggi.

Un esempio concreto

Immaginiamo un’azienda con due sedi, una a Milano e una a Berlino.

L’azienda può installare:

  • un server Matrix a Milano,

  • un server Matrix a Berlino.

I dipendenti di entrambe le sedi comunicano tra loro tramite le stesse stanze di chat. Se il server di Berlino dovesse avere un problema tecnico, il server di Milano continuerebbe a funzionare e a mantenere la cronologia delle conversazioni.

Quando il server tedesco torna online, recupera automaticamente i messaggi inviati durante l’interruzione.

Allo stesso tempo l’azienda potrebbe decidere di federarsi anche con partner esterni o con altri server pubblici della rete Matrix, creando una rete di comunicazione distribuita senza dipendere da una piattaforma centralizzata.

Un modello diverso di comunicazione

In un’epoca in cui molte piattaforme digitali sono controllate da poche grandi aziende, Matrix propone un modello alternativo: una rete aperta, federata e decentralizzata, dove chiunque può gestire la propria infrastruttura e partecipare alla comunicazione globale senza un singolo punto di controllo.