React, etc. Tech Stack

React, Flux, GraphQL, Hack, HHVM...? All of this and more!

Mining Bitcoins with browsers and JavaScript

With the rise of Crypto currencies like Bitcoin, Ethereum and Ripple - computing resources are worth a lot to malicious actors. With browsers being very capable and running on powerful hardware, it is tempting to use JavaScript and resources of site's visitors to mine crypto currencies.

Already way back in 2016 it was speculated that a large web entity could take payment in the form of computing by utilise client resources for massive distributed computing to create monetary value with Bitcoins:

You could agree with Facebook that they will have access to 10% of your GPU time when you are connected to a power outlet. The last piece is important, since battery life continues to be an issue for mobile devices. Much more so than CPU or GPU.
- Facebook could mint BitCoins in the browser with JavaScript and your GPU

During 2017 the Bitcoin and cryptocurrency mania really hit mainstream, with value of the currency rising significantly and speculators entering the market. This could mean that there is a bubble in the market, but even if there is - there is profit to be made in the market.

Malicious parties and legitimate site owners have now taken note of this and there are many options from DIY scripts like Webmonkeys to sophisticated coin mining services like Coinhive, Coinworker and Brominer.

All of these are fully functional mining options that do work, enough so to warrant Opera, a browser vendor, to introduce a Cryptocurrency Mining Blocker as a feature:

With NoCoin turned on, pages embedded with cryptocurrency mining scripts will be blocked in a similar way our mechanism blocks ads.
Opera 50 Beta RC with Cryptocurrency Mining Protection

The feasibility of mining using JavaScript running in visitors' browsers is a different thing entirely. While JavaScript can tap into resources of CPU (Central Processing Unit) and GPU (Graphic Processing Unit) - you will need a lot of visitors to make an impact.

Cryptocurrency mining is increasingly difficult and professional mining operations have moved to using specialised ASIC hardware that is orders of magnitude more efficient than desktop computers and Mobile Devices.

Written by Jorgé on Friday January 5, 2018

Permalink -

« JSON Tree Shaking lands in Webpack 4.0 - Nest TypeScript framework for Node.js gets GraphQL support »