I'm borrowing your CPU with jsMiner, an embeddable JavaScript Bitcoin miner

Bitcoins have been mostly mined with a CPU. Now that Bitcoin mining with a GPU is 50-100 times faster and many large scale mining operations employ machines with at least 3 modern graphics cards each, jsMiner plans to revive the Bitcoin mining with a CPU market by creatively employing the same principle burried in the core of Bitcoin: distributed computing.

Webmasters, with no additional resources on their part, can run a serious Bitcoin mining operation with 1000s (if not 1000000s) of WebWorkers trying their best to mint the shiniest Bitcoins they can. For this reason, visitors deserve to be treated humanely by making jsMiner opt-in.*

How does jsMiner work?

A clientID is generated upon signing up on bitp.it, which is associated with the webmaster’s Bitcoin wallet in the (still evolving) user control panel.

Embedding is done with a provided short HTML code snippet. When placed in the head of a page, it loads a pure JavaScript Bitcoin miner in the visitor’s browser.

The JavaScript Bitcoin miner is using 100% (this can be tuned) of visitor’s WebWorker or UI thread CPU to brute-force compute a small hash, sometime creating a Bitcoin block which translates into Bitcoin tokens for the webmaster (after bitp.it takes their share).

//end of reason why I link to bitp.it so late in the article*

It’s not known if jsMiner/bitp.it code will be open source.
Update: jsMiner is open source

Introducing Bitcoin

We live in a realm of magic and miracles made possible by technology. We have a virtual world built on top of the physical artifacts we create, and it controls most aspects of our life.

Computer science deals with creating this virtual world. Computer scientists are continuously building, improving, securing, and designing the virtual realm for all of us.

Due to the nature of their jobs, computer scientists are prolific in other sciences and fields ranging over economics, politics and philosophy.

A growing group of computer scientists are interested in an idea one of them had in 1998, which triggered the foundation of Bitcoin in 2009.

What is Bitcoin?

Bitcoin is a proof-of-work P2P cryptocurrency.

Beyond the technical aspects of an extremely interesting system of applied mathematics, Bitcoin can be different things to different people. There are a lot of articles about Bitcoin and each author (including the Bitcoin crew) spins its meaning in their own way.

From our point of view, the Bitcoin technology was designed for webmasters to easily receive small amounts of money from visitors located all over the world, no matter where they are.

Bitcoin is represented by the BTC currency symbol, sometimes ฿

2011/5/25 exchange rate:
1.00 BTC = 8.20 USD
1.00 BTC = 5.80 EUR

Example of Bitcoin's transparency and standard privacy: http://blockexplorer.com/t/3jFFnduPzh

References:
http://forum.bitcoin.org/index.php?topic=9042.0
http://forum.bitcoin.org/index.php?topic=8940.0
http://www.bitcoin.org/

We released the bitp.it jsMiner as open source a couple days ago:
https://github.com/jwhitehorn/jsMiner

I'm interested to hear why you feel our current opt-out policy isn't enough. It's hard not to feel a little defensive when people are describing you as inhumane, but we honestly want to do the right thing for the community.

Thanks for corrections and for releasing it open source.

jsMiner is an unique implementation of the Bitcoin miner and its potential is really attractive for webmasters (this site’s intended target audience, mainly a group of people in the IRC chat room). The deleted parts referred to webmasters doing the obvious as mentioning jsMiner in their ToS, not embedding it with max CPU options on mobile sites, etc. This wasn’t directed towards jsMiner devs and the faux pas has been corrected.

jsMiner is already better than some other comparable forms of website monetization, and your motivation to work with the community is admirable. The script’s opt-out policy is more than enough for production; that’s why I’m recommending it here.

I’m really sorry if I came across as describing you as inhumane. It wasn’t my intention at all. I hope the edited version and the commentary reflect the respect I have for your work.

Your site, and those sites using your SW, are taking a substantial fraction of visitors' CPU cycles w/o prior consent.

Your opt-out policy, whatever it is, is laughable -- the opt-out mechanism is very well hidden.

I understand that native CPU-based bitcoin mining is now too inefficient to be practical, and a JavaScript-based implementation would be even less efficient. So the cost to your victims in lost productivity is relatively high, while the value you derive from each theft is relatively low. It works for you only because you have lots of victims.

Nice.

Actually you gave consent by visiting the site in question, and by making that optional request you have usually agreed to be bound under the sites terms and conditions of service.

Your response to the opt-out mechanism is laughable. You always have the last say on what code is executed on your system, you can disable JavaScript, you can install many addons for every modern browser to disable specific scripts or not even visit the website in the first place.

Your third rant really shows your erratic argument, in the first sentence of your comment you say the webmaster is taking a "substantial" amount of clock cycles and in the last paragraph you say they are not taking enough for this to matter.

Just remember you are also taking CPU cycles on the server side, not to mention resources required to maintain the site and despite what you may think, it is never free, even if you don't click ads you are giving away usage/interest data or subject to brand awareness campaigns.

A scheme like this (given enough users, pool mining and a good BTC rate) pays more than some CPM rates and that might mean better content/services for you to consume. It won't be ideal for solo mining unless you have many concurrent users, but in a pool it could easily pump out as many cycles as a few (to tens) of dedicated mining machines using GPU's.

I don' t know why you are so emotional over this, I think it is clouding whatever logic you may normally possess (perhaps you don't like the idea of a swarm of users crunching bitcoins because you have a single GPU rig and think it might take you out of the game) but this is a cool technological and social experiment. At the end of the day, it's probably a lot more ethical than harvesting personal data to undisclosed parties.

Stop being such a girls blouse,

How does jsMiner technically work? My browser is only submitting the hash rate and hash count to the server, no mathematical results. :/

How does jsMiner technically work? :) I am also eager to know the answer.
But it was a great post to read. But there is no updates after this post :(. Anyways looking forward to read more from you unitone

-------

Thanks.
Hannah.
Ecommerce Shopping Cart

I have read somewhere that JsMiner is currently just an educational tool, and has not been tested on a live mining pool; nor has it been tested for 100% correct operation.

Regards,
Sanjay

It is a good explanation about jsMine and Bitcoin. I learn a lot from this article but I am still a bit confused about its functionality. Want to know more about it.