Understanding Filecoin

My fascination with Filecoin started when a friend recommended I buy into this future of decentralized storage. Obviously I had to do my due diligence. I could not take it at face value.

Introduction

Filecoin is essentially a blockchain used to store data. The blockchain is supported by a network of computers (nodes) that compute transactions. Another blockchain that might be familiar is Bitcoin. Bitcoin offers rewards to ‘nodes’ for completing transactions of value, value represented by the Bitcoin cryptocurrency.

Filecoin is built by Protocol Labs and utilities the IPFS (Interplanetary File System). The IPFS is a peer to peer network, and operates on a very similar concept to BitTorrent. However, unlike BitTorrent, IPFS uses a global Kademlia that enables addressing of files with a single identifier. IPFS alone does not incentivize nodes to store data, nodes are not rewarded with tokens of value. Filecoin applies the benefits of blockchain to IPFS, and incentivizes nodes to persist data. This is how Filecoin creates a distributed, decentralized network of storage servers.

Diving In

I took the typical approach to any new product. Like a piece of IKEA furniture, I started getting my hands dirty before reading the manuals. My first idea, based a video i watched recently on Tissue Culture Protocols, was to create a database of the world’s plants - their genetic makeup and how they could be cultured and grown. Keeping true with the goals of Filecoin, I wanted to persist knowledge of our environment.

There are many services available that simplify the process of uploading a file to the IPFS network. I chose to use NFT Storage as it was designed to simplify the process of uploading NFT artworks. It explains itself very well here. After uploading my file, it was immediately accessible. You can find it here (You may need to use an IPFS client to view the image. I used Opera browser). Alternatively, you may reference the guide from Lotus or the official Filecoin guide for storing data.

Immediate takeaways

Diving in quickly is a great way to learn. Some of my immediate thoughts were:

  1. How can I keep my data private? Any user with the ID of my file would be able to access it. Is this protocol only useful for public data? Would encryption be possible

  2. Assuming that its main objective is storage of public data, what datasets could I find on the network? What applications could be built over this? Filecoin’s infrastructure would be useful as it essentially replaces CDNs and users would be able to store large amounts of data for cheap.

  3. This also makes me wonder how nodes would get rewarded. Using NFT storage, I was able to store my file for free. How would this payment system work at scale? Would clients pay a one-time fee or would they have to make recurring payments to persist their data?

  4. As we’ve seen from the example above, its easy to store single files. However, large collections of files and folders could be hard to manage. Would external indexers be necessary?

  5. Finally, could there be a way to verify and validate information? If I upload weather data for my country, how would others tell if the data is accurate? Would we need DAO governanace to ensure factual accuracy?

I’ll probbaly discuss these takeaways in another post. I’d like to end off with some use cases i’ve found and some useful resoruces to guide your Filecoin journey.

Uses

Datasets

Filecoin is probably the most appropriate platform for public datasets. Such datasets were previously managed by individual organisations and entities.

Filecoin Virtual Machine

Another interesting application which i’ve encountered but not have the time to explore is the Filecoin Virtual Machine. It appears that the Filecoin network could be used to create services that compete with cloud service providers like AWS.

See Also

References

Previous
Previous

Generating Stylized Portraits with Deep Learning models

Next
Next

Summarising group conversations