If you’ve been in crypto for a while, or even if you just got into this decentralized world, you’ve probably seen some web pages marked with “IPFS.” But just because you see IPFS and crypto together doesn’t mean that they are related — IPFS actually has nothing to do with cryptocurrencies, tokens or blockchain directly. It just so happens the reasons behind the creation of crypto have a lot of similarities with the reasons behind the creation of IPFS.
Let’s take a step back and look at what exactly IPFS is.
IPFS, short for the InterPlanetary File System, is a distributed and decentralized network for storing, accessing and sharing files, websites, applications and data.
These two key words — distributed and decentralized — might remind you of blockchain (and they should!) but as we wrote above, IPFS is actually a separate beast entirely. While blockchain is also a distributed and decentralized protocol, IPFS has much broader goals. You can see it in the name itself — its founders wanted to create a truly decentralized system that could work cross places as disconnected or as far apart as planets.
IPFS was invented by computer engineer Juan Benet to make the web faster, safer and more open back in 2015. Benet is also the CEO and founder of R&D lab, Protocol Labs which developed IPFS and cryptocurrency Filecoin
, a blockchain-based
and data retrieval method. More about this later.
To put it simply, IPFS’s ambitious aims are to re-decentralize the web while safeguarding our data and improving utility applications.
Join us in showcasing the cryptocurrency revolution, one newsletter at a time. Subscribe now to get daily news and market updates right to your inbox, along with our millions of other subscribers (that’s right, millions love us!) — what are you waiting for?
Think of a library, where you find a book based on a specific location determined by a code the librarian can identify quickly. With the internet, you can do something similar — type in any search term to Wikipedia, and voila, you suddenly have a page of information at the ready all about, say, Agatha Christie. In order to get you that information about Britain’s greatest female detective writer, your computer has to ask one of Wikipedia’s computers to get that page ready for you.
With IPFS (and yes, Wikipedia has its pages mirrored on IPFS), you will still find the same page of information about Ms. Christie — but the page is found not by its location, but by its content, found by asking many computers, all over the world (or the planet) through IPFS.
One of the crucial differences between the centralized and the decentralized web is how we identify and retrieve data — by location, or by content. The centralized web relies on trustworthy authorities to host our data and uses location-based URLs to access it.
The Uniform Resource Locator (URL) is the web address we type into our browser that identifies and picks up the location of the page we are searching.
With IPFS, the onus is on the content to help you find your search — this is called content-addressing.
IPFS searches for our information based on content rather than location.
Instead of a centrally located server, IPFS is built around a peer-to-peer (p2p)
decentralized system that allows users to host and receive content, similar to BitTorrent. Your computer uses IPFS to find files that hosted by by other computers, and your computer helps distribute files in turn.
users can store and retrieve content based on a “fingerprint” of the content itself
An IPFS fingerprint is a cryptographic hash called a “content identifier,” a CID.
In simple terms, when you are searching for something specific with IPFS, you are asking the IPFS network to find a particular hash, instead of a particular IP address.
In more complex terms, IPFS is a layer on top of data storage where anyone can ask for a CID and get the relevant content back, uniquely corresponding to that CID as long as someone is broadcasting it to the network.
On a decentralized and distributed web, we can all host each other's data through this content “fingerprinting” method that relies on cryptographic hashing for security.
While the internet is decentralized by nature as it’s not owned by anyone or any company, it relies on centralized servers to function.
These servers use, for the most part, Internet Protocol Suites with different functions — one that you will recognize is HTTP
(Hypertext Transfer Protocol) which handles communication.
With the internet, data is stored in these decentralized servers and found by location, which makes it easy to distribute, manage, secure the data and scale the capacity of both servers and clients.
How is IPFS different from HTTP?
As you know if you study crypto, centralized servers create a single point of failure — they can be easier target for hacks, compromising security and privacy.
IPFS was created to tackle these issues, making the web more secure, efficient, and private.
Another word you will hear often is “scalability” — IPFS aims to create a more scalable system than HTTP, allowing for large transfers of data (like movies and songs) through a P2P system (remind anyone of Torrent?).
In short, the answer is no. IPFS is often associated with blockchain because of its decentralized and distributed nature. It also shares some of the technology employed by blockchain, like Merkle Trees
However, they are not the same, since their scope is different.
With blockchain, nodes on the network share a ledger and hash transactions. With IPFS, the P2P file-sharing system will hash files (not transactions) to allow users to search for files based on those hashes. Similarly to blockchain hashes, with IPFS, if you modify a file, the file is not altered, but a new one is created, which is excellent for keeping a permanent record of changes.
Blockchain and IPFS are certainly suited to work together, though. With IPFS, you can store files with huge amounts of data. With blockchain, hashes have very limited storage capacity. So why not use the best of both protocols — using IPFS’s public database, and using blockchain to make it publicly verifiable.
From delivering content to websites, globally storing files and facilitating secure file sharing and encrypted communication, IPFS offers the opportunity to do several big things with data.
With blockchain technology, IPFS can be used as a complementary file system for public networks and other P2P applications.
IPFS could significantly improve Ethereum
’s scalability for decentralized applications (DApps)
. Its interoperability with Ethereum’s smart contracts
can add secure and cost-efficient storage capacity to the cryptocurrency’s ecosystem.
IPFS and FileCoin (the decentralized storage we mentioned earlier method) incentivize data storage and can play a tremendous role in developing NFTs
as immutable records. Simply placing an IPFS CID in an NFT, that NFT will directly identify and reference the data much better than with an insecure HTTP link. Did you get all that?
Today, IPFS is regarded as one of the most secure options for storing digital assets like NFTs because the CID data hashes will be stored only on your computer. And when the data is required from the IPFS, the nodes look for the same hash within the digital asset and the local data store.
We already spoke about the issues with a single point of failure on a centralized server — IPFS aims to create a more secure alternative.
We’ve highlighted that IPFS is a P2P protocol for storing and sharing content where users run their node (server). If you don’t want to get too technical, the best way to think about IPFS nodes is that they can communicate between each other and exchange files. Simple.
This next explanation is for the more advanced users.
IPFS nodes use distributed hash tables (DHT)
, a decentralized storage system that provides lookup and storage for mapping keys to values. Each node in a DHT is responsible for keys and mapped values and can efficiently retrieve the value associated with a given key.
DHT offers an easy way to find information in an extensive data collection, because all keys are organized in a consistent format. Moreover, the entire set of keys can be subdivided and distributed in a way that allows identifying where the key/value pair is located quickly. Think of it as a massive table that stores who has what data.
IPFS represents a great way to improve the internet’s decentralization and data finding. However, it comes with its own challenges.
The biggest challenge is that IPFS needs to compete with Web2.0 applications that are widely adopted,
While the distributed and decentralized system makes IPFS better from a security and privacy standpoint, it is more burdensome to update since changes cannot be performed internally. Upgrades must be completed through regular and systematic releases of new versions.
Another relevant challenge is the availability of files. In centralized servers, files are maintained and controlled by one party incentivized to keep the server constantly up and running. IPFS heavily relies on data files that are provided by separate nodes, and if these nodes are offline for any reason, these files won’t be available.
However, solutions are already beginning to emerge. In IPFS, with increased node participation, the content can be delivered from the nearest peer node that has a copy of that content, thereby removing the pressure of a single node and improving the user experience. Like cryptocurrency, IPFS will develop and thrive in accordance with the growth of its users.
IPFS is still quite new.
While its goals are lofty — providing an alternative to the current internet, making data more easily findable across the world (and planets) — the growing interest in decentralization and privacy, as well as the increasing size of data that needs to be stored online, means that IPFS’ use cases could continue to grow in the future.
This article contains links to third-party websites or other content for information purposes only (“Third-Party Sites”). The Third-Party Sites are not under the control of CoinMarketCap, and CoinMarketCap is not responsible for the content of any Third-Party Site, including without limitation any link contained in a Third-Party Site, or any changes or updates to a Third-Party Site. CoinMarketCap is providing these links to you only as a convenience, and the inclusion of any link does not imply endorsement, approval or recommendation by CoinMarketCap of the site or any association with its operators.
This article is intended to be used and must be used for informational purposes only. It is important to do your own research and analysis before making any material decisions related to any of the products or services described. This article is not intended as, and shall not be construed as, financial advice.
The views and opinions expressed in this article are the author’s [company’s] own and do not necessarily reflect those of CoinMarketCap.
CoinMarketCap is not responsible for the success or authenticity of any project, we aim to act as a neutral informational resource for end-users.