Historically, storage has been centralized. The crash of a single server or a malicious attack could cut off access to files. The InterPlanetary FileSystem (IPFS) aims to change that. The decentralized file system breaks files into pieces, or shards, and distributes them across a network using a content addressing system. Because complete files and every shard are marked with a unique hash, IPFS storage safely handles large amounts of data.
IPFS works well for information that needs to be public. Say you want to create a database of carbon certificates, it allows us to make these readily available to all. But we can also use IPFS to keep information private. Say we need a place to store the metadata for our NFTs, we can encrypt this information before uploading it to the network.
The highly scalable nature of IPFS and the ability to create private, permissioned clusters make it a go-to solution for enterprises building blockchain-backed solutions.
We talked about how nodes leverage a peer-to-peer file sharing protocol to handle large amounts of data off-chain. This peer-to-peer file sharing technique removes the possibility of censorship or unilateral deletion because no single party owns or controls the data once it has been uploaded to the network.
In fact, if a user chooses to “pin content” a file to one or more of their IPFS nodes, the file will always be available for themselves and the entirety of the network to retrieve. The act of pinning, while not strictly necessary, is a strategic tactic that permanently preserves a file so that the network does not run the risk of losing critical blocks as nodes go offline and/or perform database cleanups.