Interplanetary File System (IPFS)

What Does Interplanetary File System Mean?

The Interplanetary File System (IPFS) is an open-source storage protocol for peer-to-peer (P2P) networks. According to the official website, the label IPFS can also be used to refer to an implementation of the IPFS protocol.

Advertisements

IPFS networks can be accessed through an IPFS client, command line tool, or IPFS gateway that acts an an intermediary between the internet and the IPFS network.

IPFS was released in 2015 by Protocol Labs, a research, development, and deployment lab that specializes in Web3 network protocols.

Techopedia Explains IPFS

The Interplanetary File System was originally intended to be a hypermedia protocol for text, image, audio, and interactive web content, and it was initially promoted as being a resilient and decentralized alternative to the HTTP and HTTPS protocols.

Today, IPFS networks are often used to store data off-chain for decentralized applications (dApps) and Ethereum smart contracts when it is not cost-effective or practical to store large amounts of data directly on a blockchain.

In this use case, IPFS hashes prove the validity and integrity of storage objects on a blockchain, while the content itself is stored on IPFS network nodes to reduce transaction fees and prevent blockchain bloating.

How the IPFS Protocol Works

IPFS storage objects are uniquely identified by a cryptographic hash that is derived from an object’s content.

Data stored on an IPFS network is broken down into one or more storage objects that can contain a data payload of up to 256 KB. Each object is cryptographically hashed and given a unique content identifier (CID). The CID acts as a permanent record of the content as it existed at that point in time.

Here is an example of what an IPFS unique content identifier might look like:
QmRd5qb1Q5KUGZC7X5R2q5b1s8nJJ17HYFojqwPv9Cd7wB

When a network node wants to access the content, it uses the CID to query the network and a Distributed Hash Table (DHT) to locate a peer that has a copy of the content.

Once the requesting node views or downloads the content, it can either pin the content and store it locally – or clear it from the cache to save space. Pinning ensures that the content will be available, even if the original provider goes offline.

IPFS objects can contain links to other objects. For example, an extremely large data file that’s bigger than 256KB could be split across multiple objects, and one “parent” object might link to all the “child” objects that collectively represent the entire file. This flexibility allows objects to store simple data structures, such as files or directories, as well as complex data structures in a Merkle DAG (Directed Acyclic Graph) format.

If the content in the file changes, the corresponding content-addressable object will be assigned a new CID. Because changes do not overwrite the original content, version control is built in, and data stored on an IPFS network is resistant to tampering and censorship.

Interplanetary Naming System

IPNS can be thought of as a Domain Name System (DNS) for the Interplanetary File System. Both IPNS and DNS allow content publishers to associate a specific content-addressable hash with a human-readable IPNS name.

An important difference, however, is that, unlike a DNS name, an IPNS name will always resolve to the latest version of the content.

IPFS Software Clients

IPFS network access requires a special software client, gateway or CLI tool. Popular ways to post and access content on in IPFS network include:

Advantages of IPFS

IPFS nodes automatically cache recently accessed content to optimize content retrieval speed and reduce the reliance on internet access for frequently accessed content. The redundancy that caching provides helps ensure that even if some IPFS nodes go offline or can’t be reached, chances are good that the content can still be accessed through other nodes.

Another important advantage is that IPFS clients and nodes dynamically select the most appropriate transport layer protocol to access the content based on current network conditions or user preferences.

The dynamic selection of transport protocols helps ensure continuous content availability. If one protocol is blocked, another supported protocol can be used to access the content.

Challenges

While IPFS does offer redundancy and content addressing mechanisms that enhance content availability, the protocol does not guarantee that content will always be accessible – or how long it will be stored on the network.

That’s because content availability on an IPFS network is subject to network node caching policies. Content may eventually be evicted from nodes if it is not frequently accessed, and in the event that all nodes delete a specific piece of content to make room for new content, there may not be a way to retrieve the content later on.

Ironically, another challenge has to do with one of IPFS’ greatest strengths – decentralization.

Traditional web hosting technologies are responsible for moderating phishing webpages stored on their platforms, but content stored within the IPFS network is distributed across multiple network nodes, and no one is responsible for moderating it.

While IPFS itself is a neutral technology with legitimate use cases, the decentralized and censorship-resistant nature of the network has attracted bad actors who are using IPFS networks to host phishing websites and distribute malicious content anonymously.

There is no central authority that law enforcement or security vendors can contact to take down malicious content that’s hosted on an Interplanetary File System network, and because content on an IPFS does not have a static IP address, it cannot be blocked using standard IP address blocking or blacklist mechanisms.

How the Interplanetary File System Got Its Name

The Interplanetary File System (IPFS) got its name from creator Juan Benet’s original idea to create a distributed and versioned file system for scientific data that could work in outer space.

To that end, U.S. defense contractor Lockheed Martin and the cryptocurrency project Filecoin have been collaborating on an open-source space communications and collaboration platform based on IPFS.

To achieve this objective, Lockheed intends to deploy IPFS nodes into space in 2023 to assess the viability of using blockchain technology to safeguard satellite transmissions and enhance inter-satellite communication security.

Advertisements

Related Questions

Related Terms

Margaret Rouse

Margaret Rouse is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical, business audience. Over the past twenty years her explanations have appeared on TechTarget websites and she's been cited as an authority in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine and Discovery Magazine.Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages. If you have a suggestion for a new definition or how to improve a technical explanation, please email Margaret or contact her…