Sunday 21 February 2021

IPFS (Inter-Planetary File System)

I was reminded today of the Inter-Planetary System or IPFS today when I viewed this tweet shown in Figure 1:


Figure 1

I installed the IPFS desktop on my Mac and Figure 2 shows a screenshot of the about file:


Figure 2

It's important to maintain familiarity with this sort of technology as a future means of communication and file sharing when the Internet becomes totally balkanised and controlled. Here are some excerpts from the IPFS website:

Today's web is inefficient and expensive
HTTP downloads files from one computer at a time instead of getting pieces from multiple computers simultaneously. Peer-to-peer IPFS saves big on bandwidth — up to 60% for video — making it possible to efficiently distribute high volumes of data without duplication.

Today's web can't preserve humanity's history
The average lifespan of a web page is 100 days before it's gone forever. It's not good enough for the primary medium of our era to be this fragile. IPFS keeps every version of your files and makes it simple to set up resilient networks for mirroring data.

Today's web is centralised, limiting opportunity
The Internet has turbocharged innovation by being one of the great equalisers in human history — but increasing consolidation of control threatens that progress. IPFS stays true to the original vision of an open, flat web by delivering technology to make that vision a reality.

Today's web is addicted to the backbone
IPFS powers the creation of diversely resilient networks that enable persistent availability — with or without Internet backbone connectivity. This means better connectivity for the developing world, during natural disasters, or just when you're on flaky coffee shop wi-fi.

As I said, I've installed the IPFS Desktop:


Once installed, the interface is also accessible via http:\\localhost:5001\webui. Figure 3 shows the desktop interface:


Figure 5

It can also be added as a browser extension called IPFS Companion, which I've done using the Chrome browser. 


There is an IPFS tutorial on ProtoSchool that can be worked through for the more motivated.


Of course, most people do not have IPFS installed on their computers and so content can only be made available to them by using an IPFS gateway, defined as follows:
The ipfs.io gateway makes it possible for Internet users to access and view data hosted by third parties on the IPFS network. The ipfs.io gateway is a community resource run by Protocol Labs to help developers build on IPFS. Source.

Another important concept is pinning, explained as follows: 

Pinning services

To ensure that your important data is retained, you may want to use a pinning service. These services run lots of IPFS nodes and allow users to pin data on those nodes for a fee. Some services offer free storage-allowance for new users. Pinning services are handy when:

    • You don't have a lot of disk space, but you want to ensure your data sticks around.
    • Your computer is a laptop, phone, or tablet that will have intermittent connectivity to the network. Still, you want to be able to access your data on IPFS from anywhere at any time, even when the device you added it from is offline.
    • You want a backup that ensures your data is always available from another computer on the network if you accidentally delete or garbage-collect your data on your own computer.
Pinata is one such service that provides one gigabyte free to new users.


The Brave web browser now natively supports IPFS:
Brave has integrated IPFS into its desktop web browser for Windows, macOS, and Linux. When Brave detects an address which is an HTTP gateway URL to IPFS content, or a native IPFS address such as ipfs:// or ipns:// it will prompt the user to install and enable the native IPFS node, or to use an HTTP gateway. The default gateway used is dweb.link, which is run by Protocol Labs. Users can also specify a gateway of their choice in the browser settings. You can access the IPFS administrative UI at brave://ipfs,, or enable IPFS Companion and select “My Node” button in the main menu. Source.
(opens new window)

No comments:

Post a Comment