Release of the global decentralized file system IPFS 0.9

The release of the decentralized file system IPFS 0.9 (InterPlanetary File System) has been presented, creating a global versioned storage for files, deployed in the form of a P2P network made up of participating systems. IPFS combines ideas previously implemented in systems like Git, BitTorrent, Kademlia, SFS, and the Web, resembling a single ‘swarm’ of BitTorrent (peers participating in the distribution) exchanging Git objects. IPFS is characterized by content addressing rather than location and arbitrary names. The reference implementation code is written in Go and is distributed under the Apache 2.0 and MIT licenses.

In the new version:

  • Gateways now support uploading arbitrary IPLD graphs (InterPlanetary Linked Data, a namespace for addressing resources based on hashes) via the handler '/api/v0/dag/export', performing functions similar to the 'ipfs dag export' command. Export is done in DAG archive format (Directed Acyclic Graph). The resulting IPLD allows users to verify that the data uploaded from a public gateway corresponds to the requested symbolic name (for example, retrieving the file '/ipfs/bafyexample' allows checking against the content hash originally associated with the symbolic name).
  • The ability to define a custom DNS resolver using the 'DNS over HTTPS' protocol has been provided, which will be used instead of the resolver from the operating system settings. This includes the option to override the resolver for separate domains top-level domains. In DNSLink, a mechanism for linking regular DNS names to IPFS addresses, selective resolver replacement can be applied to create domain names not associated with ICANN; for example, you can connect the resolver 'https://eth.link/dns-query' to handle top-level domains '.eth' that are not officially recognized by ICANN.
  • The web interface (WebUI) has been updated, introducing experimental support for pinning external services (similar to the 'ipfs pin remote service' command). The layout of screens for working with files and peers has been modified.
  • The CLI interface now offers the ability to export keys using the 'ipfs key export' command without stopping the background ipfs process.
  • An experimental DHT client has been added for data retrieval using a distributed hash table, which offers higher performance compared to the IPNS-based solution.
  • Components for migrating to new versions of go-ipfs have been separated into individual packages to speed up downloading and simplify the organization of updates in setups with custom plugins. The update downloading process via IPFS has been automated, and settings have been added to facilitate the application of updates in situations where there is no network connection or firewall blocking.

Recall that in IPFS, the link for accessing a file is directly tied to its content and includes a cryptographic hash of that content. The file address cannot be renamed at will; it can only change if the content changes. Similarly, you cannot modify a file without changing its address (the old version will remain at the previous address, while the new one will be accessible at a different address, as the hash of the file's content will change). Given that the file identifier changes with each modification, services are provided to link permanent addresses that account for different file versions (IPNS) or to anchor a pseudonym similarly to traditional file systems and DNS (MFS (Mutable File System) and DNSLink).

Similar to BitTorrent, data is stored directly on participant systems that exchange information in a P2P manner, without reliance on centralized nodes. When a specific file content is needed, the system locates participants that have the file and retrieves it from their systems in chunks through multiple streams. Once a participant has downloaded the file to their system, they automatically become one of the points from which it can be shared. To identify network participants that have the desired content, a distributed hash table (DHT) is used. To access the global IPFS file system, the HTTP protocol can be utilized, or a virtual file system /ipfs can be mounted using the FUSE module.

IPFS addresses challenges such as storage reliability (if the primary storage goes down, the file can be retrieved from other users' systems), resistance to content censorship (blocking would require shutting down all user systems that have a copy of the data), and enabling access when there is no direct internet connection or poor network quality (data can be retrieved through nearby participants in a local network). In addition to file storage and data sharing, IPFS can serve as a foundation for creating new services, such as websites not tied to servers or distributed applications.

Release of the global decentralized file system IPFS 0.9


Source: opennet.ru
Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster