Almost all data on the internet is centralized on the cloud. Massive data centers around the globe are storing and managing your personal data. Imagine of one day these servers got shut hacked and all your files that you thought were safe in the cloud are leaked. Look no further than the countless celebrity photo leaks.
Or you post something controversial to social media, and get kicked off all platforms... including cloud file storage.
IPFS (Inter-Planetary File System) solves this problem by enabling direct peer-to-peer file sharing. Instead of relying on centralized cloud servers, IPFS enables individuals to share information directly with each other.
You may be thinking "what if I just email a file?". Even then you are not directly sending that file, instead you are uploading it to your email service provider, who is then sending it to your friends email service provider.
How To Send A File Using IPFS
In order to interact with the IPFS network, you'll need to install a node or use the Brave browser. In this guide we'll be downloading their desktop app from the website.
Once it's installed, open up the IPFS Desktop application.
You'll see an area to upload a file. Here is where the magic starts. When you upload a file to IPFS it uses a sha encryption algorithm to create a CID (Content Identifier). Sha encryption is the same encryption used to encrypt your web traffic, passwords, and even government top secret documents. Once you give it an input the algorithm will create an output that is unique to that input.
Here is why that's useful
Once you upload a picture, that CID will be unique to that file. If you upload duplicates, it will have the exact same CID. If 100 different people all upload the exact same file, it will all have the exact same identifier. In addition if one pixel on the photo changes the CID completely changes.
Now that your file is uploaded it's time to share it with a friend.
How does IPFS find the right file?
When you search for a CID your IPFS node starts asking other nodes if they have it. These nodes ask other nodes until eventually the file is found. Here is the cool part. When you retrieve that file, it is temporarily stored on your node. This means if someone else wants to find that same file, they can retrieve it from you instead of your fried. This makes downloading a file faster the more people share it. This is completely different than the traditional system of data centers where sending and sharing files eats up bandwidth slowing everyone down.
Back to the guide
If you don't have a friend, you can use another computer or mobile device. For this to work you'll need to use brave or setup an IPFS node.
- Punch the CID into the search bar. This is going to take some time for the network to find and retrieving a file. The longer you keep your node running and sharing the file the faster this process will be. For now, its going to be slow.
- Once the file downloads congratulate yourself. You just downloaded a file directly without using a third party datacenter!
- When you upload and share a file, it will only be shared temporarily, if you want to keep sharing your file you'll need to pin it. Pinning a file makes it permanently available (as long as you are running the node).
If you are sharing a sensitive file, please encrypt it. Anyone who has the CID will be able to download and view sensitive document.
Due to its decentralized nature, IPFS has become well used in areas of high censorship. It has even been used to bypass the great firewall of china. Journalists, content creators, and anyone with a message that the government or big tech doesn't like has a lot to gain by using IPFs to distribute information.
NFTs are not as decentralized as you might think. Much of the images and files linked from the NFT smart contract are stored on centralized servers. If the server goes down or the file deleted, the NFT is now useles. However, with IPFS, a file is hosted on a node. Now when someone buys the NFT they can pin that file to their own node to act as a backup. In addition the CID proves that the file has not been altered or changed because if any changes happened to the file, then the CID would be completely different
Go forth and use IPFS! Spread the word, get your friends to share files on it, host a website. The possibilities are limitless!