Back to projects

IPFS multi-gateway Chromium implementation

Faster, more secure, more accessible IPFS links in Chromium-based browsers

The opportunity

The promise of IPFS is open, verifiable, resilient content retrieval. Chromium aims to create safer, faster, more stable web access for all. Our mission was to bring these two systems together with a multi-gateway verifying client built directly into the browser—improving the experience for everyone using IPFS in a browser.

The impact

  • Better performance: the verifying client finds sends a request to multiple gateways and accepts the first response, resulting in faster speeds
  • Enhanced security: this implementation moves the validation step from the node running the gateway to the user’s local browser using a trustless gateway
  • Increased accessibility: the client’s architecture makes IPFS links accessible to anyone, regardless of which protocol-handling software they have installed or which CID version they’re using

The process

IPFS is a protocol suite for content-addressed networking with a wide variety of use cases. As content-addressed networking becomes increasingly normalized, it needs to be integrated more seamlessly into the tech ecosystems that make up our daily lives. A smart place to put it into practice: web browsers.

As the codebase behind 98% of the browser market, Chromium powers the online experience for a vast number of people around the globe. But for IPFS users, Chromium’s treatment of IPFS links poses a number of challenges. The traditional solution—translating IPFS and IPNS requests into HTTP requests using a single gateway—comes with sacrifices in performance and integrity. It also requires an extension in most browsers, which most non-IPFS users don’t have installed, making link sharing extra cumbersome.

In collaboration with top decision-makers at Protocol Labs, we created a custom-patched build of Chromium using a trustless, multi-gateway verifying client. The implementation enables faster, more secure performance for IPFS links. Crucially, this solution also ensures links work for anyone, even if they’re not using an IPFS node themselves.

Phase one produced a working proof of concept in just six months, which open-source developers are already testing.

Next up, we’ll be enhancing the implementation with additional functionality and user configuration control, aiming for acceptance into the main branch of Chromium so the solution can be broadly applied—thereby increasing accessibility of IPFS, creating a more standardized experience, and ultimately expanding the IPFS landscape.

Key technologies

C++Inter-process Communication (IPC)Chromium infrastructureIPFSSystems engineeringWeb3Browser engines

Dive deeper

Learn more about the how and why behind the implementation, with everything you need to try it yourself.

See more projects

Protocol Labs

Expanding velocity for libp2p development with WebRTC expertise

View project

Evolving a fresh co-working concept to a scalable MVP and Series A funding

View project

Let’s transform your vision into reality