What is IPFS?

The IPFS architecture is designed to handle "load balancing, de-duplication, caching and high availability". Any computer can act as a server (Node), elegantly using peer nodes (nodes) to create a distributed content delivery network (CDN) as demand increases. In addition, Cloudflare's IPFS Gateway and DNS support removes any remaining concerns regarding delivery, performance, and domain name usage. IPFS has made it easy for anyone to join as a node via the freely available Desktop app.

IPFS is "A peer-to-peer hypermedia. It is designed to make the web faster, more secure and more open.

Source: https://ipfs.io/

Censorship resistant

In the current times we live in, we have to deal with a lot of censorship in the media and Big-Tech companies (Google, Facebook, Twitter etc). IPFS is uncensored, so files can be accessed as long as at least one copy remains in the peer-to-peer network. In 2017, a Catalan government used IPFS to evade Spain's censorship attempts. An uncensored version of Wikipedia was also created after the Turkish government banned it.

Blockchain domains

By using an IPFS node, you help support the decentralized web and provide a peer-to-peer network similar to file-sharing services. The Etheruem Name Service (ENS) provides a secure and decentralized way to address resources both inside and outside the blockchain using simple, human-readable names. Rather than registering a domain name on a site like Google Domains, ENS is a non-profit organization that offers .eth domains that are immutable and registered on the Ethereum blockchain. The primary purpose of .eth domains was to make cryptocurrency address human-readable. However, ENS has added support for linking your domain to an IPFS hash so that when a .eth domain is entered into your browser, it resolves to your website on IPFS.

IPFS Hosting

A traditional static website requires web pages to be uploaded to a web server. By default, all requests to this website are handled by this server. When the traffic volume is high, this server will experience a lot of pressure in terms of computing power and bandwidth. In contrast, in an IPFS network, there can be multiple copies of a single piece of content and different visitors are routed to different copies. The more popular the content, the more copies there are. This essentially eliminates the only pressure point.

However, for unpopular content, the Node that originally receives the content may be the only one on the network hosting the content. If this Node goes offline, the content will be inaccessible. Based on the above reasoning, we know that simply uploading content to IPFS does not guarantee its availability. We need a service that keeps the content online all the time. This service does not have to handle all access traffic, but must promise to stay online. In the IPFS world, this kind of service is called "pin". While it is possible to set up your own IPFS Node to achieve this, for a simple scenario such as a static website, a ready-made "pin" service is a better option.

What is Pins ?

Withdrawing has nothing to do with pulling something out of a card machine. Pinning is the mechanism by which you can tell IPFS that a particular object should always be kept somewhere - the default is your local Node

IPFS nodes can be stored on your home computer. It is not always practical or ideal to rely on a home computer such as IPFS Node. Fortunately, there are a growing number of IPFS storage services that can be used to pin files. Pinata is one of those services. It is easy to use and free for storage up to 1G. After registering for Pinata, you can upload files at https://pinata.cloud/pinataupload. After successful upload you will get the CID (i.e. the unique content ID of this folder in IPFS)

Now, the website is uploaded into the IPFS network, and Pinata guarantees that at least one copy of the content is always available. The website is guaranteed to keep online.

Visit the site

To visit a website, the way above is not ideal. We want to visit the website in the browser and have the web pages render immediately. IPFS offers an elegant solution to this problem: IPFS Gateway. The gateway acts as an intermediary between the traditional web and the IPFS. To access content on the IPFS network, you just need to know the CID of the file or folder A number of IPFS gateways are currently active. You can visit ipfs.io to view the publicly available gateways and their status. Besides the official IPFS gateway, the most popular and easy to use IPFS gateway is the Cloudflare IPFS gateway.