Between October 2017 and November 2018, I experimented with monetising this website using an opt-in JavaScript cryptominer. The miner code was provided by the now-defunct Coinhive, which managed to attract an enormous amount of negative coverage after it was used to mine cryptocurrency without user consent on a number of hacked sites – this practice was termed cryptojacking. In response to this, they released a new verson of their cryptominer called AuthedMine, which explicitly required user consent before it would start mining. Why they didn’t do this in the first place is something we can speculate about.
Being a naive optimist and a believer in the legitimate potential for such a technology, I adopted it quite early, providing a transparent, user-controlled mining interface from the start. When Coinhive released AuthedMine, I dutifully switched to it. But the damage was already done. In a remarkably short time, the in-browser cryptominer went from a novel means for funding web publishing to irredeemable malware. While I was still running the miner, this blog ended up on a couple of “hacked sites” lists, because the very presence of Coinhive code was considered an indicator of compromise.
I felt a little awkward about having something commonly thought of as malware running on every page of my site, but for a while that was outweighed by my support for the idea of cryptomining as an advertising alternative. Ultimately, I took the miner down after a year because it hadn’t even earned enough in that time to reach the payout threshold – not by an order of magnitude! Had I made more money with it, I might have left it in place… at least until Coinhive shut down a few months later.
To be clear, I still think the concept has some theoretical merit. If a user visits a website that mines cryptocurrency in the background at a low intensity, what harm do they experience? Unless the mining is intense enough to spin up their fan, it’s possible they may not even notice. As I said in my Coinhive post, many websites run an enormous volume of ads, including autoplaying video, badly optimised JavaScript and code that literally tracks you, all for the purpose of indirect monetisation. Is cryptomining actually worse than any of that? Personally, I think not, but that seems to be a minority view.
The reality was that for every person running a miner that required explicit consent to be activated and provided a means for adjusting its resource usage up and down, ten others were hiding mining code that maxed out users’ CPUs in the background. The potential for abuse was there, and on the internet, potential abuse quickly becomes actual abuse.
“No one is that much of an asshole” may work in physical spaces (well, somewhat), but it completely breaks down with networked computers, which are exposed to everyone everywhere. If you assume that 99.999% of people are generally good, well, that still leaves 70,000 human beings somewhere on the planet who would be all too happy to cast ruination upon your humble program.
Eevee, Security through misanthropy
On a practical level, well, my experience shows that it is not a significant revenue stream for a small blog. Mining cryptocurrency in JavaScript is horribly inefficient, especially at a low intensity. And if you have the ethics to ask people to opt into it up front, well, a lot fewer are going to end up doing it than if you just run JavaScript behind their backs.
So where does that leave the future of funding content on the web? Well, there’s this interesting browser called Brave, which you’ve been waiting half-a-dozen paragraphs for me to get to. Here, finally, is where I’ve buried the lede.
Brave is the brainchild of former Mozilla CEO and creator of JavaScript Brendan Eich. It’s a fork of Chromium with built-in functionality for blocking adverts and trackers, and so markets itself as a privacy-focused alternative to Google Chrome. It’s available for the desktop and Android phones.1 While the privacy focus is front-and-centre of most of Brave’s marketing, its real differentiator is its unique approach to advertising and web monetisation, which combines browser-native ad notifications with the Basic Attention Token (BAT) cryptocurrency.
Users of Brave can opt into being shown adverts, which take the form of text-only notification popups that will take you to the vendor’s page if you click on them. These ads pop up at random intervals as you browse, and are largely unrelated to the sites you visit (the browser does do some amount of targetting). As you use the browser and view ads, you earn BAT cryptocurrency, which by default will be donated each month to the websites you spend the most time on (and that are participants in the Brave Publishers programme). You can also keep your BAT, and make specific donations to participating websites.
BAT is not some corporate rewards programme, but a fully functional Ethereum-backed cryptocurrency token. You can withdraw it from your Brave wallet,2 trade it on exchanges, invest it on DeFi lending platforms like Compound and Aave, and even sell it for fiat currency.
Brave’s vision is to enable frictionless ad-based content monetisation as in the early days of the web, but without all the creepy tracking and distracting flashiness that’s made adblockers essential for a sane browsing experience.3 By building advertising into the browser and funnelling it through OS-native notifications on most platforms, Brave starves its adverts of the web technologies they would otherwise feed on to evolve from static text to autoplaying videos and straight-up malware. By paying users for the privilege of showing them ads and then spreading the wealth among their favourite websites – or allowing them to manually distribute it – Brave allows users to contribute to sites they like without reaching for their wallets (and without running a cryptominer in their browser).
If you visit this site in Brave, you’ll notice that it is a verified publisher, just like Wikipedia. Since setting this up in January, I’ve earned a very modest amount of BAT. It’s not a significant income source, but it’s an order of magnitude more than I ever earned through Coinhive, and the only change it required me to make on this website was the creation of a verification text file in .well-known
. For that reason, I’d recommend it to anyone with a website – it’s not going to make you rich, but it takes literally five minutes to set up, and considering that, well, why not?
In addition to websites, you can join the Brave Publisher programme with your account on platforms like Twitter and Reddit, which highlights another feature of having ads and monetisation built directly into the browser. Is a man not entitled to the engagement with his takes? Yes, and with the attention of your eyeballs, Brave can become your browser as well.
-
I used Brave on mobile long before I installed the desktop version, entirely because of the adblock functionality. ↩︎
-
Notably, you have to have at least 25 BAT to make a withdrawal, and you have to withdraw into an account on the centralised Uphold exchange – likely for regulatory reasons, Brave doesn’t let you send tokens to arbitrary Ethereum addresses. ↩︎
-
Without adblock, news websites in 2020 resemble piracy websites in 2007. ↩︎