logo academy

Cos’è il Cloud Storage: dal Web2 a The Graph

30 giugno, 2022
10 min
Cos’è il Cloud Storage: dal Web2 a The Graph
Intermedio
Cosa Imparerai

    Essere umani significa ricordare: la memoria definisce l’identità. Le tecnologie odierne, dunque, possono renderci infinitamente più consapevoli, conservando per noi informazioni, idee, progetti.        Così, andiamo nel mondo avvolti da “nuvole” di dati: il significato di cloud storage è questo, una soluzione al dimenticare. I servizi in cloud si sono evoluti nel tempo e, integrandosi al p2p e alla blockchain, hanno dato origine a diverse soluzioni decentralizzate: capiremo cos’è IPFS, la differenza fra Filecoin e Storj ed infine raggiungeremo l’ultimo stadio dell’innovazione, The Graph.

    Cloud storage: nuvole di dati

    Cos’è il cloud computing? Chiamato anche “nuvola informatica”, sfrutta la rete internet per fornire potenza di calcolo nella forma di elaborazione e trasmissione di dati. Tuttavia, i servizi di “cloud storage” sono la premessa del cloud computing: l’elaborazione dei dati dipende strettamente dai sistemi usati per archiviarli.

    L’archiviazione in Cloud ha un esempio per ogni azienda hi-tech: OneDrive per Microsoft, Amazon S3 (AWS), Google Cloud Platform, di cui tutti conosciamo Google Drive, ma anche Dropbox sono soluzioni note per il cloud storage online.

    Tutte le alternative forniscono, di base, le medesime potenzialità, ma cosa le accomuna davvero? Essendo servizi di cloud storage erogati da privati, proprietari dell’intera infrastruttura, essi sono centralizzati.

    Escludendo giudizi di valore, la centralizzazione ha aspetti controversi: è essenziale salvare foto, documenti e contatti, ma la nostra privacy è ugualmente preservata? Affidando la sicurezza di file importanti a terze parti, rinunciamo alla segretezza di informazioni sensibili. 

    Inoltre, i file nei cloud centralizzati potrebbero essere a rischio: un malfunzionamento, un disastro naturale o una violazione delle misure di sicurezza comporterebbe inaccessibilità prolungata oppure perdita incontrovertibile di dati, proprio perché è stata accentrata la loro conservazione in un’unica autorità fiduciaria.

    La questione dell’archiviazione e condivisione dei dati ha un ruolo importante nel momento di transizione in cui si trova internet: il cloud ha fortemente caratterizzato il Web2 in una forma centralizzata, tuttavia una tendenza del Web3 è quella dell’Edge Computing. Sostanzialmente, l’elaborazione dei dati avverrà sempre più nella “periferia” di internet, direttamente a carico dei nostri dispositivi, ai margini dell’Internet of Things (IOT). Per approfondire il concetto di Web3 consulta la voce nel glossario.

    Per rendere i sistemi indipendenti dai problemi legati a un server centrale, sia a livello computazionale che di memoria, è anche necessario sviluppare soluzioni di decentralizzazione: assicurare privacy e continuità del servizio distribuendo l’archiviazione tra nodi, la cui affidabilità è garantita da protocolli imparziali piuttosto che dalla reputazione di un’azienda. 

    Cos’è IPFS: nebulose interplanetarie di dati

    Come fa il tuo browser a trovare l’Academy di Young Platform tra le infinite pagine presenti nel World Wide Web? Il protocollo HTTP (HyperText Transfer Protocol) gestisce la ricerca effettuata dal client, trasmettendo da un server centralizzato le risorse richieste.

    IPFS (InterPlanetary File System) è la versione decentralizzata dell’HTTP: una rete peer-to-peer di nodi che collabora all’archiviazione e alla condivisione di informazioni, gestendo dunque un servizio di cloud storage. Tuttavia, perché abbiamo bisogno di decentralizzare i contenuti web? 

    Innanzitutto, la navigazione nel WWW è, attualmente, inefficiente e costosa per i sistemi client/server: l’HTTP scarica file da un database alla volta, mentre l’IPFS recupera informazioni da più nodi contemporaneamente, permettendo di risparmiare larghezza di banda. 

    Inoltre le caratteristiche del cloud storage di IPFS rispettano la visione originale del web, rendendolo libero e veramente paritario. Oggi internet è basato sui concetti di proprietà ed accesso, la decentralizzazione li sostituirà con la condivisione e la partecipazione: mediante HTTP ricevi file da coloro che li detengono in datacenter privati, se ti è permesso l’accesso, mentre con IPFS molti possiedono i reciproci file e compartecipano nel renderli disponibili.  

    Infine, la distribuzione tra nodi supporta la resilienza di internet, ovvero la persistenza dei contenuti nel tempo, oltre a rendere i file stessi incensurabili: in IPFS i file vengono conservati in più copie, memorizzate in diversi luoghi. Questa ridondanza impedisce alle informazioni di essere oscurate od eliminate dal volere di un singolo. IPFS dà una nuova definizione di cloud storage: decentralizzato, paritario e sicuro.

    Come funziona IPFS: il Content Identifier

    In sostanza, come funziona il cloud di IPFS? Rivoluzionando il concetto di accessibilità: questo protocollo recupera le informazioni in base al contenuto e non alla localizzazione. Ciò è possibile attraverso il Content Identifier (CID), un codice assegnato ad ogni file, che sostituisce l’indirizzo IP del server centralizzato. Ogni file, inoltre, viene diviso in parti più piccole, legate crittograficamente tramite un meccanismo di hash.

    Quando un file, trovato attraverso il CID, verrà visualizzato o scaricato, i nodi client ne manterranno una copia cache, così da rendere il web più veloce: poter ottenere contenuti da peer geograficamente vicini, al posto di riceverli da un hardware centralizzato lontanissimo, accelera la condivisione del sapere. Nel cloud di IPFS, infine, i nodi possono “fissare” i file, in modo da renderli permanenti e costantemente disponibili presso il loro indirizzo, attraverso il “pinning”.

    Cosa puoi fare con il cloud di IPFS? Oltre ad archiviare dati, puoi fornire servizi attraverso il CDN p2p (Content Delivery Network). Inoltre, IPFS è utile agli sviluppatori di blockchain: il CID permette di conservare grandi file off-chain ed, in seguito, richiamarli attraverso link immutabili.

    Non importa se tu sia isolato o abbia una connessione scarsa, la decentralizzazione interplanetaria di IPFS ti permetterà di accedere ad ogni file agilmente, a patto che tutti i nodi del network partecipino attivamente. Infatti, questo progetto di memoria universale, che punta a distribuire l’intero database di Wikipedia attraverso il mirroring dei contenuti, può funzionare solo se un numero crescente di nodi collaborerà all’archiviazione in Cloud dei file. 

    Tuttavia, è difficile ottenere scalabilità basandosi sulla sola partecipazione volontaria: così, alle caratteristiche del cloud storage di IPFS, sono stati aggiunti incentivi basati su token crypto e tecnologia blockchain: FileCoin e Storj.

    Filecoin vs Storj vs The Graph

    FileCoin vs StorJ: memoria a buon mercato

    Per capire più a fondo cos’è il cloud storage, immagina di fare un po’ d’ordine nella tua camera: troverai ogni sorta di oggetto nei tuoi cassetti, ma ovviamente conserverai solo ciò che ti interessa. Allo stesso modo, ogni nodo nel cloud IPFS si libererà delle cache-copy che non gli servono. Questo, però, non promuove gli interessi d’archiviazione altrui: non impileresti mai i fumetti di tuo fratello sulla tua scrivania!

    Filecoin propone una soluzione: un protocollo incentivante, complementare al cloud storage di IPFS, che possa creare un marketplace per l’archiviazione distribuita. I nodi di Filecoin, che sono al contempo peer di IPFS, possono “dare in affitto” la loro memoria in cambio di token FIL.

    L’incentivo economico garantisce scalabilità al cloud IPFS, ma com’è possibile assicurarsi dell’affidabilità di nodi indipendenti e decentralizzati? Chi fornisce spazio in Filecoin sarà ricompensato solo se potrà fornire prove del suo lavoro: la verifica avverrà attraverso i meccanismi di Proof-of-Replication (PoRep) e Proof-of-Spacetime (PoSt), due forme di Proof-of-Work.

    Dunque, i miner sono responsabili dell’archiviazione e del recupero dei file ma, per avere prestazioni competitive, possono essere incaricati di una sola di queste due azioni. I miner che si occupano di archiviazione, poi, devono vincolare fondi in garanzia, versando un collaterale proporzionale alla quantità di dati gestiti, come ulteriore misura antifrode

    La mission della crypto StorJ è la stessa: attraverso l’omonimo token (STORJ), incoraggiare gli utenti a condividere le loro risorse di archiviazione inutilizzate. Un piccolo nodo potrebbe avere accesso ad elettricità meno costosa rispetto a datacenter centralizzati, così da rappresentare un’alternativa cloud più economica. 

    I pagamenti nel network di StorJ sono amministrati dai Satelliti, moduli che coordinano le operazioni tra client e nodi: essi ricompensano gli archiviatori per la quantità di memoria e larghezza di banda che forniscono continuativamente al cloud. 

    I Satelliti, infatti, metteranno alla prova i nodi di tanto in tanto, nei cosiddetti audit, per verificare il loro impegno: se un indirizzo si mostrerà inattivo sarà privato di parte della sua ricompensa. I token confiscati verranno poi utilizzati per recuperare eventuali file danneggiati o per creare altri nodi nel cloud. I satelliti vengono a loro volta retribuiti per le loro azioni conservative e per la memorizzazione di alcuni metadati (come la localizzazione dei file nel cloud). 

    Il cloud storage di StorJ si basa su uno smart contract p2p che permette l’incontro tra domanda di spazio di archiviazione e offerta, il cui costo è impostato dai nodi fornitori attraverso StorJShare. Il protocollo open-source della crypto StorJ rende le informazioni ridondanti e, attraverso crittografia, sicure; inoltre, il codice di StorJ è compatibile con Amazon S3.

    The Graph: riordinare le nuvole

    Da quando hai capito cos’è il cloud storage su blockchain, le ricompense di archiviazione hanno trasformato la tua camera in un magazzino: hai concesso quello spazio a tuo fratello, ma poi anche il resto della famiglia ha preso accordi con te. Sei un piccolo nodo in un network di archiviazione, ma ora prova a trovare la foto del tuo primo giorno di scuola in questo archivio condiviso: dovresti passare in rassegna ogni armadio, scatola e raccoglitore per trovarla!

    The Graph può assisterti nella ricerca: il suo protocollo aggiunge l’indicizzazione dei dati al cloud storage decentralizzato di IPFS e agli incentivi di Filecoin e StorJ. Se la tua camera fosse la blockchain di Ethereum, ogni cassetto sarebbe un blocco: ogni categoria di transazione, in essi contenuta, sarà etichettata dal network di The Graph attraverso una descrizione (manifest), così da raccogliere le informazioni in fascicoli chiamati “subgraph”. 

    In poche parole, come funziona The Graph? Il protocollo “impara” ad indicizzare attraverso i subgraph manifest: questi definiscono lo smart contract di interesse e tutti i risultati o dati che ha generato. Una volta scritte queste linee guida, gli indexer (incentivati dal token GRT) cominceranno a raccogliere di conseguenza i dati. 

    Sei in una vasta libreria, devi svolgere una ricerca, e un commesso gentile ti mostrerà tutti i manuali utili. Allo stesso modo, il protocollo di The Graph renderà i database decentralizzati ancora più accessibili: i subgraph forniranno le query (“domande”) giuste agli sviluppatori per interrogare le blockchain, così da trovare velocemente i dati necessari al funzionamento di smart contract e Dapp

    Il cloud computing ha bisogno di un archivio sicuro per le informazioni da elaborare, così come un cloud storage non sarebbe efficiente se disorganizzato. Ecco perché l’archiviazione di IPFS, gli incentivi di Filecoin e Storj, e l’indicizzazione di The Graph sono essenziali per dare inizio alla prossima fase di Internet: il Web3.

    Correlati