This technology didn’t just pop up overnight! In this section we’ll cover the background of decentralized storage from torrents until now, and go through some basics terminology to get you up to speed.
Using IPFS in the Browser
Visit try-ipfs.theblockchaininstitute.org to explore IPFS from your browser. No download required!
Using the IPFS Command Line
In this module, we cover how to set up your own IPFS node, and how to push and pull files from the network. We’ll also go over the addressing structure and get you caught up on the background of this technology.
State of the Industry
IPFS is just the beginning - in this module we'll catch you up on the developments currently affecting the space, and cover the various cryptocurrencies and tokens that have proposed incentive models for peer to peer storage.
While this course will mainly focus on IPFS, there are a number of proposed solutions to blockchain-based and decentralized storage. The general architecture remains quite similar between them, so it will help to review how these systems work generally before comparing them.
1. Shard Data
In order to optimize storage and retrieval of files, data is broken down into tiny packets which can each be stored on a different node. These aren’t
Each shard is encrypted to anonymize and sterilize the data before public storage.
In order to uniquely track each shard or file, a hash signature is created that represents each unit of storage uniquely. This will be used to verify that nodes are storing the correct files at the correct addresses.
In a decentralized network, it’s important to have multiple redundant versions of each file. This allows nodes to join and leave the network as they see fit without the file being unavailable.
Shards are then distributed across the network to a group of nodes to maximize availability.
In a truly decentralized network, a ledger or blockchain can be used to record when and where files are stored, and to ensure that parties are held accountable for breaches of trust.
In the next section, we’ll cover in more detail how IPFS implements this functionality.