Aggiornamento significativo del sistema di archiviazione decentralizzato IPFS 0.5

Presentato nuovo rilascio del file system decentralizzato IPFS 0.5 (InterPlanetary File System), che crea un archivio globale di file versionati, distribuito in una rete P2P composta da sistemi partecipanti. IPFS combina idee già realizzate in sistemi come Git, BitTorrent, Kademlia, SFS e Web, e ricorda un unico è distribuito sciame di BitTorrent (peer coinvolti nella condivisione), che scambiano oggetti Git. Per accedere al sistema globale di IPFS, si può utilizzare il protocollo HTTP o montare un file system virtuale /ipfs tramite il modulo FUSE. Il codice della realizzazione di riferimento è scritto in Go e è in fase di sviluppo la realizzazione del protocollo IPFS in JavaScript, che può funzionare nel browser.

La principale caratteristica di IPFS è l'indirizzamento basato sul contenuto, per cui il link per accedere a un file è direttamente collegato al suo contenuto (incluso l'hash crittografico del contenuto). IPFS ha un supporto integrato per il versionamento. L'indirizzo di un file non può essere rinominato arbitrariamente, può cambiare solo dopo una modifica del contenuto. Analogamente, non è possibile modificare un file senza cambiare l'indirizzo (la versione precedente rimarrà all'indirizzo originale, mentre la nuova sarà accessibile tramite un altro indirizzo, poiché l'hash del contenuto del file cambierà). Dato che l'identificativo di un file cambia ad ogni modifica, per non dover trasmettere ogni volta nuovi collegamenti sono forniti servizi per associare indirizzi permanenti che tengono conto delle diverse versioni del file (IPNS), o per fissare un alias analogamente ai tradizionali FS e DNS (MFS Sistema di File Mutabile (Mutable File System) e DNSLink).

Analogamente a BitTorrent, i dati sono memorizzati direttamente sui sistemi dei partecipanti, che scambiano informazioni in modalità P2P, senza legami a nodi centralizzati. Quando è necessario ottenere un file con un certo contenuto, il sistema trova i partecipanti che possiedono quel file e lo fornisce dai loro sistemi in parti tramite più flussi. Dopo aver caricato il file sul proprio sistema, il partecipante diventa automaticamente uno dei punti per la sua distribuzione. Per identificare i partecipanti della rete sui nodi dei quali è presente il contenuto di interesse viene utilizzato viene utilizzata una tabella hash distribuita (DHT).

Aggiornamento significativo del sistema di archiviazione decentralizzato IPFS 0.5

Fondamentalmente, IPFS può essere visto come una reincarnazione distribuita del Web con indirizzamento basato sul contenuto, piuttosto che sul posizionamento e su nomi arbitrari. Oltre a memorizzare file e scambiare dati, IPFS può essere utilizzato come base per la creazione di nuovi servizi, ad esempio per l'organizzazione di siti non vincolati a server, o per la creazione di sistemi distribuiti. di applicazioni.

IPFS aiuta a risolvere questioni come l'affidabilità dello storage (se il sistema di origine va offline, il file può essere scaricato da altri utenti), la lotta alla censura dei contenuti (per bloccare è necessario disabilitare tutti i sistemi degli utenti che hanno una copia dei dati) e l'organizzazione dell'accesso in assenza di una connessione diretta a Internet o in caso di scarsa qualità della connessione (è possibile scaricare i dati tramite i partecipanti più vicini nella rete locale).

Nella versione IPFS 0.5 è stata significativamente aumentata la performance e l'affidabilità operativa. La rete pubblica basata su IPFS ha superato la soglia di 100.000 nodi e le modifiche in IPFS 0.5 riflettono l'adattamento del protocollo per operare in queste condizioni. Le ottimizzazioni sono state principalmente concentrate sul miglioramento dei meccanismi di instradamento dei contenuti, responsabili della ricerca, annuncio e recupero dei dati, nonché sul miglioramento dell'efficienza di implementazione. tabella hash distribuita (DHT), che fornisce informazioni sui nodi che possiedono i dati ricercati. Il codice associato al DHT è stato praticamente riscritto, il che ha notevolmente accelerato le operazioni di ricerca dei contenuti e di determinazione delle registrazioni IPNS.

In particolare, la velocità delle operazioni di aggiunta dei dati è aumentata di 2 volte, quella di annuncio di nuovi contenuti in rete di 2,5 volte,
quella di estrazione dei dati da 2 a 5 volte, e quella di ricerca dei contenuti da 2 a 6 volte.
I meccanismi riprogettati di instradamento e di invio degli annunci hanno permesso di accelerare il funzionamento della rete di 2-3 volte grazie a un utilizzo più efficiente della banda disponibile e del traffico in background. Nella prossima versione è previsto l'implementazione del trasporto basato sul protocollo QUIC, il che consentirà di ottenere ulteriori miglioramenti delle prestazioni riducendo le latenze.

È stato accelerato il funzionamento e aumentata l'affidabilità del sistema IPNS (Inter-Planetary Name System), utilizzato per creare link permanenti a contenuti in cambiamento. Il nuovo trasporto sperimentale pubsub ha permesso di accelerare la consegna delle registrazioni IPNS da 30 a 40 volte durante i test in una rete con mille nodi (per gli esperimenti è stato sviluppato un apposito simulatore di rete P2P). È stata quasi raddoppiata la performance del layer.
Badger, utilizzato per interagire con il FS del sistema operativo. Grazie al supporto per le operazioni di scrittura asincrona, Badger ora funziona 25 volte più velocemente della vecchia interfaccia flatfs. L'aumento delle prestazioni ha anche riguardato il meccanismo Bitswap, utilizzato per il trasferimento di file tra nodi.

Aggiornamento significativo del sistema di archiviazione decentralizzato IPFS 0.5

Tra i miglioramenti funzionali si menziona l'implementazione di TLS per la crittografia delle connessioni tra clienti e server. È stata introdotta la 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, dove sono stati spostati i dati relativi agli indirizzi dei peer (/ipfs/peer_id → /p2p/peer_id). È stata aggiunta la supporto per collegamenti «.eth» basati su blockchain, il che espanderà l'applicazione di IPFS nelle applicazioni distribuite.

Il startup Protocol Labs, che supporta lo sviluppo di IPFS, sta anche sviluppando parallelamente il progetto FileCoin, che è un'estensione di IPFS. Se IPFS consente ai partecipanti di salvare, richiedere e trasferire dati tra di loro, Filecoin si evolve come una piattaforma basata su tecnologie blockchain per lo storage permanente. Filecoin consente agli utenti che hanno spazio su disco inutilizzato di metterlo a disposizione della rete per un certo compenso, e agli utenti che necessitano di spazio di acquistarlo. Se l'esigenza di spazio scompare, l'utente può rivenderlo. In questo modo si forma un mercato per lo spazio di archiviazione, i pagamenti avvengono in token Filecoin, generati tramite mining.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster