È in sviluppo una nuova tecnologia per la trasmissione dei messaggi su Internet. Ottimizza il modo in cui i browser devono rispondere ai comandi e ai server che gestiscono le richieste.
IPFS sta per Interplanetary File System ed è un protocollo hypermedia distribuito peer-to-peer open source che mira a funzionare come un file system onnipresente per tutti i dispositivi di elaborazione. IPFS è stato creato da Juan Benet.
Per capire come è strutturato IPFS immaginiamo di combinare BitTorrent, un protocollo di tipo peer-to-peer, Git, un software di controllo versione e altre tecnologie. È quindi un sottosistema distribuito di Internet.
Il progetto è opensource ed è possibile trovare su GitHub la relativa documentazione.
Vantaggi di IPFS
I vantaggi evidenti che derivano dal modello di archiviazione distribuita di IPFS si applicano all’archiviazione dei dati molto più efficiente e alla permanenza immutabile.
- Nessuna dipendenza dai server
- Riduzione di costo
- Riduzione della censura dell’ISP
- Storicità dei dati memorizzati sulla rete
Cloudflare, nota società statunitense che offre anche servizi CDN (content delivery network), ha deciso di abbracciare il supporto IPFS (InterPlanetary File System).
I limiti del procollo HTTP
Il protocollo ad oggi maggiormente in uso è HTTP, inventato nel 1991. Adottato dai browser Web nel 1996, è il protocollo alla base della nostra navigazione sul web e la spina dorsale del paradigma client-server
I problemi chiave derivanti dall’implementazione di HTTP oggi sono il risultato del massiccio aumento del traffico Internet:
- Inefficiente consegna del contenuto derivante dal download di file da un singolo server alla volta
- Costi di larghezza di banda costosi e duplicazione dei file
- Accresciuta centralizzazione di server e provider che porta a una maggiore censura di Internet
- Fragile storia delle informazioni memorizzate su Internet e brevi periodi di vita delle pagine Web
- Velocità di connessione lente
Come funziona IPFS
Il design del protocollo fornisce versioni storiche di Internet come con Git. A ogni file e tutti i blocchi al suo interno viene assegnato un identificatore univoco, che è un hash crittografico. I duplicati vengono rimossi attraverso la rete e la cronologia delle versioni viene tracciata per ogni file. Ciò porta a contenuti permanentemente disponibili, inoltre, l’autenticità del contenuto è garantita attraverso questo meccanismo e, quando si cercano i file, si chiede essenzialmente alla rete di trovare nodi che memorizzano il contenuto dietro l’hash di identificazione univoco associato a quel contenuto.
I collegamenti tra i nodi in IPFS assumono la forma di hash crittografici, e questo è possibile grazie alla sua architettura di dati Merkle DAG (Directed Acyclic Graphs). I vantaggi dei DAG Merkle per IPFS includono:
- A ogni file viene assegnato un identificatore univoco, che è un hash crittografico
- Nessuna duplicazione: i file con lo stesso contenuto non possono essere duplicati e vengono archiviati una sola volta
- A prova di manomissione: i dati vengono verificati con il loro checksum, quindi se l’hash cambia, IPFS saprà che i dati sono stati manomessi
IPFS collega le strutture dei file tra loro utilizzando i collegamenti Merkle e ogni file può essere trovato con nomi leggibili dall’uomo usando un sistema di denominazione decentralizzato chiamato IPNS. L’implementazione di Merkle Directed Acyclic Graphs (DAGS) è importante per la funzionalità di base del protocollo.
Ogni nodo memorizza solo il contenuto a cui è interessato e indicizza le informazioni che gli consentono di capire chi sta memorizzando cosa. Il framework per IPFS elimina sostanzialmente la necessità di server centralizzati per fornire agli utenti contenuti di siti Web.
IPFS in modo semplice
Con IPFS invece di cercare posizioni (server) si cerca il contenuto stesso. La macchina che fa la richiesta può non fidarsi di un solo server per fornire il file necessario e avere la possibilità di poterla fare a milioni di computer in grado di fornire quel file specifico.
Il protocollo IPFS distribuisce “componenti” di portali e siti web tra tutti gli internauti che decidono di installare il programma client associato al progetto sul proprio computer. Quando vi sarà la richiesta il sistema IPFS andrà automaticamente alla ricerca dei pezzetti archiviati.