Iroh: la tecnologia peer-to-peer che funziona anche quando Internet non c’è

Iroh rappresenta una nuova generazione di software peer-to-peer, progettato per offrire connessioni sicure, resilienti e ad alte prestazioni tra dispositivi, indipendentemente dalla rete. Ecco come funziona, nel dettaglio.

Al cuore di Iroh c’è un concetto semplice: connettere due dispositivi ovunque nel mondo tramite una chiave pubblica, senza che lo sviluppatore debba preoccuparsi di NAT traversal, relay o complicate configurazioni. L’API di Iroh si occupa di tutto questo, selezionando automaticamente la connessione più veloce e affidabile (direct o relay), garantendo al contempo resilienza e continuità della comunicazione.

A differenza di molte soluzioni decentralizzate che promettono molto ma richiedono configurazioni complesse o risultano instabili in scenari reali, Iroh è progettato per “funzionare davvero”, anche in condizioni di rete difficili.

Il futuro del P2P che funziona davvero

Iroh non è solo una libreria di trasporto, ma anche una piattaforma modulare che consente agli sviluppatori di comporre protocolli su misura. Il framework fornisce un ecosistema di protocolli già pronti e ottimizzati:

  • Blobs – trasferimento dati verificabile e recuperabile in caso di difficoltà, ideale per file di grandi dimensioni e backup.
  • Gossip – messaggistica broadcast basata su topic, utile per applicazioni distribuite e di messaggistica.
  • Documents – sincronizzazione in tempo reale, perfetta per app collaborative.

Chi ha esigenze particolari può facilmente definire un proprio protocollo costruito al di sopra di Iroh, sfruttando le sue funzionalità di discovery, routing, autenticazione e trasporto.

Nulla vieta di usare Iroh semplicemente per condividere file con utenti remoti, non preoccupandosi della tipologia e della configurazione dei dispositivi e delle reti utilizzati nella comunicazione. Basta infatti digitare iroh share nomedelfile per avviare una condivisione locale o remota: il ticket che si ottiene è un collegamento che può essere usato da chiunque (con Iroh) per scaricare il file (iroh get iroh://ticket).

Perché Iroh è una soluzione davvero accattivante: efficienza, libertà e privacy by design

Iroh conquista per la sua capacità di offrire un’esperienza moderna, decentralizzata e sicura senza la complessità tipica delle tecnologie P2P tradizionali. È accattivante perché consente a chiunque — anche a utenti non esperti — di condividere file o collaborare in tempo reale, senza server, registrazioni o configurazioni complicate. Bastano pochi secondi per pubblicare un contenuto e ottenere un ticket sicuro che può essere usato ovunque, anche su reti instabili o dietro NAT. Il tutto con prestazioni elevate grazie all’uso di protocollo QUIC, compressione ottimizzata e trasmissione diretta tra peer.

Ma ciò che distingue davvero Iroh è l’approccio “privacy-by-default“: ogni comunicazione è crittografata end-to-end attraverso il Noise Protocol Framework, una tecnologia avanzata usata anche in Signal.

I contenuti sono indirizzati tramite hash crittografici, che garantiscono integrità, autenticità e immutabilità: se qualcosa cambia, l’hash muta, rendendo impossibile la manomissione silenziosa dei dati. Non esistono server centrali in grado di tracciare le azioni degli utenti o raccogliere dati riservati. Solo il mittente e il destinatario sanno cosa viene condiviso.

In un’epoca in cui la centralizzazione e la sorveglianza sono diventate la norma, Iroh propone un’alternativa radicale: un’Internet più libera, sicura e umana.

Chi gestisce la rete Iroh?

La risposta è: nessuno e tutti. Iroh poggia il suo funzionamento, come già evidenziato, su una rete P2P: non c’è un’entità centrale che gestisce o controlla la rete. Ogni nodo (cioè ogni computer o dispositivo che esegue Iroh) può:

  • condividere contenuti (file, documenti, dati);
  • cercare e scaricare contenuti da altri peer;
  • partecipare alla distribuzione dei dati.

Ogni contenuto è identificato da un hash univoco che assicura integrità e immutabilità, il protocollo Noise, che garantisce autenticazione e segretezza, i nodi possono comunicare direttamente o tramite relay temporanei, ma nessun server possiede i dati né può censurarli.

Un’esperienza di sviluppo moderna

Iroh è scritto in Rust e offre un’API asincrona moderna e ben documentata. Ad esempio, creare due endpoint e inviare un semplice ping tra dispositivi è questione di poche righe di codice, grazie all’integrazione di protocolli come iroh_ping.

Questo approccio consente di creare strumenti, giochi, app di comunicazione o sistemi distribuiti di AI/ML sfruttando connessioni dirette tra dispositivi, riducendo la dipendenza da server centralizzati e migliorando latenza e privacy.

La documentazione offre molteplici esempi pratici dimostrando quanto Iroh sia flessibile e immediatamente sfruttabile per una vasta gamma di campi applicativi. Ogni commit alla branch principale di Iroh è validato tramite un sistema avanzato di test e simulazioni, i cui risultati sono resi pubblici. Una soluzione che assicura il monitoraggio costante e il miglioramento delle prestazioni nel tempo, anche in scenari limite e di rete non ottimali.

Oltre alla messaggistica decentralizzata, Iroh si presta perfettamente a:

  • Videostreaming peer-to-peer con bassa latenza
  • Gaming multiplayer diretto senza server centrali
  • Trasferimento file robusto
  • Sistemi di AI distribuita per ambienti edge
  • Applicazioni resilienti in ambito offline-first

Il progetto è supportato da una community attiva e da un’azienda, n0 Inc., che si impegna a renderlo una base affidabile e open per costruire la nuova generazione di software distribuito.

Perché Iroh funziona anche “senza Internet”

Quanto riportato nel titolo si basa su un concetto chiave del design di Iroh: la capacità di funzionare in ambienti con connettività limitata, instabile o assente.

Iroh può infatti stabilire connessioni tra dispositivi vicini anche senza passare per la rete globale. Ciò è tipico di ambienti come reti locali in aziende o scuole isolate, dispositivi mobili in modalità hotspot o tethering, configurazioni ad alta latenza o soggette a blackout.

Nei contesti in cui Internet è presente solo sporadicamente (i.e. zone rurali o reti mobili instabili), Iroh è in grado di riprendere le connessioni in modo resiliente, senza richiedere il pieno ripristino del servizio.

Come indicato nel sito del progetto, Delta Chat utilizza proprio Iroh per assicurare il funzionamento anche nelle situazioni in cui la connettività è precaria. Avvalorando così la possibilità d’uso anche in scenari di disaster recovery, aree remote, festival, imbarcazioni, utilizzo militare o umanitario.

Per maggiori informazioni, suggeriamo di fare riferimento alla guida all’uso di Iroh. Attualmente in fase di sviluppo attivo, il rilascio della versione finale e definitiva di Iroh è atteso entro fine 2025. E quella disponibile su YouTube è un’eccellente dimostrazione passo passo.

Ti consigliamo anche

Link copiato negli appunti