Buongiorno cari lettori, oggi vi andremo a parlare del file system mondiale.
Quando la pandemia di covid è esplosa all’inizio del 2020, il mondo ha fatto un passaggio senza precedenti al lavoro a distanza. Per precauzione, alcuni provider Internet hanno ridotto temporaneamente i livelli di servizio, anche se probabilmente non era necessario per i paesi dell’Asia, dell’Europa e del Nord America, che generalmente sono stati in grado di far fronte all’aumento della domanda causato dal telelavoro. Questo perché la maggior parte delle loro reti è stata fornita in eccesso, con una capacità maggiore di quella di cui hanno normalmente bisogno. Ma nei paesi senza lo stesso livello di investimento nell’infrastruttura di rete, il quadro era meno roseo: i fornitori di servizi Internet (ISP) in Sud Africa e Venezuela , ad esempio, hanno riportato diversi problemi.
Ma l’overprovisioning è l’unico modo? No, per comprendere l’approccio alternativo che stiamo sostenendo, tuttavia, è necessario prima ricordare come funziona Internet.
Il protocollo principale di Internet, giustamente chiamato Internet Protocol (IP), definisce uno schema di indirizzamento che i computer utilizzano per comunicare tra loro. Questo schema assegna indirizzi a dispositivi specifici, computer e server delle persone, e utilizza tali indirizzi per inviare dati tra di loro secondo necessità.
È un modello che funziona bene per inviare informazioni uniche da un punto all’altro, ad esempio il tuo estratto conto bancario o una lettera di una persona cara. Questo approccio aveva senso quando Internet veniva utilizzato principalmente per fornire contenuti diversi a persone diverse. Ma questo design non è adatto per il consumo di massa di contenuti statici, come film o programmi TV.
La realtà oggi è che Internet è più spesso utilizzato per inviare esattamente la stessa cosa a molte persone, , gran parte dei quali è sotto forma di video. Le richieste crescono ancora di più man mano che i nostri schermi ottengono risoluzioni sempre maggiori, con video 4K già ampiamente utilizzati e 8K all’orizzonte.
Le reti di distribuzione dei contenuti (CDN) utilizzate dai servizi di streaming come Netflix aiutano a risolvere il problema archiviando temporaneamente i contenuti vicino o addirittura all’interno di molti ISP. Ma questa strategia si basa sulla capacità di ISP e CDN di concludere accordi e implementare l’infrastruttura richiesta.
Il vero problema non è tanto il volume di contenuto che viene distribuito, ma il modo in cui viene distribuito, da una fonte centrale a molti diversi utenti lontani, anche quando questi utenti si trovano uno accanto all’altro.
Uno schema di distribuzione più efficiente in tal caso sarebbe che i dati vengano serviti al tuo dispositivo dal dispositivo del tuo vicino in modo peer-to-peer diretto. Ma come farebbe il tuo dispositivo a sapere a chi chiedere? Benvenuti nel file system interplanetario (IPFS).
L’InterPlanetary File System prende il nome perché, in teoria, potrebbe essere esteso per condividere dati anche tra computer su diversi pianeti del sistema solare. Per ora, però, siamo concentrati sul lanciarlo solo per la Terra!
La chiave per IPFS è ciò che viene chiamato indirizzamento del contenuto. Invece di chiedere a un particolare provider: “Per favore, inviami questo file”, la tua macchina chiede alla rete: “Chi può inviarmi questo file?” Inizia interrogando i peer: altri computer nelle vicinanze dell’utente, altri nella stessa casa o ufficio, altri nello stesso quartiere, altri nella stessa città, espandendosi progressivamente verso località globalmente distanti, se necessario, finché il sistema non trova un copia di quello che stai cercando.
Queste query vengono effettuate utilizzando IPFS, un’alternativa all’Hypertext Transfer Protocol (HTTP), che alimenta il World Wide Web. Basandosi sui principi della rete peer-to-peer e dell’indirizzamento basato sui contenuti, IPFS consente una rete decentralizzata e distribuita per l’archiviazione e la consegna dei dati.
I vantaggi di IPFS includono una distribuzione dei contenuti più rapida ed efficiente. Ma non si fermano qui. IPFS può anche migliorare la sicurezza con il controllo dell’integrità dei contenuti in modo che i dati non possano essere manomessi da intermediari. E con IPFS, la rete può continuare a funzionare anche se la connessione al server di origine viene interrotta o se il servizio che inizialmente forniva il contenuto sta subendo un’interruzione, particolarmente importante in luoghi con reti che funzionano solo in modo intermittente. IPFS offre anche resistenza alla censura.
Per comprendere più a fondo come IPFS differisce dalla maggior parte di ciò che avviene oggi online, diamo una rapida occhiata all’architettura di Internet e ad alcuni precedenti approcci peer-to-peer.
Come accennato in precedenza, con l’architettura Internet odierna, richiedi contenuto in base all’indirizzo di un server. Questo deriva dal protocollo che sta alla base di Internet e governa il modo in cui i dati fluiscono da un punto all’altro, uno schema descritto per la prima volta da Vint Cerf e Bob Kahn in un documento del 1974 e ora noto come Internet Protocol. Il World Wide Web si basa sul protocollo Internet. Navigare nel Web consiste nel chiedere a una macchina specifica, identificata da un indirizzo IP, uno specifico dato.
Il processo inizia quando un utente digita un URL nella barra degli indirizzi del browser, che prende la parte del nome host e la invia a un server DNS ( Domain Name System ). Quel server DNS restituisce un indirizzo IP numerico corrispondente. Il browser dell’utente si collegherà quindi all’indirizzo IP e chiederà la pagina Web che si trova in quell’URL.
In altre parole, anche se un computer nello stesso edificio ha una copia dei dati desiderati, non vedrà la richiesta, né potrebbe abbinarla alla copia che detiene perché il contenuto non ha un identificatore intrinseco: non è indirizzato al contenuto.
La sfida principale in tal senso è che richiederebbe modifiche all’infrastruttura Internet principale, che è di proprietà e gestita da migliaia di ISP in tutto il mondo, senza un’autorità centrale in grado di controllare ciò che fanno tutti. Sebbene questa architettura distribuita sia uno dei maggiori punti di forza di Internet, rende quasi impossibile apportare modifiche fondamentali al sistema, il che rovinerebbe le cose per molte delle persone che lo utilizzano. Spesso è molto difficile anche implementare miglioramenti incrementali. Un buon esempio della difficoltà incontrata quando si introduce la modifica è IPv6 , che espande il numero di possibili indirizzi IP.
Altri sistemi peer-to-peer oltre a IPFS, come BitTorrent e Freenet , hanno cercato di farlo introducendo sistemi in grado di operare in parallelo con il World Wide Web, anche se spesso con interfacce Web. Ad esempio, puoi fare clic su un collegamento Web per il tracker BitTorrent associato a un file, ma questo processo in genere richiede che i dati del tracker vengano trasferiti a un’applicazione separata dal tuo browser Web per gestire i trasferimenti. E se non riesci a trovare un link tracker, non puoi trovare i dati.
Freenet utilizza anche un sistema distribuito peer-to-peer per archiviare i contenuti, che possono essere richiesti tramite un identificatore e accessibili anche tramite il protocollo HTTP del Web. Ma Freenet e IPFS hanno obiettivi diversi: Freenet ha una forte attenzione sull’anonimato e gestisce la replica dei dati in modi che servono a tale obiettivo ma riducono le prestazioni e il controllo dell’utente. IPFS fornisce meccanismi di condivisione e recupero flessibili e ad alte prestazioni, ma mantiene il controllo sui dati nelle mani degli utenti.
IPFS è iniziato nel 2013 come progetto open source supportato da Protocol Labs, il principio fondamentale di tutti i sistemi P2P è che gli utenti partecipano contemporaneamente come client (che richiedono e ricevono file da altri) e come server (che archiviano e inviano file ad altri). La combinazione di indirizzamento dei contenuti e P2P fornisce gli ingredienti giusti per recuperare i dati dal peer più vicino che detiene una copia di ciò che si desidera o, più correttamente, il più vicino in termini di topologia di rete, sebbene non necessariamente in termini di distanza fisica.
Per fare in modo che ciò accada, IPFS produce un’impronta digitale del contenuto che detiene (chiamato hash ) che nessun altro elemento può avere. Quell’hash può essere pensato come un indirizzo univoco per quel contenuto. La modifica di un singolo bit in quel contenuto produrrà un indirizzo completamente diverso. I computer che desiderano recuperare questo contenuto trasmettono una richiesta per un file con questo particolare hash.
La persistenza e l’immutabilità del nome forniscono intrinsecamente un’altra proprietà significativa: la verificabilità. Disponendo del contenuto e del suo identificativo, l’utente può verificare che quanto ricevuto corrisponda a quanto richiesto e non sia stato manomesso, né in transito né dal provider. Ciò non solo migliora la sicurezza, ma aiuta anche a salvaguardare la documentazione pubblica e impedire che la cronologia venga riscritta.
In definitiva, IPFS è una rete aperta, governata dalle regole della comunità e aperta a tutti. E puoi diventarne parte subito! Il browser Brave viene fornito con il supporto IPFS integrato , così come Opera per Android . Sono disponibili estensioni del browser per Chrome e Firefox e IPFS Desktop semplifica l’esecuzione di un nodo locale. Diverse organizzazioni forniscono servizi di hosting basati su IPFS, mentre altre gestiscono gateway pubblici che consentono di recuperare i dati da IPFS tramite il browser senza alcun software speciale.
Finora, IPFS è stato utilizzato per creare svariate applicazioni, inclusi sistemi per l’e-commerce , distribuzione sicura di set di dati scientifici, creazione di nuovi social network , condivisione di dati, creazione di blockchain, archiviazione e condivisione sicure e crittografate di file personali, strumenti per sviluppatori e analisi dei dati .