What Is IPFS and Why Does It Matter in Brave’s Web Browser?

What Is IPFS and Why Does It Matter in Brave’s Web Browser?

Brave is now the first web browser with integrated InterPlanetary File System (IPFS) support. IPFS is a peer-to-peer hypermedia protocol, and provides a different way of building and using the internet compared to the HTTP (Hypertext Transfer Protocol) and HTTPS (Hypertext Transfer Protocol Over Secure Socket Layer) protocols we’ve used for decades.

This is a notable change for Brave users that impacts browsing speed, connection stability, privacy, and even legislation, but it could even affect the future of the internet in general if other browsers follow Brave’s lead. Before we get into why IPFS support is a big deal, let’s explain how it works and what makes it different from HTTP/HTTPS.

What is IPFS?

When you use HTTP or HTTPS, your browser uses URLs (universal resource locators) to access websites from centralised servers. Your physical proximity to the servers affects how much bandwidth is used and how long it takes to load the page.

Instead of URLs and servers, IPFS distributes website data across a network. The data is accessed with URIs (universal resource identifier). You can read more about how IPFS works on Brave’s announcement post, but in simple terms, it’s similar to BitTorrent and blockchain. Each computer or mobile device — known as “nodes” — temporarily stores a piece of a website’s data. So whenever you access a website via IPFS, you’re loading the data from other nearby nodes on the network. Users can also access IPFS content via a “public gateway,” if they do not wish to act as a local node.

The pros and cons to IPFS

The most immediate effect of IPFS’s decentralized hosting is reducing the time it takes to load webpages. Since you’re accessing data from local nodes rather than remote servers, load times and bandwidth requirements could drop, and file transfer and streaming speeds could get much faster. If IPFS takes off, it could reduce — or even eliminate — the need for centralised servers entirely. Websites would no longer crash for all users if a server goes offline, since its data would be disseminated across an entire network.

Decentralised hosting also makes top-down censorship — such as from governments or web host companies — much more difficult. This is a fraught issue, though. Undermining authoritarian content laws in countries where free speech isn’t protected could make important information much easier to find. However, it also means problematic websites will be even harder to take down. And I don’t mean “silencing” opposing political views, here–real dangers like human trafficking, child abuse, and terrorist activity would be harder to find and stamp out since there wouldn’t be a centralised server hosting the problematic websites or content.

There are also privacy concerns whether you’re acting as a local node in Brave’s IPFS network or simply loading IPFS content. If you’re a node, the network gives you a unique ID. This ID is hashed, but is viewable by other users, and can be used to see what others are hosting and accessing. Your device and personal network’s resources will also be used if another user is accessing the IPFS data you’re currently hosting.

You can also choose to not be a node and simply access IPFS content through a public gateway, but public gateways can view and log your IP address. You can read more about how these issues specifically impact Brave — and find tips for mitigating the risks — on Brave’s IPFS security support page.

These issues will need to be addressed if IPFS ever fully replaces HTTP/HTTPS. For now, Brave uses IPFS alongside HTTP/HTTPS to boost speed and stability — though it will only affect content that’s configured to IPFS hosting.

Using IPFS in Brave

Screenshot: Brendan Hesse Screenshot: Brendan Hesse

IPFS works in Brave version 1.19 or higher. To enable it, go to Settings > Extensions, then select your preferred IPFS method under “Method to resolve IPFS resources.” “Local node” will use your local node, “Gateway” uses the public gateway, and “Ask” lets you choose each time you access IPFS content. “Disabled” turns IPFS off.

(Note: If you have a firewall setup with Windows Security or another program, you may be asked to configure Brave’s IPFS node if you use the “Local node” option.)

Enabling “IPFS public gateway fallback” lets you load IPFS content even when your local node isn’t working. However, as mentioned before, this makes your IP address trackable.

Turning on “IPFS companion” adds an extension to Brave for controlling your local node settings, and seeing its connection status. If you don’t want to use the IPFS companion add-on, you can also configure Brave’s local IPFS node settings by going to brave://ipfs. On this page, you can turn your local node on or off, and see how many peers are currently connected.

With everything connected, you can start accessing IPFS content. Doing so requires a URI. These will be hard to come by until more users, websites, and browsers adopt IPFS support, but Brave has an example URI that loads a wiki page for Vincent Van Gogh: ipfs://bafybeiemxf5abjwjbikoz4mc3a3dla6ual3jsgpdr4cjr3oz3evfyavhwq/wiki/Vincent_van_Gogh.html

Just copy and paste that into Brave’s navigation bar to load the page. Note that IPFS is disabled when using Brave’s built-in Tor private browsing due to IPFS’s privacy trade-offs.

Log in to comment on this story!