IPFS o InterPlanetary File System, è un file system decentralizzato che cerca di garantire la sicurezza, la privacy e la resistenza alla censura dei tuoi dati.

EIl progetto InterPlanetary File System o Interplanetary File System (IPFS) è un curioso progetto con un obiettivo abbastanza chiaro: creare una rete informatica di portata globale che consenta l'archiviazione delle informazioni in maniera completamente decentralizzata, con elevata scalabilità e, ovviamente, con grande resistenza alla censura di qualsiasi tipo.

Puoi immaginarlo come un'enorme rete che contiene enormi quantità di informazioni sparse in tutto il mondo ea cui puoi accedere in modo totalmente trasparente e sicuro. Senza dubbio, il complemento perfetto per Internet in continua crescita, la cui portata ora raggiunge anche i più piccoli dispositivi elettronici come i nostri orologi, sveglie e persino macchine per il caffè.

Ma cosa c'è dietro questo progetto? Come inizio? Quale soluzione porta al nostro mondo digitale? Bene, conoscerai le risposte a queste e ad altre domande di seguito.

IPFS, gli inizi del progetto

IPFS è un'idea che nasce dalla mente di Juan Benet, un programmatore che ha fondato l'azienda nel 2014 Protocol Labs. Tuttavia, non è stato fino al 2015, quando Benet ha presentato IPFS al mondo. L'idea è costruire un file rete P2P che consente a chi ne fa parte, di archiviare e distribuire informazioni in modo completamente decentralizzato su tutto il pianeta. Il sistema funziona sulla base della nota tecnologia di tabella hash distribuita o DHT, lo stesso che viene utilizzato in Protocollo BitTorrent, da cui IPFS prende alcune funzioni per la tua rete P2P.

Da allora IPFS è stato un progetto in costante sviluppo e la versione 0.7.0 di questo sistema è attualmente disponibile. Sebbene sia una versione di sviluppo, IPFS attualmente consente l'implementazione di molte delle sue funzioni finali in modo stabile, e molte di esse sono ancora in costante miglioramento, rendendo chiaro che si tratta di un sistema che possiamo già utilizzare oggi.

Juan Benet creatore di IPFS o InterPlanetary File System

Un file system per Internet

Dunque, Cosa ha portato alla creazione di IPFS? Bene, fondamentalmente la creazione di IPFS arriva per risolvere la necessità di un gigantesco spazio di archiviazione che è in continua espansione con l'attuale Internet che abbiamo. Si stima che nel 2019 sia stato generato un totale di 42 zettabyte di informazioni in tutto il mondo. Cioè, 42 miliardi di terabyte di informazioni aggiuntive a tutti i dati già generati negli anni precedenti.

Ma il problema principale con questi dati è che finiscono nelle mani di terzi che generalmente li sfruttano per le loro diverse attività economiche. Ad esempio, non è raro che aziende come Facebook portino i tuoi dati sul proprio social network e li utilizzino per venderli a terzi interessati ad informazioni che possono provenire dai tuoi gusti o attività, questo al fine di creare profili che permettano loro di offrire altri prodotti e servizi. Può sembrare innocente ma non lo è. In realtà, questa è una violazione della tua privacy poiché non solo vengono utilizzati i tuoi dati nel social network, ma tutta la tua attività viene tracciata all'interno e anche all'esterno della rete, in modo che venga venduta a terzi.

Altre aziende come Google Drive, da parte loro, sono in grado di analizzare ciò che scrivi e salvi sui loro server, e se trovano qualcosa che "viola le loro regole" lo cancelleranno semplicemente dai loro server, senza darti il ​​diritto di proteggere dette informazioni in un altro mezzo. Insomma, le grandi compagnie Internet usano i tuoi dati per venderli e praticano una censura intollerabile in ogni modo.

Per risolvere questo problema, è nato IPFS. L'idea di IPFS è trasformare il modo in cui i dati vengono archiviati, consentendogli di essere completamente decentralizzati e controllando l'accesso ad essi in ogni momento. Non solo, IPFS consente al nostro computer di memorizzare dati da un sito web e di servirli a chi ne ha bisogno, a chiunque ne abbia bisogno. Bene, questo è IPFS, e se non ti sbagli, è simile a quello che fa BitTorrent per condividere i file, solo che, in questo caso, il protocollo sarebbe integrato in applicazioni e siti web come quelli che usiamo sempre, rendendo l'interazione con IPFS completamente trasparente.

Non solo, con IPFS la capacità di archiviazione mondiale aumenterebbe notevolmente. E questo perché i nostri computer diventerebbero parte di quell'enorme disco di dati che memorizzerà le informazioni dell'intera Internet. Ciò contribuirebbe a risolvere (o diminuire notevolmente) la necessità di spazio di archiviazione per far fronte alla domanda da tutto il mondo. Inoltre, aiuterebbe a decentralizzare la rete e ci consentirebbe persino di mantenere una cronologia completa di quelle informazioni che ci interessano in una rete resistente e non censurata.

Come funziona IPFS?

IPFS è un sistema che funziona con lo schema "ricerca per contenuto", cioè, ogni volta che facciamo una ricerca in IPFS, dobbiamo dire al sistema "cosa stiamo cercando" invece di dirgli "dove cercarlo" .

Diamo un'occhiata a cosa significa tutto questo per un momento e utilizziamo Internet corrente come esempio. Quando visitiamo un sito Web su Internet, ciò che fa il nostro browser è il seguente:

  1. Prendi l'URL o l'indirizzo ed esegui una query DNS per scoprire in quale indirizzo IP si trova quel server.
  2. Una volta acquisito l'indirizzo IP, il browser effettua una richiesta di informazioni al server e inizia a scaricare le informazioni.
  3. Ci mostra le informazioni dell'URL che abbiamo indicato.

Questa è una forma abbastanza semplificata di tutto ciò che accade ogni volta che utilizziamo il nostro browser web. Questo tipo di operazione si chiama "ricerca per posizione", ed è così chiamata perché abbiamo bisogno di sapere dove si trovano le informazioni per accedervi. Quella posizione è l'indirizzo IP del server, e da lì inizia la situazione che nessuno vuole, se il server è inattivo, non sarai in grado di accedere alle informazioni che stai cercando, perché la posizione non è disponibile.

Tuttavia, nel caso di IPFS, la "ricerca per contenuto" funziona in modo completamente diverso. In effetti, possiamo scomporlo come segue:

  1. Dici al sistema quale contenuto stai cercando.
  2. Il sistema prende la tua richiesta di informazioni e la invia alla rete, dove i nodi del sistema inizieranno a rispondere a te. Inoltre, tali informazioni sono
    protetto da crittografia, un sistema di hashing dei dati e firma digitale, per impedire a chiunque di accedervi senza autorizzazione.
  3. Riceverai la risposta dei nodi mostrandoti le versioni dei contenuti disponibili in rete.
  4. Se scegli un'opzione, potrai accedere al contenuto e anche alla sua intera cronologia, poiché se quell'opzione è stata visualizzata è perché è attiva sulla rete al momento della tua richiesta.

Ciò significa che IPFS esegue ricerche definite dal contenuto e in cui rispondono i nodi sulla rete. Ad esempio, se vuoi accedere a Bit2Me Academy in IPFS, digita semplicemente Bit2Me Academy e quei nodi che memorizzano le informazioni da questo sito web ti mostreranno tutto il contenuto che hanno memorizzato, potendo accedervi in ​​qualsiasi momento.

Naturalmente, dietro a questo c'è una serie di tecnologie che rendono tutto questo possibile e che imparerai di seguito.

DHT, il punto di partenza di IPFS

Il punto di partenza per IPFS è la tabella hash distribuita o DHT. Questa funzione è responsabile della creazione di un hash unico e irripetibile per ciascuno dei contenuti all'interno del sistema. Non solo, è anche responsabile della creazione di un indice di ricerca globale per l'intera rete distribuita, assicurandosi che il contenuto della rete non sia duplicato e permettendoci di reindirizzare le ricerche ai nodi corretti in modo da poter accedere alle informazioni ogni volta che vuoi.

In poche parole, DHT crea un'enorme libreria di hash unici e irripetibili che ci consente di cercare rapidamente il contenuto che desideriamo. Per questo sistema, IPFS utilizza il noto hash SHA-256, lo stesso utilizzato in Bitcoin e in molte altre criptovalute. La ragione? È semplice da implementare, sicuro e l'hardware attuale può eseguire i calcoli consentendo a questo lavoro di richiedere poca potenza di calcolo nella generazione degli hash.

Un DAG per gestire la rete

Un'altra parte importante del funzionamento di IPFS è che la sua rete è strutturata in un enorme DAG o grafico aciclico diretto. Questo è un argomento che abbiamo già discusso qui in Bit2Me Academy. Ora il DAG IPFS è specificamente un DAG Merkle, ovvero un DAG in cui ogni nodo ha un identificatore univoco che è un hash del contenuto del nodo.

Il Merkle DAG utilizzato è solo una leggera modifica a quella che sarebbe una blockchain, in cui ogni blocco ha una Merke Root e i dati di detto blocco sono riassunti. In questo senso, il costrutto DAG è stato scelto rispetto alla blockchain per un motivo tecnico molto potente: IPFS funziona in modo asincrono ed è più scalabile. Inoltre, è un progetto in cui l'immutabilità totale non è il suo scopo (sebbene sia possibile configurare il sistema in modo che sia immutabile) e, naturalmente, non è necessario proteggersi da attacchi come la doppia spesa, l'attacco del 51%, tra gli altri .

In questo contesto tecnico, il DAG IPFS è progettato per consentire contenuti più efficienti e reindirizzamento della ricerca tra i nodi. Non solo, un Merkle DAG consente la creazione di "cronologie delle modifiche" che ci consentono di tracciare le singole modifiche dei file in momenti diversi, permettendoci di navigare attraverso di essi senza problemi. In questo modo, possiamo preservare non solo l'ultima versione di un sito web, ma la sua storia completa da quando è iniziata fino al momento più attuale. Inoltre, questa caratteristica consente l'applicazione di tre importanti funzioni:

  1. Il primo è la ben nota "deduplicazione" che ci impedisce di avere contenuti duplicati sul nodo e in tutta la rete.
  2. Il secondo è noto come "delta storage" in cui vengono creati piccoli file che ci consentono di sapere che esattamente un contenuto è stato modificato tra le diverse versioni. Pertanto, prendendo un determinato contenuto di base e aggiungendo i rispettivi delta, possiamo ricreare un contenuto più attuale (o precedente) rispetto al contenuto di base che è stato preso.
  3. Infine, la terza funzione è che questo DAG consente alla rete di partecipare all'accesso dell'utente a determinate informazioni. Così, ad esempio, se un dato è in 2 o più nodi, l'utente può iniziare a scaricare le informazioni da tutte quelle posizioni, migliorando il tempo di download e la risposta generale della rete.

Privacy in IPFS

Tuttavia, l'idea di memorizzare i nostri dati su computer sparsi in tutto il mondo non è qualcosa che piace a molti. Il pericolo che ciò potrebbe rappresentare per la nostra privacy è immenso, quindi: come risolve IPFS questo problema?

Bene, prima di tutto, dovresti sapere che tutto in IPFS è all'interno di una rete pubblica. Quindi, chiunque può accedervi avendo un client per esso. Quindi ogni pezzo di dati che inserisci in IPFS farà parte del DHT e del Merkle DAG della rete, rendendo chiaro che tutto è accessibile.

Questo, tuttavia, è qualcosa che può essere risolto grazie al fatto che IPFS è un sistema software gratuito e qualsiasi persona o gruppo di sviluppatori può aggiungere questa funzione alla rete, consentendo l'anonimizzazione dei dati e persino aggiungendo crittografia avanzata per proteggerli accesso non autorizzato. Questo in effetti è il caso di diversi progetti che utilizzano IPFS per il loro funzionamento.

Quanto sai, Cryptonuta?

Può IPFS aggirare la censura e la mancanza di accesso ai siti web?

Certo!

Una delle grandi caratteristiche di IPFS è che può fornire accesso a siti che sono stati censurati da un'azienda o da una nazione. Un buon esempio è la versione turca di Wikipedia, che è stata duplicata utilizzando IPFS.

Casi d'uso IPFS

Ora, conosciamo alcuni casi d'uso piuttosto sorprendenti di questa tecnologia:

Filecoin

In piena febbre ICO del 2017, e alla ricerca di un modo per finanziare la sua idea, è stato lanciato il Filecoin ICO, un progetto gemello creato da Juan Benet e dalla sua azienda Protocol Labs. L'idea di Filecoin è quella di creare un sistema di incentivi con cui Gli utenti IPFS sono incoraggiati a memorizzare i file che altri desiderano archiviare. Filecoin consente alle persone di affittare spazio di archiviazione che può essere pagato utilizzando il token FIL.

La storia di Filecoin è iniziata nel 2017 e non è stato fino a questo 29 ottobre 2020, quando la sua rete è finalmente uscita. Il lancio del progetto ha generato molta attenzione e al momento la rete memorizza già circa 1,4 Exabyte di informazioni. Oltre a una capitalizzazione di mercato che supera $ 1200 miliardi e un costo di oltre $ 29 per token FIL.

Filecoin utilizza IPFS per l'archiviazione dei dati

Audius

Audius è una piattaforma di condivisione di musica e audio progettata per fornire agli artisti un collegamento diretto ai loro ascoltatori. Utilizzando la tecnologia decentralizzata, Audius può garantire i diritti degli artisti e il controllo della propria musica. Tutto questo attraverso una piattaforma resistente alla censura per l'espressione e la distribuzione di opere e composizioni artistiche. Per creare una piattaforma gestita e di proprietà dell'utente, era fondamentale disporre di una rete di archiviazione cloud distribuita come base per il sistema. Audius utilizza IPFS come componente centrale dello storage decentralizzato nella sua missione di dare a tutti la libertà di condividere, monetizzare e ascoltare qualsiasi audio.

OpenBazaar

OpenBazaar è una piattaforma di e-commerce peer-to-peer in cui acquirenti e venditori possono partecipare in modo anonimo e privato senza raccolta di dati da parte dei fornitori o di qualsiasi altra autorità centrale. La piattaforma OpenBazaar è sviluppata da OB1, che ha anche creato Haven, una versione mobile di OpenBazaar che offre acquisti, chat e la possibilità di inviare criptovalute privatamente.

IPFS funge da livello di archiviazione dei dati per OpenBazaar e Haven. Sulla rete, commercianti e acquirenti possono eseguire nodi di archiviazione, eliminando la necessità di un server centrale. Utilizzando IPFS per creare questa rete collaborativa, OpenBazaar consente ad acquirenti e venditori di fare trading senza rischi. Rischi come la raccolta centralizzata dei dati o la minaccia che le tue informazioni personali vengano violate.

OB1 ha sviluppato con successo su IPFS dal 2015. La rete peer-to-peer abilitata da IPFS consente al team di fornire una piattaforma in cui le persone scambiano liberamente le merci. Oltre a consentire a OB1 di essere solo un fornitore di tecnologia. Ciò significa che non sei un fornitore di prodotti, un "proprietario" di rete o una parte in attività peer-to-peer.

Pro e contro di IPFS

Tra i pro di IPFS possiamo citare:

  1. Il sistema di archiviazione è completamente decentralizzato.
  2. La rete è costruita in modo da essere altamente scalabile.
  3. La rete può resistere ad attacchi denial of service, tra gli altri, perché è completamente decentralizzata. In questo modo è garantito in ogni momento un accesso tempestivo alle informazioni.
  4. Il suo utilizzo è completamente gratuito e il codice sorgente è disponibile con licenze software gratuite.
  5. È estensibile, il che consente a chiunque di adattare nuove funzioni senza grossi problemi. Ad esempio, è possibile aggiungere moduli privacy, connessione a TOR, I2P, tra gli altri.

Per i suoi svantaggi possiamo menzionare:

  1. È uno sviluppo ancora in evoluzione, quindi il suo utilizzo in produzione non è ancora molto esteso.
  2. È complesso da utilizzare per utenti inesperti in questo tipo di sistemi.
  3. Non dispone di estensioni per la privacy per impostazione predefinita.
  4. A differenza di progetti come SIA, IPFS non è stato progettato con un modello di incentivi al centro. Per questo motivo, hanno dovuto sviluppare progetti separati come Filecoin che sono limitati nella loro integrazione.