Introduction

🚧

This is a closed beta

If you want to participate, contact [email protected].

IPFS Storage is the truly decentralized storage solution implemented on the Chainstack platform. It is a combination of IPFS and Storj.

Why IPFS + Storj?

IPFS is a peer-to-peer file-sharing protocol that is content-addressed—each file is uniquely identified based on its cryptographic hash.

InterPlanetary File System (IPFS) is a distributed protocol that enables peer-to-peer sharing and storage of files on a global scale without depending on a centralized server. IPFS implements content-addressed storage that identifies files with a hash of their content, ensuring a unique identifier for each file. This method prevents file duplication and enhances network efficiency. IPFS also supports faster and more efficient file distribution as files are cached and distributed across multiple nodes, which reduces latency and improves download speeds.

Storj is a decentralized cloud object storage network. Unlike other providers, Chainstack uses Storj as a backend storage solution instead of keeping users' files on local discs. Storj encrypts each object and then splits it into 80 pieces. Each of these pieces is then distributed along different nodes across the Storj network. Retrieving a file requires only 29 of those 80 pieces.

While IPFS is focused on the efficient distribution of content through content-addressing, Storj provides out-of-the-box redundant storage of files across the global network. The two technologies complement each other—by using IPFS to distribute content and Storj for reliable storage, developers benefit from the strengths of both systems, resulting in a robust, truly decentralized file storage solution.

What is pinning?

In IPFS, files can be stored with or without pinning. A file that is not pinned is not automatically distributed between nodes in the network, instead, a file is stored on a node that added it. It will be hosted there only as long as other nodes in the network interact with it. If the file stays idle, it can be eventually removed from the node. On the other hand, pinned files are marked to be preserved and available all the time, until the owner decides to delete them.

Each file uploaded to the IPFS Storage implementation is automatically pinned so that the file is available until you delete it.

What is CID?

CID is a distinct identifier utilized in IPFS to represent files or folders uniquely. It is generated by a hash function applied to the content of a file or other data object. CIDs enable the retrieval of content from any node in the IPFS network, facilitate versioning of objects, and are crucial in building distributed applications that can share and access data in a peer-to-peer fashion, independent of traditional addressing.

What are buckets, folders, and catalogs?

A bucket is a top-level virtual collection of files or folders that can be stored and managed as a single entity. You can use buckets to organize and group related data objects, making them easier to manage and share. Buckets are useful for organizing large datasets: by grouping related files or data objects into buckets, users can manage and distribute these datasets more efficiently and effectively.

Dedicated private gateways in IPFS Storage are associated with buckets, not folders.

A catalog is a second-level virtual collection of data objects that you can create within buckets. Catalogs are immutable as they get pinned in the IPFS network and receive their own CID. Catalogs can contain other folders, files, and catalogs.

A folder is a second-level virtual collection of data objects that you can create within buckets. Folders are mutable, they don't get pinned in the IPFS networks, and have no CID (instead, each file within a folder gets its own CID). Folders can contain other folders, files, and catalogs.

What are different types of gateways?

In IPFS, gateways are used to browse and fetch files and data objects stored on the IPFS network without using special software or knowledge of the underlying protocols.

With IPFS Storage, Chainstack provides two types of gateways:

  • Public gateways — are publicly accessible and can be used by anyone to retrieve and serve content from the IPFS network. This can cause downtime or connectivity issues which can make it difficult or even impossible to access content. Additionally, a public gateway has rate and speed limitations.
  • Dedicated gateways — provide more reliable and secure access to content. IPFS Storage dedicated gateways are not rate- or speed-limited which makes them a perfect solution for storing sensitive and/or large-scale datasets that must be accessible all the time.

IPFS Storage dedicated gateways can be created in one of the following modes:

  • Private — a dedicated private gateway must be assigned to a single bucket created within an organization. A dedicated private gateway only serves for content that exists in the bucket it’s assigned to.
  • Open — a dedicated open gateway serves for any content uploaded by an organization.