Why I think IPFS is going to be the future

You may have heard of IPFS, the web protocol, touted by many to be the Web 3.0. It aims to replace the HTTP(S) with a faster and decentralized version.

I have been following this project with some interest for some months now. The project itself seems very promising, though I don't think widespread adoption by consumers is feasible.

If you haven't already, I highly recommend you to read the whitepaper.

IPFS allows you to create Content Identifiers, or CIDs for short. It is, in a nutshell, basically a multihash with a bunch of prefixes.

CID is an essential part of IPFS. Whenever you request something over IPFS, you ask the node nearest to you that contains whatever that CID contains to give it to you. And because you only request data from the node nearest to you (this may remind you of a CDN service), this exchange of data happens pretty fast.

And after you get that something, IPFS stores it onto your computer (for a limited amount of time), so that you in turn can send content to other computers when they request it. This entire system can work without the need of some central server that stores the files, given that the files are regularly requested.

So what are the implications of this?

Well, this means that content is stored on multiple computers, instead of a single server. If the server for some reason goes down, you will still be able to request whatever data that particular server hosted.

Consequently, it will be able to provide unrestricted access to the internet. This may be be a good or bad thing, depending on how conservative you are. IPFS will make it impossible for governments to restrict content, which may be nice for journalists and bloggers. Nevertheless, this remains controversial.

Another benefit of using IPFS would be to eliminate duplication of information. Since every a CID of a given file depends solely upon the file, multiple computers or servers with the same file will generate the same CID.

Furthermore, IPFS will allow you to be able to host static files right from the comfort of your computer. This was earlier possible by Hyperdrive (with the Beaker browser), but I think that that IPFS provides a more flexible approach.

I hope that I have convinced you to use IPFS. It is an amazing and decentralized protocol, that I think the future (which is racing to more and more decentralized solutions) will adopt.

You can learn more about the core concepts that form the foundation for IPFS on ProtoSchool.