Importante aggiornamento al file system decentralizzato globale IPFS 0.5

Introdotto nuova versione del file system decentralizzato IPFS 0.5 (InterPlanetary File System), che costituisce un archivio di file con versione globale, distribuito sotto forma di una rete P2P formata da sistemi partecipanti. IPFS combina idee precedentemente implementate in sistemi come Git, BitTorrent, Kademlia, SFS e Web e assomiglia a un singolo "sciame" BitTorrent (peer che partecipano alla distribuzione) che scambia oggetti Git. Per accedere al FS IPFS globale, è possibile utilizzare il protocollo HTTP oppure è possibile montare il FS virtuale /ipfs utilizzando il modulo FUSE. Il codice di implementazione di riferimento è scritto in Go and distribuito da sotto licenze Apache 2.0 e MIT. Inoltre si sta sviluppando un'implementazione del protocollo IPFS in JavaScript che può essere eseguito nel browser.

chiave caratteristica IPFS è un indirizzamento basato sul contenuto, in cui il collegamento per accedere a un file è direttamente correlato al suo contenuto (include un hash crittografico del contenuto). IPFS ha il supporto integrato per il controllo delle versioni. L'indirizzo del file non può essere rinominato arbitrariamente; può cambiare solo dopo aver modificato il contenuto. Allo stesso modo, è impossibile apportare modifiche a un file senza cambiare l'indirizzo (la vecchia versione rimarrà allo stesso indirizzo e quella nuova sarà accessibile tramite un indirizzo diverso, poiché cambierà l'hash del contenuto del file). Considerando che l'identificatore del file cambia ad ogni modifica, per non trasferire ogni volta nuovi collegamenti, sono forniti servizi di collegamento di indirizzi permanenti che tengono conto di diverse versioni del file (IPN), oppure assegnando un alias per analogia con i tradizionali FS e DNS (MFS (File system mutabile) e DNSLink).

Per analogia con BitTorrent, i dati vengono archiviati direttamente sui sistemi dei partecipanti che si scambiano informazioni in modalità P2P, senza essere vincolati a nodi centralizzati. Se è necessario ricevere un file con un determinato contenuto, il sistema trova i partecipanti che hanno questo file e lo invia dai loro sistemi in parti in più thread. Dopo aver scaricato il file sul suo sistema, il partecipante diventa automaticamente uno dei punti per la sua distribuzione. Determinare i partecipanti alla rete sui cui nodi è presente il contenuto di interesse usato tabella hash distribuita (DHT).

Importante aggiornamento al file system decentralizzato globale IPFS 0.5

Essenzialmente, IPFS può essere visto come una reincarnazione distribuita del Web, indirizzandosi in base al contenuto piuttosto che alla posizione e ai nomi arbitrari. Oltre all'archiviazione di file e allo scambio di dati, IPFS può essere utilizzato come base per creare nuovi servizi, ad esempio per organizzare il funzionamento di siti non vincolati a server o per creare servizi distribuiti applicazioni.

IPFS aiuta a risolvere problemi come l'affidabilità dell'archiviazione (se l'archiviazione originale non funziona, il file può essere scaricato dai sistemi di altri utenti), la resistenza alla censura dei contenuti (il blocco richiede il blocco di tutti i sistemi utente che dispongono di una copia dei dati) e l'organizzazione dell'accesso in assenza di connessione diretta a Internet o se la qualità del canale di comunicazione è scarsa (è possibile scaricare i dati tramite i partecipanti vicini sulla rete locale).

In versione IPFS 0.5 produttività e affidabilità significativamente aumentate. La rete pubblica basata su IPFS ha superato la soglia dei 100mila nodi e le modifiche apportate a IPFS 0.5 riflettono l'adattamento del protocollo per funzionare in tali condizioni. Le ottimizzazioni si sono concentrate principalmente sul miglioramento dei meccanismi di instradamento dei contenuti responsabili della ricerca, della pubblicità e del recupero dei dati, nonché sul miglioramento dell'efficienza dell'implementazione tabella hash distribuita (DHT), che fornisce informazioni sui nodi che dispongono dei dati richiesti. Il codice relativo al DHT è stato quasi completamente riscritto, velocizzando notevolmente la ricerca dei contenuti e le operazioni di definizione dei record IPNS.

In particolare, la velocità di esecuzione delle operazioni di aggiunta dati è aumentata di 2 volte, annunciando nuovi contenuti alla rete di 2.5 volte,
recupero dei dati da 2 a 5 volte e ricerca del contenuto da 2 a 6 volte.
I meccanismi riprogettati per l'instradamento e l'invio di annunci hanno consentito di accelerare la rete di 2-3 volte grazie a un uso più efficiente della larghezza di banda e della trasmissione del traffico in background. La prossima versione introdurrà il trasporto basato sul protocollo QUIC, che consentirà guadagni di prestazioni ancora maggiori riducendo la latenza.

Il lavoro del sistema IPNS (Inter-Planetary Name System), utilizzato per creare collegamenti permanenti a contenuti mutevoli, è stato accelerato e aumentata l'affidabilità. Il nuovo pubsub di trasporto sperimentale ha permesso di accelerare la consegna dei record IPNS di 30-40 volte durante i test su una rete con mille nodi (ne è stato sviluppato uno speciale per gli esperimenti Simulatore di rete P2P). La produttività degli interstrati è stata circa raddoppiata
Badger, utilizzato per interagire con il sistema operativo FS. Con il supporto per le scritture asincrone, Badger è ora 25 volte più veloce del vecchio livello flatfs. Anche l’aumento della produttività ha influito sul meccanismo Bitswap, utilizzato per trasferire file tra i nodi.

Importante aggiornamento al file system decentralizzato globale IPFS 0.5

Tra i miglioramenti funzionali si segnala l'utilizzo di TLS per crittografare le connessioni tra client e server. Nuovo supporto per i sottodomini nel gateway HTTP: gli sviluppatori possono ospitare applicazioni decentralizzate (dapps) e contenuti web in sottodomini isolati che possono essere utilizzati con indirizzi hash, IPNS, DNSLink, ENS, ecc. È stato aggiunto un nuovo spazio dei nomi /p2p, che contiene i dati relativi agli indirizzi peer (/ipfs/peer_id → /p2p/peer_id). Aggiunto il supporto per i collegamenti ".eth" basati su blockchain, che amplierà l'uso di IPFS nelle applicazioni distribuite.

Parallelamente sta sviluppando il progetto anche la startup Protocol Labs, che sostiene lo sviluppo di IPFS. il FileCode, che è un componente aggiuntivo di IPFS. Mentre IPFS consente ai partecipanti di archiviare, interrogare e trasferire dati tra loro, Filecoin si sta evolvendo come piattaforma basata su blockchain per l'archiviazione persistente. Filecoin consente agli utenti che dispongono di spazio su disco inutilizzato di fornirlo alla rete a pagamento e agli utenti che necessitano di spazio di archiviazione di acquistarlo. Se la necessità di un posto è scomparsa, l'utente può venderlo. In questo modo si forma un mercato per lo spazio di stoccaggio, in cui i pagamenti vengono effettuati in token Filecoin, generato dall'estrazione mineraria.

Fonte: opennet.ru

Aggiungi un commento