IPFS: Interplanetary File System

Scrypta
4 min readApr 30, 2021

--

IPFS è uno dei file system distribuiti, decentralizzati, più importanti che sia mai stato creato dopo Torrent. È fondamentale, prima di iniziare a sviluppare con IPFS, consultare la documentazione ufficiale reperibile al seguente link: https://ipfs.io/ .

In generale la versione IPFS che abbiamo incluso negli IdANode è in Javascript. Il repository è il seguente: https://github.com/ipfs/js-ipfs .

Analizzeremo di seguito gli endpoint e faremo degli esempi pratici (che si possono riscontrare anche analizzando la libreria Scrypta Core).

Tra i vari metodi presenti nell’IdANode troviamo anche quelli di lettura e analisi del file ai fini di ottenerne il mime-type ed effettuare il giusto rendering lato dApp.

Il 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, 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.

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.

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.

Per non perderti alcun aggiornamento seguici su:

TelegramTwitterLinkedinDiscordFacebook

--

--