Read
Edit
History
Notify
Share
InterPlanetary File System (IPFS)
InterPlanetary File System (IPFS) is a decentralized, peer-to-peer network protocol designed to create a more resilient and distributed approach to file storage and sharing. [1] [2]
History
Developed by Juan Benet and initially introduced in 2014, IPFS aims to address issues associated with traditional, centralized file systems by providing a protocol that is content-addressable, versioned, and cryptographically secure. [3]
IPFS was launched in an alpha version in February 2015, and by October of the same year was described by TechCrunch as "quickly spreading by word of mouth." Network service provider Cloudflare started using IPFS in 2018 and launched its gateway in the system in 2022. In March 2020, the Opera browser provided access to the centralized resources of the Unstoppable Domains provider by hosting content in IPFS. [4]
Overview
IPFS operates similarly to BitTorrent, enabling users to host and access content in a decentralized manner. Unlike traditional server-based systems, IPFS relies on a distributed network of user operators, each holding a segment of the overall data. This decentralized approach enhances resilience in file storage and sharing. [5]
In the IPFS network, any user can serve a file based on its content address, allowing peers to locate and request content from nodes using a distributed hash table (DHT). Files are stored across multiple nodes, identified by a content identifier (CID) rather than a physical location. The CID, containing the file's hash, ensures uniqueness and facilitates content retrieval. [1][5]
Hash computation guarantees uniqueness based on content, even when files have different names. IPFS relies on a community of volunteers to maintain nodes, ensuring data availability in case of temporary or permanent node outages. [1]
Once added to IPFS, files are immutable but can be updated by creating new objects linked to previous versions, effectively establishing a versioning system within IPFS. [1][3]
Technology
Content Addressing
IPFS uses content addressing, where files are identified by a unique hash derived from their content. This ensures that the content's integrity can be verified, and identical files are stored only once, reducing redundancy. [5]
Decentralization
Unlike traditional client-server models, IPFS operates as a decentralized network of nodes. Each node stores a portion of the overall content, and files are distributed across multiple nodes. This decentralization enhances resilience and availability. [3][5]
Distributed File System
IPFS creates a distributed file system where users can access and share files seamlessly. Content is not hosted on a single server but is distributed across the network, allowing for faster and more reliable file retrieval. [5]
MerkleDag
IPFS organizes files into a MerkleDag (Merkle Directed Acyclic Graph), a data structure that facilitates efficient and secure linking of content. Changes to a file result in a new MerkleDag, ensuring versioning and traceability. [5]
IPNS (InterPlanetary Name System)
IPNS provides a human-readable, mutable naming system on top of IPFS. It enables users to create references to content that can be updated, allowing for the creation of persistent, shareable links. [5]
How Data Is Stored
Data is stored in chunks of 256 KB, called IPFS objects. Files larger than that are split into as many IPFS objects as it takes to accommodate the file. One IPFS object per file contains links to all of the other IPFS objects that make up that file. [1]
When a file is added to the IPFS network it is given a unique, 24-character hash ID, called the content ID, or CID. That’s how it is identified and referenced within the IPFS network. Recalculating the hash when the file is retrieved verifies the integrity of the file. If the check fails, the file has been modified. When files are legitimately updated, IPFS handles the versioning of files. [1][3]
IPFS and Blockchains
IPFS and blockchains complement each other well, forming what Juan Benet, IPFS's creator, refers to as a "great marriage." Both IPFS and blockchains are part of Protocol Labs, founded by Benet. IPLD (Inter-Planetary Linked Data), a Protocol Labs project closely related to IPFS, serves as a data model for distributed structures like blockchains. This model facilitates efficient storage and access of blockchain data through IPFS. Users choosing to store IPFS data receive rewards in the form of Filecoin. IPLD enables seamless interaction with various blockchains and has integration with Ethereum and Bitcoin. [5]
"IPFS connects all these different blockchains in a way that’s similar to how the web connects all these websites together. The same way that you can drop a link on one page that links to another page, you can drop a link in ethereum [for example] that links to zcash and IPFS can resolve all of that" — Juan Benet
Use Cases
Decentralized Web
IPFS contributes to the vision of a decentralized web by providing a foundation for building applications that are not reliant on central servers. This can enhance the resilience and censorship resistance of web content. [6]
Content Distribution
IPFS is utilized for efficient and decentralized content distribution. Distributing content across a network of nodes reduces the reliance on centralized servers, making it an attractive solution for sharing large datasets or multimedia files. [6]
Blockchain and Cryptocurrencies
IPFS is often integrated with blockchain technologies to store and retrieve data efficiently. Some blockchain projects use IPFS for decentralized storage of transaction data, ensuring data integrity and availability. [3]
For example, IQ.wiki, the largest blockchain and cryptocurrency encyclopedia, records every edit with a hash on Polygon, and the data is stored on IPFS. [3]
NFTs
IPFS can be utilized in the context of NFTs (Non-Fungible Tokens) for decentralized and distributed storage of associated media and metadata. Instead of relying on a centralized server for hosting NFT content, IPFS offers a decentralized alternative, enhancing accessibility and censorship resistance. It provides permanent links to associated media and metadata and contributes to a more resilient and censorship-resistant infrastructure for the NFT ecosystem. [5][1]
InterPlanetary File System (IPFS)
Feedback
Did you find this article interesting?
Twitter Timeline
Loading
Media
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]