A deep dive into how Puma Browser is using Web3 protocols

Puma Browser is one of a handful of browsers experimenting with Web3 integrations. The team focuses on privacy, payment integrations and creator compensation. In this post, we’ll be taking a deep dive into how Puma has integrating Web3 into its browser and the motivations for each one.

Many major browsers lack important pieces required for the future of the web. Nearly all of them lack compensation methods for creators and most of them work with advertisers to exploit their users’ data in order to serve targeted ads. New movements like web3 are rising fast across different ecosystems and interfaces, but there are few bridges from the old Web2 experience to the present and future Web3.

The History of Puma Browser

Puma Browser was founded in January 2019 by Canadian-Ukranian developer Yuriy Dybskiy. Coming from engineering and developer relations background, he always felt strange about how little innovation he saw in the browser space, considering that the web is the largest developer platform of all. He also thought that it didn’t make sense that people weren’t the the real customer of browser companies, but advertisers were.

In 2018 Yuriy realized there was a need for a new way of relating to the web. Something that allowed for a more sustainable way of experiencing web content, and one that protected user privacy while allowing creators to make a living.

How Puma supports user privacy

Many browsers today are working in service of the ad industry. They track use browsing habits and collect as much information about users as possible in order to serve targeted ads. This has been a large scale privacy violation and it is misaligned with the basic function of a web browser. We’re increasingly seeing sentiments that browsers are supposed to be agents working for the user, not exploiting the user in service of the ad industry.

Puma Browser’s response to this is that it doesn’t track user data, instead all of user data stays on the device. Some data may be voluntarily shared with Puma if the user opts-in, such as usage data used to improve the app and fix bugs, but that data comes associated with a randomized ID and is not associated with any specific device.

App Privacy settings on Puma Browser

Why is privacy important?

At the end of the day advertisers and their associates make their money off of consumers, and people don’t get any of the benefits of the use that data in return. Often, where the data goes and what it is used for is not revealed.

Ad Blocking Capabilities

Puma’s approach to ad blocking is that it has ad blocking built in, with no third party plugins required.

Puma has two different kinds of Ad-blocking methods: standard and strict.

  • Standard ad-blocking allows some ad tracking so websites function properly.
  • Strict ad-blocking blocks more trackers, ads, and popups. Pages load faster, but some functionality may not work

Sometimes disabling ads can make websites not operate properly.

If a site doesn’t work as expected, users can tap the shield in the address bar and turn off Enhanced Tracking Protection for that page.

Tracking protection in Puma Browser

Web Monetization: Towards an Ad-Optional Web?

Puma is exploring whether it is possible to have a web browsing experience without advertising.

One of the alternatives to advertising is Web Monetization. Web Monetization places the power into the hands of creators instead of advertisers. Web Monetization can provide an alternative to advertising because it gives creators the ability to monetize their own content directly without unnecessary middlemen or third-party apps like PayPal.

Puma is one of the pioneers in the Web Monetization ecosystem. It is the first mobile web browser to natively support Web Monetization.

It’s very easy to pay creators simply through browsing. To handle micropayments, Puma partnered with the Coil content network, providing exclusive mobile access to their $100M+ content network. When you sign up for Coil (for $5/month), you receive that balance to spend through Puma on payment-supporting sites or charities of your choice. Instead of signing up for a dozen different subscription sites and encountering dozens of payment walls and ads, you can sign up once with Coil and have access to tons of web monetized content.

Creators can sign up to get automatically paid when someone browses their site. They simply place a single line of code containing a payment pointer into the HTML code of every page they want to monetize. Visitors with a Coil Subscription will then begin streaming micropayments to the creator’s web wallet (specified by the payment pointer) for as long as they’re browsing the website.

When applied to games, Web Monetization can also allow for special features and extra levels.

In fact, Web Monetization works extremely well for websites that have games, as visitors often stay on site for long periods of time, allowing for more money to be streamed to creators. You can use Puma Browser and a Coil account to check out some of the Web Monetized entries from the JS13K competition and see examples of games that create special features for their micropayment supporters: https://js13kgames.com/entries/2021/35.

A Puma Browser Web Wallet?

Part of my research is around web monetization and the emerging ecosystem of creators and payments. One of the pieces of this new ecosystem is increasingly centered around the idea of a web wallet. With the increase and rise in adoption of NFTs, web wallets, blockchain and memberships can be a new form of authentication, payment and community access. Yuriy told me that he there may be future web wallet support inside the browser, allowing interaction with web3 to be even more seamless.

Interledger Foundation, the creator of a seamless payment protocol that allows transfer payments across different payment universes, has just released a new platform called Rafiki. Rafiki expands upon the existing features of Interledger, which presently allow users to simply receive payments. It will allow users to make payments, invoice, and send tips among many other exciting features.

Finally, it will allow anyone to roll their own creator supported, web monetization-native payment system that allows for alternatives to advertising on the web. This opens the door for competition with their own provider Web Monetization provider, Coil.

Whether Puma browser uses Rafiki or rolls their own web wallet is yet to be seen.

Discovery and the Web Monetization Ecosystem— Featured Sites

Right now, there are only a few places to discover and browse Web Monetizes creators, websites and other content. Cinnamon, Coil and JS13K games are some examples. What’s Trending in Web Monetization is a featured tab in Puma browser. I’m hoping to see more examples of this on other sites as well.

One service I’m hoping for in the Web Monetization ecosystem is a series of Web 1.0-style web rings, or a Stumbleupon-like approach so that more people can discover independent content.

What’s Trending on Puma showcases Web Monetized sites.

Support for Web3 Protocols

Beyond Web Monetization, Puma supports three additional Web3 Protocols:

  • HNS (Handshake)
  • ENS (Ethereum Naming Service)
  • IPFS (InterPlanetaryFileSystem)

Puma has been the frontrunner in the adoption of new web protocols, supporting burgeoning web3 technologies before many other browsers.

As Yuriy stated in his Future of the Browser conference presentation, Puma aims to be the distributor of new web protocols, with the goal of bringing about the future web.

Let’s dive into these additional protocols.

What is Handshake?

Puma is the first mobile browser to natively support Handshake. Handshake is, in their words, a “decentralized naming and certificate authority” and “an experimental peer-to-peer root naming system”.

Handshake is a blockchain-based protocol that handles the registration and management of Top-Level Domain (TLD) names. TLDs exist in the “root zone”, at the top of the namespace hierarchy, of the Domain Name System (DNS). DNS, as many of you know, is the system used to resolve human readable domain names into IP addresses.

Examples of TLDs are .com, .net, .org etc, which are allocated to various organizations through the nonprofit central authority ICANN. Once an organization owns a TLD, it can act as a registrar, issuing sub-domains to individuals and organizations that pay yearly registration fees to lease these domains. For example, Verisign, a private company, owns the .com TLD and allows for the registration of sub-domains such as “pumabrowser.com”. When requested by a web browser, these domains are resolved to an IP address via DNS.

Handshake is an alternative to several key aspects of this system. Handshake is not meant to replace DNS. It is, in fact, backward compatible with it. Instead, it aims to replace the “root zone”, the top of the DNS hierarchy where these TLDs and their owners are organized, as well as replace the root DNS servers responsible for resolving domains to IP addresses. In place of these servers, it uses its own blockchain-based system, which they encourage anyone to install and run. Each of these “nodes” validates and manages the root zone. This is what makes Handshake “decentralized”. Instead of having one or a handful of servers dedicated to resolving names, this system uses any number of servers world-wide.

This type of system comes along with many advantages. Handshake offers a free, open, and more secure alternative to the current DNS-based system governed by ICANN. ICANN presently has complete control over, and has artificially restricted, the allocation of TLDs. With Handshake, anyone can register a TLD, removing many of the restrictions set in place by ICANN, with the goal of creating a more open and free internet.

Benefits of Handshake

Ownership

Handshake offers users total ownership of their domains. With the current DNS-based system, you merely lease the name. Ownership for a TLD is obtained via an auction-based system, using HNS, the cryptocurrency for Handshake, as the currency for bidding.

dLinks on my decentralized HNS profile in Puma Browser.

More Expansive Names

Handshake extends the allowable character set used for traditional domains. Any combination of capital and lowercase letters, decimal numbers, and special characters, up to 63 characters in length. It also supports unicode characters via the Punycode format.

One of the most exciting parts of Handshake is the potential for creativity in naming. With emoji support and the restriction on available TLDs stripped away, the possibilities for creative domain names are now wide open.

No Yearly Fees

To lease a domain with DNS, you pay a yearly fee for registration. With Handshake, you may or may not pay a certain amount to win the auction for your domain, depending on how the auction plays out, but regardless, you will not pay hefty yearly fees after your domain is registered to you.

Instead, owners pay a small twice-yearly mining fee. This ensures that owners still have access to their names. If this fee (roughly $.01), is not paid, the name will revert back to its place in the auction system.

No Limits on TLDs

Unlike the current system, where only ICANN determines which TLDs are allowed to exist and who owns them, Handshake puts no restrictions on TLDs. Anyone can register a TLD without limit, with the exception of already existing TLDs blacklisted from registration, and the top 100,00 most visited websites’ domains are set aside for their owners.

Resistant to Censorship

Handshake’s root servers are blockchain-based and distributed. Anyone can set up and run a full node which serves the root zone file. This decentralized structure means it is resistant to censorship and other attacks. Hitting one or several Handshake servers with a DDOS attack, for instance, is not an option as the number of nodes running worldwide are too numerous.

And a Handshake name is more resistant to censorship in that only its owner, provable by public key cryptography, can modify its DNS records, protecting against censorship via redirects or tampering by governments or other malicious entities.

Secure

Unlike registering a traditional domain, Handshake requires no personal information for registering a domain, meaning personal info is no longer available through WHOIS requests. Instead, ownership of a Handshake domain is determined through public key cryptography. Owners are given a key when they obtain a new name. They can then prove ownership by creating signatures with this key. This type of system does not rely on trust, unlike the certificate authorities (CAs) currently in use, which present a laundry list of security vulnerabilities.

Dynamic

Handshake domains can do more than traditional domains. Because they are TLDs, you can do basic things like the following:

  • Set up a redirect to your website
  • Use it as your website’s actual domain
  • Use it to point to your crypto wallet
  • Become your own registrar, leasing out subdomains like “mysubdomain.myhandshakename/”
  • Platforms can use Handshake names as logins, replacing email addresses

Alternatively, there are increasingly new ways to use your Handshake name. For instance, you can set up a decentralized profile via dLinks. dLinks are a “fully decentralized profile connecting all of your content on the internet”, made possible by Namebase and Sia. You can set up a dLinks profile at no cost through Namebase and have a decentralized profile that can’t be censored or taken down.

ENS — Ethereum Name Service

ENS allows people to create human-readable names for one or all of their crypto addresses, making it a super simple way to share addresses and get paid. Users can own their own username, store an avatar and other profile data, and use it across services. ENS even allows for decentralized websites.

vitalik.eth/ and caseorganic.eth/ on Puma Browser

For everyday use, ENS removes the need to copy and paste long addresses. Users can use their ENS names to store all of their addresses and receive any cryptocurrency, token, or NFT.

Puma Browser supports ENS names. ENS users, can type their ENS name into Puma Browser’s address bar (followed by a /), and it will resolve just like any other domain name.

ENS names a very interesting new piece of the Web3 ecosystem. You can learn more about ENS domains here, and get an ENS domain name.

IPFS — The Interplanetary File System

iOS versions of Puma Browser support a new protocol called IPFS. I wrote about IPFS back in 2015, and it has evolved significantly since then.

What is IPFS? According to their own documentation, IPFS is “a distributed system for storing and accessing files, websites, applications, and data.” IPFS is a key step toward the web becoming decentralized. IPFS uses content addressing to locate requested information by its contents rather than its location. So if for example, you want to search for information about cats. You click around and request a URL that has the information you want. The request is made to a single server and it (hopefully) responds with the data you want.

IPFS works differently. It asks any number of computers world-wide for that content. This is the “distributed” part of the definition above. In this example, your computer doesn’t just make requests from other computers, but other computers make requests to you! Other computers nearby (your neighbors) might be asking for content that you happen to have. Since you are the closest node, you are likely to be serving it to them. This method can provide a lot of energy and bandwidth savings vs. the HTTP-based web.

Decentralization makes DDOS-style attacks very difficult, if not impossible. It also prevents censorship from governments, ISPs, or anyone else you might want to block content from being served. To do so, they would need to remove all of the nodes worldwide that are serving the content. It also makes the web more efficient. Centralized servers deal with a heavy amount of traffic which slows everything down. With IPFS, you are making requests to the nearest computers who have the content you want, reducing the overall load of web requests significantly.

Puma Browser is one of the early supporters of IPFS. On iOS, users can access IPFS content just like they would normally in a browser. There are gateway hosts, such as ipfs.io, that take the address requested and act as a bridge between HTTP and IPFS.

Users can specify which gateway they’d like to use in Puma by accessing

  • Settings->
  • ENS and IPFS->
  • Select IPFS Gateway to use

Finally, you can enter an address formatted like ipfs://<content address> and Puma will fetch it using your chosen gateway. Welcome to the decentralized web!

Conclusion

I’m looking forward to seeing where Puma is headed next, and the future protocols they’ll be adopting and distributing. Puma’s goal is to bring the the future web to the masses.

Puma

You can learn more about Puma Browser at pumabrowser.com.

Disclosure: I am an advisor at Puma Browser.