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.
The clean and simple IPFS experience on Kaleido allows you to securely upload, retrieve, and view files.
Data sharding and peer-to-peer file storage techniques eliminate the ability to unilaterally alter or delete files.
On our platform, you can easily identify pieces of an uploaded file and access only those that are relevant for you.
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.
You can learn more about how IPFS works on our platform in our docs.
When you upload a file, the piece of content is broken up into shards and those shards are distributed. There is a hash for the original piece of content and each shard has a hash. The IPFS hash is the way you request the piece of content. An IPFS node or IPFS gateway allows you to upload and download files to the network. The network is the distributed web’s version of a server, in a sense.
IPFS is not a blockchain, so there’s no guarantee of data availability. To make IPFS files more available you can run your own node, pay for a pinning service, or use an IPFS API like the one available for Kaleido. Content addressing solves some problems related to centralized, location-based storage—essentially removing single points of failure—but data stored on IPFS demands a secure way to upload, retrieve, and view files to make distributed storage work. That’s where the IPFS gateway comes in. Kaleido makes it easy to access IPFS content, manage content identifiers, and maintain high performance on your network.
Storing data on the blockchain can be expensive. That’s why more developers are turning to solutions like IPFS. A distributed file system built by Protocol Labs, the client is available to anyone and free. You can store any type of files on it, but you need a node to access it. Kaleido can help you set up a gateway to access the storage and purchase storage. You can read more about how Kaleido helps you store large amounts of data with the click of a button on our IPFS docs here.