Significant update to the global decentralized file system IPFS 0.5

Submitted by new release of decentralized file system IPFS 0.5 (InterPlanetary File System), which forms a global versioned file storage, deployed in the form of a P2P network formed from member systems. IPFS combines ideas previously implemented in systems such as Git, BitTorrent, Kademlia, SFS, and the Web, and resembles a single BitTorrent "swarm" (peers participating in the distribution) exchanging Git objects. To access the global FS IPFS, the HTTP protocol can be used or the virtual FS /ipfs can be mounted using the FUSE module. The reference implementation code is written in Go and spreads under Apache 2.0 and MIT licenses. Additionally develops a JavaScript implementation of the IPFS protocol that can run in a browser.

Key feature IPFS is content-based addressing, where a link to access a file is directly linked to its content (includes a cryptographic hash of the content). IPFS has built-in support for versioning. The file address cannot be arbitrarily renamed, it can only change after the content has changed. Similarly, it is impossible to make a change to a file without changing the address (the old version will remain at the same address, and the new one will be available through a different address, since the hash of the file contents will change). Given that the file identifier changes with each change, in order not to transfer new links each time, services are provided to bind permanent addresses that take into account different versions of the file (IPNS), or pinning an alias by analogy with traditional FS and DNS (MFS (Mutable File System) and DNSLink).

By analogy with BitTorrent, data is directly stored on the systems of participants who exchange information in P2P mode, without being tied to centralized nodes. If it is necessary to receive a file with certain content, the system finds participants who have this file and sends it with their systems in parts to several streams. After uploading the file to their system, the participant automatically becomes one of the points for its distribution. To identify network members on whose nodes the content of interest is present used distributed hash table (DHT).

Significant update to the global decentralized file system IPFS 0.5

Essentially, IPFS can be thought of as a distributed reincarnation of the Web, addressing by content rather than location and arbitrary names. In addition to storing files and exchanging data, IPFS can be used as a basis for creating new services, for example, for organizing the operation of sites that are not tied to servers, or for creating distributed Applications.

IPFS helps to solve such problems as storage reliability (if the original storage is disabled, the file can be downloaded from the systems of other users), content censorship resistance (for blocking it will be necessary to block all user systems that have a copy of the data) and organization of access in the absence of direct connection to the Internet or when the quality of the communication channel is poor (you can download data through the nearest participants in the local network).

Version IPFS 0.5 significantly improved performance and reliability. The IPFS-based public network has crossed the 100 node mark, and the changes in IPFS 0.5 reflect the protocol's adaptation to work in such conditions. The optimizations were mainly focused on improving the content routing mechanisms responsible for searching, announcing and retrieving data, as well as improving the efficiency of implementation. distributed hash table (DHT), which provides information about the nodes that have the desired data. The DHT-related code has been almost completely rewritten, significantly speeding up content discovery and IPNS record discovery.

In particular, the speed of data addition operations has increased by 2 times, the announcement of new content to the network by 2.5 times,
data extraction from 2 to 5 times, and content search from 2 to 6 times.
The redesigned mechanisms for routing and sending announcements made it possible to speed up the network by 2-3 times due to more efficient use of bandwidth and background traffic. The next release is scheduled to introduce transport based on the QUIC protocol, which will achieve even greater performance gains by reducing latency.

Speed ​​up and improve the reliability of the IPNS (Inter-Planetary Name System) system used to create permanent links to changing content. The new experimental pubsub transport made it possible to speed up the delivery of IPNS records by 30-40 times when tested in a network with a thousand nodes (a special P2P network simulator). Approximately twice the productivity of the interlayer
Badger, used to interact with the FS of the operating system. With support for asynchronous write operations, Badger is now 25 times faster than the old flatfs layer. The performance improvement also affected the mechanism bitswapThe used to transfer files between hosts.

Significant update to the global decentralized file system IPFS 0.5

Of the functional improvements, the use of TLS to encrypt connections between clients and servers is mentioned. Added support for subdomains in the HTTP gateway - developers can host decentralized applications (dapps) and web content in isolated subdomains that can be used with hash addresses, IPNS, DNSLink, ENS, etc. A new namespace /p2p has been added, which contains data related to peer addresses (/ipfs/peer_id β†’ /p2p/peer_id). Support for blockchain-based ".eth" links has been added, which will expand the use of IPFS in distributed applications.

IPFS-supporting startup Protocol Labs is also developing the project in parallel FileCoin, which is an add-on for IPFS. If IPFS allows participants to store, request and transfer data between themselves, then Filecoin is developing as a blockchain-based platform for persistent storage. Filecoin allows users who have unused disk space to provide it to the network for a fee, and users who need storage space can buy it. If the need for a place has disappeared, the user can sell it. Thus, a market for space in the storage is formed, the calculations in which are made in tokens. Filecoingenerated by mining.

Source: opennet.ru

Add a comment