Qual è lo storage decentralizzato?: Una profonda analisi di Filecoin.

Elenco dei Contenuti

Definizione

I sistemi di storage decentralizzati condividono le responsabilità di storage tra molti operatori indipendenti che formano una singola rete di storage.

Introduzione allo Storage Decentralizzato

Il computing moderno è altamente centralizzato. Negli ultimi dieci anni, alcune grandi aziende cloud hanno fatto enormi fortune dividendo i sistemi di computer tradizionali in offerte basate su cloud. Il web moderno riflette questa centralizzazione - quando uno di questi fornitori ha un'interruzione, è un evento importante su internet. (Se non ci credete, vorremmo ricordarvi l'interruzione del servizio di Amazon Web Storage nel 2017, l'interruzione prolungata di Github nel giugno 2020, o i problemi di servizio cloud di Microsoft di diverse settimane nell'ottobre 2020.)

Il contenuto ospitato su questi servizi è stoccato dietro a link fragili che si rompono troppo spesso. Ciò ha profonde implicazioni per i sistemi di computer che costruiamo, e per le società che sempre più si affidano ad essi.

Le architetture centralizzate sono state di successo anche perché sono più facili da costruire.

Per contrastare la consolidazione, gli sviluppatori hanno bisogno di nuovi blocchi di costruzione fondamentali che siano altrettanto facili da comporre. Lo storage decentralizzato è uno di questi pilastri, servendo come precondizione per un web più distribuito.

Caratteristiche Fondamentali dello Storage Decentralizzato

Esistono molti modi diversi per progettare un sistema di storage decentralizzato. In generale, condividono un comune accento sullae resilienza e l'efficienza.

Resilienza

Il web moderno è spaventosamente fragile. Il contenuto web di oggi si trova dietro agli URL, ognuno dei quali appartiene a un singolo server definitivo in un dato momento. Se quel fornitore viene tolto dalla rete per qualsiasi motivo, il contenuto a cui puntava diventa inaccessibile. La centralizzazione aumenta questo effetto, creando punti di fallimento singoli e offrendo opportunità comode per la censura.

Come risultato, nell'internet di oggi, la rottura dei link (che è esattamente ciò che sembra, quando un link è rotto o permanentemente non disponibile) è diffusa, la censura a livello di stato è semplice e gli attacchi di negazione del servizio distribuito possono interrompere l'accesso a praticamente qualsiasi file.

In un sistema decentralizzato ideale, la perdita di un operatore non dovrebbe impedire l'accesso ai contenuti memorizzati e serviti in precedenza. Distribuendo le responsabilità su molti nodi di una rete, i sistemi decentralizzati hanno anche una resistenza naturale alla censura e ad altri tentativi di negazione di servizio perché non c'è un obiettivo centralizzato contro cui gli attaccanti possono aggregare risorse.

Un esempio di come i sistemi di storage centralizzati possono essere suscettibili alla censura è quello che è successo quando la Catalogna (una delle 17 comunità autonome della Spagna) ha tenuto un referendum sull'indipendenza. Il governo spagnolo - che si opponeva ai piani di indipendenza - ha bloccato i siti web con informazioni sul voto a livello di ISP. Spezzando questi link critici, il governo ha effettivamente impedito a molte persone di accedere a queste informazioni.

Tuttavia, molti di questi siti web sono stati anche replicati utilizzando il Sistema di File Interplanetario (IPFS), una rete di storage peer-to-peer. Chiunque eseguisse un nodo IPFS poteva scaricare le informazioni censurate da altri nodi sulla rete e iniziare a condividerle. La natura decentralizzata di IPFS ha contrastato i tentativi del governo spagnolo di bloccare l'accesso a questi documenti - non appena un nodo veniva bloccato, un altro poteva facilmente prendere il suo posto. In generale, i sistemi di storage decentralizzati rendono molto più difficile il blocco a livello di rete.

Efficienza

Tutte le architetture dei sistemi di computing hanno alcuni punti di forza e alcuni punti deboli, e non esiste una soluzione unica per tutti i possibili casi d'uso. Purtroppo, l'enfasi del web moderno sulla centralizzazione non è diversa.

Oggi, pochi data center centralizzati in un piccolo numero di città di tutto il mondo memorizzano la maggior parte dei contenuti. Se due utenti sulla stessa rete vogliono inviarsi messaggi, ad esempio, quei messaggi di solito passano prima da uno di quei data center. Se cento utenti sono in una stanza a guardare lo stesso video sui propri dispositivi, ciascuno colpisce un server centrale e scarica cento copie in parallelo, invece di scaricare una singola copia e condividerla sulla rete locale.

In termini più semplici, lo storage decentralizzato rende più facile condividere file senza far saltellare le richieste in tutto l'internet verso pochi data center. Invece, i nodi stabiliscono connessioni tra loro utilizzando il minor numero possibile di intermediari. Collegarsi ai nodi in altri paesi, ad esempio, richiederà comunque diversi salti, ma i nodi sulla stessa rete possono condividere i file direttamente. L'obiettivo finale dei sistemi di storage decentralizzati è quello di avere così tanti nodi che tutti possano trovare peer relativamente locali per le informazioni che stanno cercando.

Le soluzioni di storage decentralizzato possono introdurre nuove efficienze fondamentali in tali attività. Saltando i rari data center, un sistema distribuito può posizionare i nodi molto più vicino ai consumatori finali rispetto anche alle moderne reti di distribuzione dei contenuti, con risultati significativamente più veloci nell'accesso ai file. La condivisione di file peer-to-peer su reti locali può anche risparmiare larghezza di banda preziosa, specialmente in aree con accesso limitato all'ampio internet.

Caratteristiche Desiderabili dello Storage Decentralizzato

Mentre la resilienza e l'efficienza sono i segni distintivi dello storage decentralizzato, ci sono un certo numero di caratteristiche aggiuntive che un sistema di storage ideale potrebbe offrire:

Accessibile

Un sistema distribuito ideale dovrebbe essere accessibile. La partecipazione alla rete dovrebbe essere facile, consentendo a molti nodi quanto possibile di memorizzare e distribuire file per conto della rete.

Se stai leggendo questo e ti chiedi - posso essere un nodo? La risposta è: dipende. 

Con Filecoin, qualsiasi individuo relativamente esperto in tecnologia dovrebbe poter eseguire un nodo client per interagire con la rete. Per quanto riguarda l'esecuzione di nodi di storage miner (vedi qui sotto per ulteriori informazioni), non è qualcosa che tutti possono fare - è necessario avere hardware che soddisfi determinate specifiche.

Nel caso di IPFS, i nodi hanno requisiti hardware inferiori, il che significa che è possibile per un numero maggiore di utenti contribuire alla rete eseguendo un nodo (forse eseguendo un browser web che ne abbia uno incorporato).

Programmabile

I fornitori di servizi cloud hanno reso lo storage economico e affidabile più facile che mai da lavorare. Un aspetto fondamentale del loro successo è la capacità di fornire e gestire lo storage tramite codice tramite API. Qualsiasi sistema concorrente dovrebbe essere in grado di offrire lo stesso livello di comodità.

Indirizzamento dei Contenuti

Come discusso, gli URL incorporano alcuni scambi di design intrinseci. Descrivono la posizione dei dati, anziché il contenuto.

Per spiegare come i sistemi centralizzati possono rendere difficile trovare un pezzo di dati - immaginate che vogliate scaricare una foto di un gattino peloso. Considerate questi due URL:

https://example1.com/cat.jpeg

https://example2.com/cat.jpeg

Ciascuno di questi URL fa riferimento a un file chiamato cat.jpeg, ma non c'è alcuna garanzia che questi due file siano gli stessi. Se example1.com diventa offline, non potete essere sicuri che example2.com abbia ciò che state cercando - il suo cat.jpeg potrebbe essere completamente diverso. Infatti, potrebbe persino essere una foto di un cane! Non c'è alcuna relazione intrinseca tra un URL e il contenuto a cui fa riferimento.

Come risultato, non c'è modo di chiedere all'internet di oggi, "Qualcuno ha questo file?" perché non sapete nulla del file oltre alla sua posizione.

Quando si condividono file utilizzando un URL, le cose possono andare storte. Il server potrebbe iniziare a fornire un file diverso da quell'URL, oppure qualcuno potrebbe eseguire un (sorprendentemente non così raro) attacco man-in-the-middle e alterare il file. È molto difficile verificare che tutti coloro che accedono all'URL ricevano il file che desideravano.

L'indirizzamento dei contenuti, al contrario, trova i file basandosi su identificatori di contenuto (CID), che fungono da impronte digitali dei file. Indirizzare i file in questo modo risolve molti problemi con l'indirizzamento basato sulla posizione. Quando un client desidera un file, anziché chiedere a un server un URL, chiede ai nodi della rete un file con un determinato CID. Una volta che il client scarica il file, lo impronta da solo.

Per tornare al nostro esempio precedente, sarebbe come se tutti i siti web avessero una comprensione condivisa di quale file consegnare quando si chiede cat.jpeg. Quindi, pur non garantendo che qualsiasi nodo abbia quel particolare cat.jpeg, i nodi eseguiranno un controllo dell'impronta digitale di quel file per cercare di trovare una corrispondenza. 

Anche se un passaggio come l'impronta digitale richiede più esperienza tecnica di quanto la persona media vorrebbe affrontare, i client di Filecoin e IPFS possono automatizzare facilmente questo processo. Questo consente al client di garantire che abbia ricevuto il file richiesto - in questo sistema, è banale trovare fornitori alternativi di un dato.

L'aspetto principale: i CID significano che è possibile trovare contenuti altrimenti mancanti in un sistema centralizzato, e i CID possono anche prevenire attacchi man-in-the-middle o un server che cambia improvvisamente un file su un particolare URL.

Senza Fiducia

Un sistema senza fiducia consente la cooperazione tra due parti senza che debbano conoscersi o rivolgersi a un terzo. Piuttosto, gli incentivi del sistema spingono gli attori verso il comportamento necessario affinché la rete funzioni.

Verificabile

Un sistema di storage ideale dovrebbe rendere facile dimostrare continuamente che i nodi stanno memorizzando esattamente i dati promessi. Questo tipo di auditabilità è fondamentale per raggiungere la fiducia. Se è sempre possibile stabilire che i dati vengono memorizzati correttamente, c'è meno bisogno di fidarsi della parte che fornisce lo storage.

Aperto

Infine, un sistema di storage distribuito ideale è aperto: il suo codice è open-source e verificabile. Inoltre, il sistema di storage non dovrebbe essere monolitico. Invece, dovrebbe esporre un protocollo aperto che chiunque possa implementare e sviluppare, anziché incoraggiare il blocco.

Studio di Caso: Come Filecoin Incarna Queste Caratteristiche

Il progetto Filecoin è un sistema di storage decentralizzato progettato per soddisfare queste proprietà. Descritto per la prima volta nel 2014, il protocollo Filecoin è stato sviluppato originariamente come strato di incentivi per il Sistema di File Interplanetario (IPFS), una rete di storage peer-to-peer. Come IPFS, Filecoin è un protocollo aperto e si basa sulle proprietà del suo fratello maggiore, sfruttando le stesse funzionalità sottostanti peer-to-peer e di indirizzamento dei contenuti.

Una rete di nodi Filecoin dà origine a un mercato dello storage decentralizzato per il recupero e lo storage di file. La rete è supportata da una blockchain innovativa che registra i commitment fatti

Elenco dei Contenuti

Definizione

I sistemi di storage decentralizzati condividono le responsabilità di storage tra molti operatori indipendenti che formano una singola rete di storage.

Introduzione allo Storage Decentralizzato

Il computing moderno è altamente centralizzato. Negli ultimi dieci anni, alcune grandi aziende cloud hanno fatto enormi fortune dividendo i sistemi di computer tradizionali in offerte basate su cloud. Il web moderno riflette questa centralizzazione - quando uno di questi fornitori ha un'interruzione, è un evento importante su internet. (Se non ci credete, vorremmo ricordarvi l'interruzione del servizio di Amazon Web Storage nel 2017, l'interruzione prolungata di Github nel giugno 2020, o i problemi di servizio cloud di Microsoft di diverse settimane nell'ottobre 2020.)

Il contenuto ospitato su questi servizi è stoccato dietro a link fragili che si rompono troppo spesso. Ciò ha profonde implicazioni per i sistemi di computer che costruiamo, e per le società che sempre più si affidano ad essi.

Le architetture centralizzate sono state di successo anche perché sono più facili da costruire.

Per contrastare la consolidazione, gli sviluppatori hanno bisogno di nuovi blocchi di costruzione fondamentali che siano altrettanto facili da comporre. Lo storage decentralizzato è uno di questi pilastri, servendo come precondizione per un web più distribuito.

Caratteristiche Fondamentali dello Storage Decentralizzato

Esistono molti modi diversi per progettare un sistema di storage decentralizzato. In generale, condividono un comune accento sullae resilienza e l'efficienza.

Resilienza

Il web moderno è spaventosamente fragile. Il contenuto web di oggi si trova dietro agli URL, ognuno dei quali appartiene a un singolo server definitivo in un dato momento. Se quel fornitore viene tolto dalla rete per qualsiasi motivo, il contenuto a cui puntava diventa inaccessibile. La centralizzazione aumenta questo effetto, creando punti di fallimento singoli e offrendo opportunità comode per la censura.

Come risultato, nell'internet di oggi, la rottura dei link (che è esattamente ciò che sembra, quando un link è rotto o permanentemente non disponibile) è diffusa, la censura a livello di stato è semplice e gli attacchi di negazione del servizio distribuito possono interrompere l'accesso a praticamente qualsiasi file.

In un sistema decentralizzato ideale, la perdita di un operatore non dovrebbe impedire l'accesso ai contenuti memorizzati e serviti in precedenza. Distribuendo le responsabilità su molti nodi di una rete, i sistemi decentralizzati hanno anche una resistenza naturale alla censura e ad altri tentativi di negazione di servizio perché non c'è un obiettivo centralizzato contro cui gli attaccanti possono aggregare risorse.

Un esempio di come i sistemi di storage centralizzati possono essere suscettibili alla censura è quello che è successo quando la Catalogna (una delle 17 comunità autonome della Spagna) ha tenuto un referendum sull'indipendenza. Il governo spagnolo - che si opponeva ai piani di indipendenza - ha bloccato i siti web con informazioni sul voto a livello di ISP. Spezzando questi link critici, il governo ha effettivamente impedito a molte persone di accedere a queste informazioni.

Tuttavia, molti di questi siti web sono stati anche replicati utilizzando il Sistema di File Interplanetario (IPFS), una rete di storage peer-to-peer. Chiunque eseguisse un nodo IPFS poteva scaricare le informazioni censurate da altri nodi sulla rete e iniziare a condividerle. La natura decentralizzata di IPFS ha contrastato i tentativi del governo spagnolo di bloccare l'accesso a questi documenti - non appena un nodo veniva bloccato, un altro poteva facilmente prendere il suo posto. In generale, i sistemi di storage decentralizzati rendono molto più difficile il blocco a livello di rete.

Efficienza

Tutte le architetture dei sistemi di computing hanno alcuni punti di forza e alcuni punti deboli, e non esiste una soluzione unica per tutti i possibili casi d'uso. Purtroppo, l'enfasi del web moderno sulla centralizzazione non è diversa.

Oggi, pochi data center centralizzati in un piccolo numero di città di tutto il mondo memorizzano la maggior parte dei contenuti. Se due utenti sulla stessa rete vogliono inviarsi messaggi, ad esempio, quei messaggi di solito passano prima da uno di quei data center. Se cento utenti sono in una stanza a guardare lo stesso video sui propri dispositivi, ciascuno colpisce un server centrale e scarica cento copie in parallelo, invece di scaricare una singola copia e condividerla sulla rete locale.

In termini più semplici, lo storage decentralizzato rende più facile condividere file senza far saltellare le richieste in tutto l'internet verso pochi data center. Invece, i nodi stabiliscono connessioni tra loro utilizzando il minor numero possibile di intermediari. Collegarsi ai nodi in altri paesi, ad esempio, richiederà comunque diversi salti, ma i nodi sulla stessa rete possono condividere i file direttamente. L'obiettivo finale dei sistemi di storage decentralizzati è quello di avere così tanti nodi che tutti possano trovare peer relativamente locali per le informazioni che stanno cercando.

Le soluzioni di storage decentralizzato possono introdurre nuove efficienze fondamentali in tali attività. Saltando i rari data center, un sistema distribuito può posizionare i nodi molto più vicino ai consumatori finali rispetto anche alle moderne reti di distribuzione dei contenuti, con risultati significativamente più veloci nell'accesso ai file. La condivisione di file peer-to-peer su reti locali può anche risparmiare larghezza di banda preziosa, specialmente in aree con accesso limitato all'ampio internet.

Caratteristiche Desiderabili dello Storage Decentralizzato

Mentre la resilienza e l'efficienza sono i segni distintivi dello storage decentralizzato, ci sono un certo numero di caratteristiche aggiuntive che un sistema di storage ideale potrebbe offrire:

Accessibile

Un sistema distribuito ideale dovrebbe essere accessibile. La partecipazione alla rete dovrebbe essere facile, consentendo a molti nodi quanto possibile di memorizzare e distribuire file per conto della rete.

Se stai leggendo questo e ti chiedi - posso essere un nodo? La risposta è: dipende. 

Con Filecoin, qualsiasi individuo relativamente esperto in tecnologia dovrebbe poter eseguire un nodo client per interagire con la rete. Per quanto riguarda l'esecuzione di nodi di storage miner (vedi qui sotto per ulteriori informazioni), non è qualcosa che tutti possono fare - è necessario avere hardware che soddisfi determinate specifiche.

Nel caso di IPFS, i nodi hanno requisiti hardware inferiori, il che significa che è possibile per un numero maggiore di utenti contribuire alla rete eseguendo un nodo (forse eseguendo un browser web che ne abbia uno incorporato).

Programmabile

I fornitori di servizi cloud hanno reso lo storage economico e affidabile più facile che mai da lavorare. Un aspetto fondamentale del loro successo è la capacità di fornire e gestire lo storage tramite codice tramite API. Qualsiasi sistema concorrente dovrebbe essere in grado di offrire lo stesso livello di comodità.

Indirizzamento dei Contenuti

Come discusso, gli URL incorporano alcuni scambi di design intrinseci. Descrivono la posizione dei dati, anziché il contenuto.

Per spiegare come i sistemi centralizzati possono rendere difficile trovare un pezzo di dati - immaginate che vogliate scaricare una foto di un gattino peloso. Considerate questi due URL:

https://example1.com/cat.jpeg

https://example2.com/cat.jpeg

Ciascuno di questi URL fa riferimento a un file chiamato cat.jpeg, ma non c'è alcuna garanzia che questi due file siano gli stessi. Se example1.com diventa offline, non potete essere sicuri che example2.com abbia ciò che state cercando - il suo cat.jpeg potrebbe essere completamente diverso. Infatti, potrebbe persino essere una foto di un cane! Non c'è alcuna relazione intrinseca tra un URL e il contenuto a cui fa riferimento.

Come risultato, non c'è modo di chiedere all'internet di oggi, "Qualcuno ha questo file?" perché non sapete nulla del file oltre alla sua posizione.

Quando si condividono file utilizzando un URL, le cose possono andare storte. Il server potrebbe iniziare a fornire un file diverso da quell'URL, oppure qualcuno potrebbe eseguire un (sorprendentemente non così raro) attacco man-in-the-middle e alterare il file. È molto difficile verificare che tutti coloro che accedono all'URL ricevano il file che desideravano.

L'indirizzamento dei contenuti, al contrario, trova i file basandosi su identificatori di contenuto (CID), che fungono da impronte digitali dei file. Indirizzare i file in questo modo risolve molti problemi con l'indirizzamento basato sulla posizione. Quando un client desidera un file, anziché chiedere a un server un URL, chiede ai nodi della rete un file con un determinato CID. Una volta che il client scarica il file, lo impronta da solo.

Per tornare al nostro esempio precedente, sarebbe come se tutti i siti web avessero una comprensione condivisa di quale file consegnare quando si chiede cat.jpeg. Quindi, pur non garantendo che qualsiasi nodo abbia quel particolare cat.jpeg, i nodi eseguiranno un controllo dell'impronta digitale di quel file per cercare di trovare una corrispondenza. 

Anche se un passaggio come l'impronta digitale richiede più esperienza tecnica di quanto la persona media vorrebbe affrontare, i client di Filecoin e IPFS possono automatizzare facilmente questo processo. Questo consente al client di garantire che abbia ricevuto il file richiesto - in questo sistema, è banale trovare fornitori alternativi di un dato.

L'aspetto principale: i CID significano che è possibile trovare contenuti altrimenti mancanti in un sistema centralizzato, e i CID possono anche prevenire attacchi man-in-the-middle o un server che cambia improvvisamente un file su un particolare URL.

Senza Fiducia

Un sistema senza fiducia consente la cooperazione tra due parti senza che debbano conoscersi o rivolgersi a un terzo. Piuttosto, gli incentivi del sistema spingono gli attori verso il comportamento necessario affinché la rete funzioni.

Verificabile

Un sistema di storage ideale dovrebbe rendere facile dimostrare continuamente che i nodi stanno memorizzando esattamente i dati promessi. Questo tipo di auditabilità è fondamentale per raggiungere la fiducia. Se è sempre possibile stabilire che i dati vengono memorizzati correttamente, c'è meno bisogno di fidarsi della parte che fornisce lo storage.

Aperto

Infine, un sistema di storage distribuito ideale è aperto: il suo codice è open-source e verificabile. Inoltre, il sistema di storage non dovrebbe essere monolitico. Invece, dovrebbe esporre un protocollo aperto che chiunque possa implementare e sviluppare, anziché incoraggiare il blocco.

Studio di Caso: Come Filecoin Incarna Queste Caratteristiche

Il progetto Filecoin è un sistema di storage decentralizzato progettato per soddisfare queste proprietà. Descritto per la prima volta nel 2014, il protocollo Filecoin è stato sviluppato originariamente come strato di incentivi per il Sistema di File Interplanetario (IPFS), una rete di storage peer-to-peer. Come IPFS, Filecoin è un protocollo aperto e si basa sulle proprietà del suo fratello maggiore, sfruttando le stesse funzionalità sottostanti peer-to-peer e di indirizzamento dei contenuti.

Una rete di nodi Filecoin dà origine a un mercato dello storage decentralizzato per il recupero e lo storage di file. La rete è supportata da una blockchain innovativa che registra i commitment fatti

https://coinmarketcap.com/ac...
Show original content

4 users upvote it!

0 answers