The InterPlanetary File System (IPFS) is a communication protocol that facilitates data storage that uses content identification through content addressing. What does content addressing mean in terms of content distribution?
Imagine a scenario where you’re replying to an email and need to attach a word document. In your email client, attaching this document to the email is fairly straightforward. But now imagine that you want to share this same word document in a reply on Twitter. To share it this way, you’ll need to upload it to a file-sharing platform that can provide a sharing link. For others to view the word document, you’ll need to configure access for specific users through their email. If you intend to share this document with everyone who sees the post on Twitter, you’ll have to add each user’s email address manually every time someone wants to view the document.
This process can be complicated and prevent users from sharing files other than things like JPEG images that can be easily attached to posts on social media or similar types of websites. It doesn’t include the distribution of more complex files and libraries, like software packages, virtual games, or the source code of websites. What if you want to share this content with an easy link that doesn’t require authentication to download the files?
The method described above showcases the problems of content distribution that currently uses location addressing. Location addressing is used by protocols like HTTP/HTTPS, and refers to retrieving stored documents or files based on their location on a web server. Locations are typically referred to using the file’s URL, which follows a format similar to:
In comparison, IPFS uses content addressing. Each file uploaded to IPFS is given a unique content identifier that is generated using the file or folder’s cryptographic hash value. Additionally, every file or folder uploaded to IPFS is publicly accessible using this CID. This means that any file can be shared using the CID and an IPFS gateway URL, without having to maintain sharing permissions.
The best part? IPFS links never change or expire if the file is pinned to the IPFS network.
Want to learn more about IPFS pinning’s importance, and Filebase’s geo-redundant IPFS pinning service? Check out this blog post.
Typically, URLs will change or expire when the location of the file changes on the web server that’s hosting it. A single change in the URL can make the link break, resulting in a short longevity for content to be accessed through location addressing methods. IPFS CIDs will never change - any change to a file requires that the file be re-uploaded to IPFS and it will be given an entirely new, unique CID. Through this workflow, you can share anything Twitter simply by inserting the IPFS gateway and CID into the post.
How can IPFS be used for distributing different types of content?
IPFS is a great method of distributing written content, such as blog posts or documentation. IPFS can be used to host static blog websites, simply by uploading the blog’s HTML files as a folder to IPFS. The IPFS CID of the folder can be accessed through an IPFS gateway which will then display the website without any additional configuration or setup. This is a good solution for users who want to jump start their Web3 blog, especially since it showcases using the IPFS decentralized storage technology.
Written content can also be minted as an NFT. When an NFT is minted onto a network, the NFT’s assets must be stored somewhere. IPFS is a popular solution for this, since CIDs do not expire and are publicly accessible. Pieces of writing can be stored on IPFS, then referred to in an NFT smart contract to be minted on a blockchain network.
NFTs are one of the most popular uses of IPFS, since NFT collections benefit from storing assets off-chain on platforms like IPFS. Storing hundreds of thousands of image files and their associated metadata JSON files on-chain is expensive and inefficient. For a seamless solution that uses Web3 technologies, IPFS is often the answer. To avoid rug pulls of collections, though, assets must be pinned on IPFS to prevent them from being removed during the automatic IPFS garbage collection process.
Distributing software packages using IPFS is relatively new but groundbreaking application of IPFS. One platform that is doing an incredible job of facilitating software and game deployment and distribution is Valist. Apps can be published on Valist without paying gas or distribution fees, and all monetization for software is done through Software License NFTs deployed on the Polygon network. Each piece of software uploaded to Valist is automatically pinned to Filebase on the backend, resulting in geo-redundant and reliable software distribution and storage.
Want to get started using IPFS to distribute content yourself?
You can sign up for a free Filebase account to get started with your IPFS journey today.