Rilascio del file system decentralizzato globale IPFS 0.6

pubblicato rilascio di un file system decentralizzato IPFS 0.6 (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. IPFS si distingue per l'indirizzamento in base al contenuto anziché in base alla posizione e ai nomi arbitrari. Il codice di implementazione di riferimento è scritto in Go and distribuito da sotto licenze Apache 2.0 e MIT.

La nuova versione si distingue per l'inclusione del trasporto basato su protocollo per impostazione predefinita QUIC, che è una sovrapposizione sul protocollo UDP che supporta il multiplexing di più connessioni e fornisce metodi di crittografia equivalenti a TLS/SSL. In IPFS, il socket per accettare le connessioni UDP viene avviato automaticamente sullo stesso indirizzo e porta di rete del gestore di trasporto basato su TCP. QUIC viene utilizzato sia per le connessioni in entrata che in uscita e, quando ci si connette a nuovi nodi, se QUIC non è disponibile, torna all'utilizzo di TCP.

La seconda innovazione importante è stata il sostegno al trasporto sicuro RUMORE, basato sul protocollo Rumore e sviluppato all'interno libp2p, uno stack di rete modulare per applicazioni P2P. Dopo la negoziazione iniziale della connessione, tutte le comunicazioni successive tra i partecipanti vengono crittografate e protette da intercettazioni.
Il RUMORE ha sostituito i trasporti SECIO, ma TLS 1.3 continua a essere utilizzato come metodo prioritario per crittografare le connessioni tra i nodi. NOISE è abbastanza semplice da implementare e si posiziona come un trasporto multipiattaforma universale che può essere implementato in vari linguaggi di programmazione.

La nuova versione offre inoltre la possibilità di aggiungere pagine personalizzate "404 Not Found" e aggiunge il supporto opzionale per il metodo di codifica Base36, che è ottimale per dati alfanumerici senza distinzione tra maiuscole e minuscole come i nomi di dominio (utilizzando Base32, le chiavi IPNS Ed25519 sono due byte più grandi limite sulla dimensione di un sottodominio e con Base36 rientrano nel limite). Inoltre è stata aggiunta un'opzione alle impostazioni
«peering“, che definisce un elenco di nodi a cui connettersi, a cui mantenere una connessione e da cui riconnettersi per identificare le connessioni “permanenti” tra peer utilizzati di frequente.

Ricordiamo che in IPFS il collegamento per accedere ad un file è direttamente collegato al suo contenuto e comprende un hash crittografico del contenuto. 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). Per accedere al FS IPFS globale, è possibile utilizzare il protocollo HTTP oppure è possibile montare il FS virtuale /ipfs utilizzando il modulo FUSE.

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). 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.

Rilascio del file system decentralizzato globale IPFS 0.6

Fonte: opennet.ru

Aggiungi un commento