In un’applicazione moderna il concetto di archiviazione su un disco rigido fisico è tecnologicamente superato, in seguito a molte considerazioni legate a prezzo, affidabilità, facilità di configurazione, sicurezza.
Utilizzando una soluzione basata sul cloud si può risparmiare denaro, tempo, una grande quantità di problemi e avere uno storage in grado di adattarsi a ciò di cui si ha bisogno, mantenendo anche il controllo sulla sicurezza.
In questo articolo si vogliono mostrare le diverse filosofie, caratteristiche, idee dietro a 3 diverse tecnologie di storage basate sul cloud. Lo scopo di questo articolo non è quello di dire quale sia la migliore, ma solo di dare una panoramica sui diversi problemi che stanno cercando di risolvere e le diverse soluzioni utilizzate.
Le tecnologie considerate sono:
Amazon S3, che è il servizio di cloud storage più usato. È flessibile, economico, affidabile e facile da usare.
Pinata, un’interessante soluzione di archiviazione e condivisione di file basata su IPFS.
Arweave, una tecnologia davvero innovativa (anche se forse non ancora matura) per implementare il “permanent web”.
Ora facciamo una breve analisi per ognuna:
Amazon S3
S3 è al momento la soluzione di archiviazione basata sul cloud più usata. L’idea di base è che invece di salvare i file su un hard disk fisico privato li si può salvare sugli hard disk di Amazon. Questo significa che AWS si occupa di organizzare la distribuzione dei server, mantenerli, condividerli tra tutti i clienti, garantendo la ridondanza, l’affidabilità e la sicurezza. Tutte questi servizi sono offerti ad un prezzo molto economico, grazie alle massicce economie di scala.
Non è nemmeno necessario conoscere i dettagli di queste problematiche per usare S3, questo rende la vita dello sviluppatore molto più facile.
Infatti in questa soluzione lo sviluppatore è solo un cliente che ottiene un prodotto finito e molto astratto: “un po’ di spazio nel cloud per salvare le cose”, Amazon si occupa di tutto.
Nei casi d’uso più diffusi questa soluzione è quasi perfetta.
Pinata
Pinata è, in qualche misura, un servizio di storage, ma più precisamente un servizio di pinning nel contesto di IPFS.
Per capire Pinata descriviamo prima IPFS, su cui Pinata si basa: è un protocollo basato su nodi, più o meno come Torrent. Ogni utente della comunità che usa IPFS è un nodo collegato agli altri, così, quando carica il file questo viene diviso in chunks, ciascuno dei quali con un id unico, e il nodo li condivide. Ogni volta che un altro nodo riceve il file ne mantiene una copia nella cache, aiutando a distribuirlo. Ogni nodo mantiene la cache del file solo per qualche tempo, non per sempre, ma è possibile utilizzare un servizio di pinning, cioè un gruppo di nodi che si può pagare per mantenere i file nella cache per sempre. Si noti che se si modifica il file, viene salvato di nuovo allo stesso modo con un id diverso, ma non può sostituire quello esistente. Quindi le vecchie versioni del file esisteranno e saranno accessibili fino a quando saranno presenti in almeno un nodo. Inoltre in IPFS tutto è pubblico e immutabile, quindi non puoi facilmente cancellare o cambiare un file (si può ri-uploadare, ma la vecchia versione sarà ancora pubblica e accessibile).
Pinata è fondamentalmente un servizio Pinnig affidabile, che permette anche di mantenere i files privati. È l’ideale se si vuole memorizzare un NFT.
Il focus di pinata è più sulla condivisione che sull’archiviazione, quindi è in qualche modo complementare più che alternativo a S3.
Arweave
Anche Arweave è un servizio di archiviazione di file, molto innovativo. Funziona come Uber, ma con dischi fissi al posto delle auto. Se hai dello spazio sull’hard disk e non lo usi puoi condividerlo, e allo stesso modo se hai bisogno di spazio puoi usare quello di altre persone.
L’idea di base è che chi condivide il disco viene pagato da chi ne ha bisogno usando una criptovaluta chiamata AR. L’aspettativa è che se il valore di AR sale sempre più persone condivideranno i loro dischi, e la comunità potrà in questo modo crescere, facendo crescere ancora di più il valore di AR e così via, in un circolo virtuoso.
Una caratteristica interessante di Arweave è che si paga solo una volta, e si possono tenere i file per sempre. Questo significa che non è molto conveniente nel breve termine, ma potrebbe esserlo in un periodo di 10 anni. L’obiettivo finale di Arweave è infatti il “web permanente”, quindi un luogo dove si mettono le cose destinate a rimanere lì per decenni o secoli. Arweave non è basato su una BlockChain, ma su un BlockGraph, dove ogni nodo è collegato ad altri 2 nodi, rendendolo in teoria molto difficile da corrompere.
Questa soluzione è distribuita e futuristica, ma ancora molto immatura.
Inoltre non è chiaro cosa potrebbe accadere se il valore di AR si riduce, c’è un rischio tangibile per questa piccola comunità di collassare.
Qual’è ora la soluzione migliore?
Ovviamente dipende da ciò di cui si ha effettivamente bisogno. Per la maggior parte dei casi d’uso è un fatto oggettivo che la maggior parte delle applicazioni utilizzano S3, perché è molto “general purpose” e soddisfa quasi tutti i requisiti. Pinata è una tecnologia molto interessante, recentemente in ascesa perché si applica perfettamente alle esigenze del mondo NFT, nonostante sia in generale più costosa di S3. Arweave è al momento innovativa ma immatura, la comunità non è ancora abbastanza grande per avere economie di scala significative.
Quale sarà la soluzione migliore tra 5 anni?
Allo stato attuale S3 è una tecnologia consolidata, probabilmente offrirà più o meno le stesse caratteristiche in futuro.
Pinata ha buone opportunità di crescere, perché è ancora in fase ascendente, e probabilmente migliorerà nelle features come le regole di autenticazione dei file (le ultime evoluzioni, come Submarine, puntano in questa direzione). Inoltre, se Pinata diventerà più mainstream sarà più economico.
Arweave è una scommessa. È l’unica tecnologia tra quelle analizzate che mira a creare una sorta di “web permanente”. Ora la comunità è troppo piccola per essere una vera alternativa, ma probabilmente crescerà nei prossimi anni.
Reliability dai dati
Tutte queste soluzioni sono molto affidabili sotto diversi punti di vista.
S3 può garantire che i dati siano quasi sempre accessibili, memorizzati in modo distribuito anche geograficamente, con un livello di sicurezza e privacy molto avanzato. Questo significa per l’utente che lui e solo lui sarà in grado di accedere ai suoi dati anche in caso di disastro, fino a quando Amazon come azienda esisterà. Ci sono solo 2 tipi di minacce per i file salvati su S3: Amazon che fallisce e l’utente che cancella le cose per errore.
Pinata offre un diverso tipo di affidabilità: è probabilmente meno sicuro di S3 (perché è una società più piccola), e il controllo di accesso per i file è meno “fine grained”, ma grazie ad IPFS la disponibilità dei file è ancora più decentralizzata. Anche se Pinata fallisce i file rimarranno raggiungibili fino a quando almeno un nodo li conserverà. Da considerare anche che se l’utente modifica il file le vecchie versioni rimangono ancora disponibili, quindi è molto più difficile corrompere i file, anche volontariamente. È l’ideale per proteggere l’utente da se stesso o dalla censura.
Arweave offre un altro prodotto ulteriormente diverso: mira a mantenere i dati incorrotti per sempre. Realisticamente i dati rimarranno incorrotti fino a quando la comunità di Arweave sarà ancora viva, perché c’è bisogno di persone che condividano il proprio HD perché questo sistema funzioni.