Back to blog

Who controls IPFS?

Who controls IPFS?

Justin Hunter

The Interplanetary File System (IPFS) is a revolutionary protocol designed to make storing and retrieving files more efficient and cost effective. Yet, most of the world (especially the engineering world) thinks about file storage in terms of the centralized storage location where the files will reside. This is how the web was built. Access to files on the web meant storing the files with a single entity and requesting the files from that entity. 

That model has been entirely redesigned by the IPFS protocol. But who actually controls IPFS and the files made available on its network?

How is IPFS different from blockchain

There are many similarities between IPFS and blockchains. IPFS is made up of a network of computers that all speak to each other, just like a blockchain. Anyone can run an IPFS “node” (a computer in the network), just like a blockchain. And anyone can make requests to an IPFS node without permission, just like a blockchain. 

However, that’s where the similarities end. Blockchains generally store every bit of data on every single node in the network. With IPFS, files are stored on whichever node chooses to store them. Individuals and companies (often referred to as pinning services) control which files are stored on which IPFS storage nodes. Operators of blockchain nodes are often also “miners”, meaning that they either stake cryptocurrency and are rewarded for operating their node or they solve cryptographic puzzles with their computers and are rewarded in cryptocurrency. IPFS has no such reward mechanism. IPFS, like many of the original internet protocols, operates as a public good with the option to build businesses around making operation of these nodes convenient. And maybe most importantly, data can be removed from IPFS whereas data cannot be removed from a blockchain. 

Is IPFS really decentralized?

Decentralization is a spectrum worth examining. The internet is decentralized, but to what degree? Can the internet be stopped? Yes, we’ve seen countries block access to the internet and even form their own versions of censored internets. That doesn’t mean that the underlying technology is not decentralized. Blockchains are decentralized when enough participants exist to ensure that it remains decentralized. But should the participant count ever drop to an unsatisfactory level, many may not consider the blockchain decentralized. 

IPFS shares similarities to the decentralization of the internet and the decentralization of blockchains. Individuals have the power to run their own nodes, further decentralizing the network. Companies have the ability to run their own nodes which both decentralizes the network and creates an economic incentive to run these nodes. 

The power of IPFS’s decentralized DNA comes from the permissionless nature of the protocol itself. Without a single approval, anyone in the world can download the required software onto just about any computer and start running an IPFS node. As long as they run that node, they are participating in the decentralization of the network. When you don’t require another party’s sign off to do something, you are experiencing true decentralization. 

How does an IPFS gateway work?

One of the more confusing aspects of IPFS when it comes to decentralization is the IPFS gateway. IPFS, the protocol, does not rely on HTTP (the original data transfer layer of the internet). Instead, it relies on peer-to-peer broadcasting and retrieval of content. At the same time, it’s unreasonable to expect the rest of the web to catch up to these changes quickly. Because of this, IPFS storage nodes and operators of those nodes can also run IPFS gateways. 

An IPFS gateway is an HTTP-compliant interface to an IPFS storage node and the IPFS network. It exposes the peer-to-peer layer in a way the traditional web understands. This provides a level of familiarity and convenience, but it comes at a slight cost to decentralization. Unlike the core IPFS network, IPFS gateways are not decentralized. They are run by individuals and organizations, and when made accessible to the public, these gateways are entirely under the control of those parties. 

A gateway, at its core, is a relay network. It takes a traditional HTTP web request and relays it to an IPFS node running on the network. That node then makes a peer-to-peer connection request for the content being requested. If found, the peer-to-peer network returns the content. Then, the node relays that content back to the gateway so the requestor can access it. 

The convenience of an IPFS gateway should not be ignored. The web runs on HTTP. IPFS gateways, like the concept of an actual gateway, provide a path between one world and another. An IPFS gateway can be accessed through a normal web URL. You can assign custom domains to an IPFS gateway. You get all of the convenience of the web most people know while still being exposed to the peer-to-peer network of IPFS. 

Pinata operates as a pinning service (as referenced above), but we also provide IPFS gateways to customers who want incredibly fast access to content on the IPFS network. These gateways are ideal for developers looking to power web-scale applications that make use of decentralized storage technology. 

Conclusion

The IPFS network is not controlled by any one entity. Anyone in the world can contribute to it through code or by running a node. Unlike traditional storage on the web, storage on IPFS is not reliant on one particular company. So, who controls IPFS? You do.

Subscribe to paid plan image

Share this post:

Stay up to date

Join our newsletter for the latest stories & product updates from the Pinata community.