Toward a more decentralized internet

This was a topic I wanted to learn more about, and sometimes the best way to learn something is to try to write/teach about it.

Introduction

It's no secret that there's a lot of angst right now about social media and the internet at large. From concerns about censorship and unmasking of pseudonymous identities, to worries about how it's driving polarization/fragmentation, possibly enhanced by feedback loops with algorithmic advertising (another person worth following on these topics—the interaction between tech companies, traditional media, and social media; and the twin perils of censorship and the unchecked spread of polarizing information (whether true or false)—is Mike Solana, although I'm only going to link to one post since they mostly go behind a paywall after a few weeks).

In Canada, bills C-10 and C-36 will give the government more control over online content (they are unlikely to pass in this session due to the senate recessing for summer vacation, but will probably be back in one form or another). At the same time, as large language models and deepfake tools make it easier for computer-generated written and audio/visual content (respectively) to pass for something real, it will be even more important to be savvy about who and what you trust online. Control and trust—if you don't take responsibility for them yourself, you'll be increasingly vulnerable on the internet. Be prepared for more "chaff" online.

In the rest of this post, I'll be discussing some online tips and tools that are resistant to censorship. Many of them come out of the cryptocurrency space, so there can be at least some level of trust that identities are persistent (i.e. that a message is coming from the same person as a previous one; it's still caveat lector when it comes to trusting what they say).

Brave Browser

The first suggestion I have is to install the Brave browser and get the Metamask cryptocurrency wallet plugin (if you download it while using the Brave browser, it should set itself up correctly). Brave is a browser that has a lot of features that respect your privacy. It generally blocks cookies and targetted ads. It also has a micropayment system: you get tokens as you view the few ads that are allowed, and can then pay/tip your favourite sites with those tokens (I tried to get setup to receive those tokens on my blog, but ran into some technical difficulties and haven't figured it out yet).

Brave also works seamlessly with the other tools and protocols below. Here are a couple of screenshots of configuring settings related to them:

IPFS preference (I chose the public gateway)
More settings: using MetaMask for Dapps

Ethereum Name Service

One of the cornerstones of the mainstream internet is DNS (domain name service). It is what allows you to type a url instead of having to know the IP address (e.g. 142.250.176.195) for the website you are trying to reach. The Ethereum Name Service (ENS) offers domain names (ending in .eth) that can be paid for with cryptocurrency. They can be directed to an IP address like a conventional domain name, but they can also be directed to alternatives such as IPFS (described in more detail below).

These links will work on Brave, but at the time of writing they don't work on Google Chrome. However, you can always append .link to use a resolver service.

Here are some examples of sites on ENS:

Here's an article with more information, and another one that goes into more technical detail.

IPFS

IPFS is an alternative web protocol to http. Instead of a webpage hosted on a server with an IP address (and a domain name as described in the previous section), content in IPFS is shared on a peer-to-peer network. It's a distributed file system accessible from anywhere. All content has a unique content identifier (CID), which is used in place of a normal URL. Note that files cannot be modified after sharing (the CID is based on the hash of the file), so it only accommodates static pages. Additionally, you need to run your own node to make the files you share persistently available.

To view these types of webpages, follow the instructions here. Basically, on a browser like Brave that supports the protocol, you can type ipfs://<CID> into the browser address bar. Otherwise, you can use a gateway as follows: https://ipfs.io/ipfs/<CID>. In either case, <CID> gets replaced with the CID of the content you're looking for. Here are a couple of examples:

To share anything on IPFS, you need to download the desktop application (unlike viewing them, which can be done in a browser). Follow the instructions here. This makes your computer a node in the peer-to-peer network, so it places some demands on your computer's resources. I've noticed network traffic in the hundreds of kbps (occasionally spiking to 1 Mbps or a bit higher); it also ties up some CPU cycles and RAM. The settings do allow for limiting how much storage space the IPFS network can utilize on your computer:

It's common to pair IPFS with an ENS domain.

Ethmail

Ethmail lets you use an Ethereum address to send/receive email. You'll need the MetaMask plug-in (or some other supported wallet) to digitally sign the login. I tried sending a message to my hotmail address and it got blocked, but I received a message that I sent myself on Ethmail alright. If you want to use it to send me a message, this is the Ethereum address I check (occasionally).

Bitclout

Bitclout is a new social network that is similar to Twitter. It has a cryptocurrency tie-in that lets users monetarily support other users they appreciate, but this doesn't appear to be necessary to use the site: you can post, like, and comment without getting into the speculative financial aspect of the network. They give you a nominal amount of their token (used to setup a profile) when you verify your phone number, or as an alternative you can choose to make an initial deposit using Bitcoin. I think this step serves to limit fake/spam accounts. It has attracted some controversy, though.

I set up a profile there to at least reserve my name. I'm not sure how much I'll end up using it, because the biggest value of a social network is who's on it and so far I don't think I know anyone there. Bitclout is just the latest attempt at starting a social network as an alternative to the big ones that can currently feel like near-monopolies. I've checked out Minds before—although it doesn't appear to have much momentum at the moment—and another one I've heard of is Mastodon.  The most valuable thing about a social network is the people who are on it, so these platforms do tend towards being natural monopolies due to network effects. If nothing else, continued attempts to make alternative social networks might apply some competitive pressure to keep the heavyweights honest.

Further Reading

Here are some links related to the themes of this post (ranging from more tips for setting these things up, to micropayments, to the potential of the broader cryptocurrency sphere, to link rot, to how to wisely interact online and resist polarization). These are important issues to think about, in my opinion; these articles aren't the last word on these topics but hopefully you'll find them thought-provoking. The final link in this list is a compelling short story:

Permalink