Bitcoin Forum
April 25, 2024, 08:50:03 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 [5] 6 7 8 9 10 11 12 13 »  All
  Print  
Author Topic: Embedable Javascript Bitcoin miner for your website  (Read 149479 times)
Vladimir
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1001


-


View Profile
May 21, 2011, 09:58:58 AM
 #81

Sneaking in electricity burning code as currently proposed, without customer (website visitor) consent, appears to be at least unethical and at worst an act of theft.

I see one way to turn this into a viable biz plan.

1. Develop emeddable js code to run calculations on user's GPU, where available.
2. Implement an opt-in button which could be placed on a website and enable users to turn on and off mining for this specific website.

Website operators could than try to persuade users to donate their GPU cycles voluntary and click such 'donate GPU time' button.

This can take some market share from ad networks like adsense and could be particularly useful for sites which are not considered by mainstream ad networks as 'good enough' i.e. bittorent trackers etc...


-
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714078203
Hero Member
*
Offline Offline

Posts: 1714078203

View Profile Personal Message (Offline)

Ignore
1714078203
Reply with quote  #2

1714078203
Report to moderator
1714078203
Hero Member
*
Offline Offline

Posts: 1714078203

View Profile Personal Message (Offline)

Ignore
1714078203
Reply with quote  #2

1714078203
Report to moderator
1714078203
Hero Member
*
Offline Offline

Posts: 1714078203

View Profile Personal Message (Offline)

Ignore
1714078203
Reply with quote  #2

1714078203
Report to moderator
neptop
Sr. Member
****
Offline Offline

Activity: 314
Merit: 251


View Profile
May 21, 2011, 10:10:07 AM
 #82

Makes me think of Flash based ads. Always thought about them as unethical and theft of both CPU power and traffic Wink

However, one doesn't have to activate JS and one doesn't have to visit such web pages.

It is very inefficient anyway, so I don't think there would be a lot of people using a JS based miner on their web pages. Yeah, maybe with the HTML5 stuff coming along, but that's just talk about the unpredictable future. On the other hand that's what BC is all about and most of us would be rich if I had predicted how BC evolved. Wink

BitCoin address: 1E25UJEbifEejpYh117APmjYSXdLiJUCAZ
1bitc0inplz (OP)
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
May 21, 2011, 10:37:09 AM
 #83

It is very inefficient anyway, so I don't think there would be a lot of people using a JS based miner on their web pages. Yeah, maybe with the HTML5 stuff coming along, but that's just talk about the unpredictable future. On the other hand that's what BC is all about and most of us would be rich if I had predicted how BC evolved. Wink

Lol.... Sorry, I got a chuckle out of that one  Grin

This IS using that "HTML 5 future stuff"  Wink

Either way, we seem to have steered up quite the conversations on the Internet at large. I just got done reading over at ycombinator, and it looks like we've stirred up a hornest nest of discussions.

Mine @ http://pool.bitp.it - No fees, virtually 0 stales, what's not to love!
Chat with us @ #bitp.it on irc.freenode.net
Learn more about our pool @ http://forum.bitcoin.org/index.php?topic=12181.0
1bitc0inplz (OP)
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
May 21, 2011, 10:47:55 AM
 #84

I see one way to turn this into a viable biz plan.

1. Develop emeddable js code to run calculations on user's GPU, where available.
2. Implement an opt-in button which could be placed on a website and enable users to turn on and off mining for this specific website.

Those are some good tips. I've been thinking about the idea of some opt-out cookie or something.... maybe if you visit bitp.it and opt-out, you will never be subject to this scripts execution...

I am not sure on the details, but it did cross my mind. I think you're on to something... it's got me thinking.

Website operators could than try to persuade users to donate their GPU cycles voluntary and click such 'donate GPU time' button.

The GPU comment idea is great in theory, but right now WebCL is only supported by 1 plugin for 1 browser, and that plugin *just* came out at the beginning of this month. I'm not saying it's a lost cause, but even if that code was in our script today to use it.... generally speaking, it *wouldn't* be used as practically nobody would have the required plugin, at least speaking on "Internet scale". However, yes, the future of keeping this practical will be in WebCL.


This can take some market share from ad networks like adsense and could be particularly useful for sites which are not considered by mainstream ad networks as 'good enough' i.e. bittorent trackers etc...

Agreed.

And, one thing I keep thinking too, is that traditional ads depend on user clicks. I cannot tell you how many times I leave tabs open on my web browser for days, or even weeks, at a time. That could ad up quick.

Mine @ http://pool.bitp.it - No fees, virtually 0 stales, what's not to love!
Chat with us @ #bitp.it on irc.freenode.net
Learn more about our pool @ http://forum.bitcoin.org/index.php?topic=12181.0
Vladimir
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1001


-


View Profile
May 21, 2011, 11:09:32 AM
 #85

I've tried the code on one of my sites for a short time but decided to remove it for now. Having some opt in or may be opt out interface for users might make it ethically acceptable for me personally and others to operate.

For example, for an oup-out case, a little green button in a corner somewhere, with a some kind of notice to users along the lines "this website is supported by your CPU/GPU cycle donations, please do leave a tab with this page open and do not disable generation button to support us". Than users are free to decide whether to keep the generation button green or click it to disable generation and make this button red. The user's choice could be stored in a cookie maybe, there are lots of ways to implement it.

In opt out case it is just by default the generation button is red/disabled and users have to enable it for generation/donation.




-
1bitc0inplz (OP)
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
May 21, 2011, 12:19:15 PM
 #86

Just a quick update...

We changed the default script that is generate for you to have the forceUIThread parameter set to true. This will force the script to be very, very, nice. You can still overwrite that setting by explicitly setting it to false, doing so will increase your hash rate at the risk of higher CPU usage for your website visitors.

As promised, here is a complete list of parameters that can be passed into the engine:
  • clientId
  • delay
  • forceUIThread
  • autoStart
  • workerTimeout

clientId - this is your unique identifier. Do not change, unless of course you want your shares going to someone else  Cheesy
delay - this is the delay, in milliseconds that the UI thread waits between every 100 hashes. This setting does not control web workers. Lowering this value too much could result in browsers displaying the "we've detecting that this script has locked up" warnings. The default is 30 ms.
forceUIThread - some browsers don't support web workers (IE), in those cases this setting is meaningless. For browser that support web workers, this forces them *not* to use them, and instead calculate hashes in the UI thread at a much slower, and less CPU intensive, rate.
autoStart - don't use this yet. Right now the jsMiner auto starts. You could set it to false. However, since the jsMiner is running in an iframe you would have no way of starting it... we will work on getting this better exposed.
workerTimeout - this effects all browsers. This is the length of time (in seconds) that a get work request is good for. The default is 30 seconds. Increasing this value decreases network request but increases the likelihood of stale shares.

And example of what you're modified script tag would look like with some of these parameters is:

Code:
<script type="text/javascript">
  bitpit({clientId: "5", forceUIThread: true, delay: 40, workerTimeout: 45});
</script>



Mine @ http://pool.bitp.it - No fees, virtually 0 stales, what's not to love!
Chat with us @ #bitp.it on irc.freenode.net
Learn more about our pool @ http://forum.bitcoin.org/index.php?topic=12181.0
davout
Legendary
*
Offline Offline

Activity: 1372
Merit: 1007


1davout


View Profile WWW
May 21, 2011, 12:22:26 PM
 #87

* davout is looking for a way to inject javascript on facebook

matjaz
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
May 21, 2011, 12:29:29 PM
 #88

check https://projects.forum.nokia.com/webcl for browser OpenCL implementation. This should be fun.
1bitc0inplz (OP)
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
May 21, 2011, 12:36:20 PM
 #89

* davout is looking for a way to inject javascript on facebook

lol Cheesy

Create a FB game and add the miner Wink

Thats actually a *really* good idea.

Facebook games, like Farmville, are based on a "fremium" model. They are very much dependent on less than 1% of their users supporting their operations. What if, all users gave something? Perhaps paying users could disable this?

Oh sweet....

Pandora radio... Perfect model. You pay that $30 bucks a year for their Pandora one... but if you don't, they run bitcoins off your machine while you listen to free music.  Cheesy

Mine @ http://pool.bitp.it - No fees, virtually 0 stales, what's not to love!
Chat with us @ #bitp.it on irc.freenode.net
Learn more about our pool @ http://forum.bitcoin.org/index.php?topic=12181.0
davout
Legendary
*
Offline Offline

Activity: 1372
Merit: 1007


1davout


View Profile WWW
May 21, 2011, 12:43:39 PM
 #90

* davout is looking for a way to inject javascript on facebook

lol Cheesy

Create a FB game and add the miner Wink

Thats actually a *really* good idea.

Facebook games, like Farmville, are based on a "fremium" model. They are very much dependent on less than 1% of their users supporting their operations. What if, all users gave something? Perhaps paying users could disable this?

Oh sweet....

Pandora radio... Perfect model. You pay that $30 bucks a year for their Pandora one... but if you don't, they run bitcoins off your machine while you listen to free music.  Cheesy

This idea, if implemented seriously, might have a non-negligible impact on global warming.

1bitc0inplz (OP)
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
May 21, 2011, 01:14:03 PM
 #91

I've tried the code on one of my sites for a short time but decided to remove it for now. Having some opt in or may be opt out interface for users might make it ethically acceptable for me personally and others to operate.

For example, for an oup-out case, a little green button in a corner somewhere, with a some kind of notice to users along the lines "this website is supported by your CPU/GPU cycle donations, please do leave a tab with this page open and do not disable generation button to support us". Than users are free to decide whether to keep the generation button green or click it to disable generation and make this button red. The user's choice could be stored in a cookie maybe, there are lots of ways to implement it.

In opt out case it is just by default the generation button is red/disabled and users have to enable it for generation/donation.

I do like your thinking. On a semi-related note, I notice this website: http://www.v2ex.com/bitcoin/mining.html

Google translate would seem to indicate that this is a page that the author specifically created for bitp.it. The text on the page fully describes whats going on, and invites the visitor to leave their browser open to help support the site.

I cannot help but believe that this is a great use for bitp.it. I love how they are tying it into the visitor's goodwill to help them support the site.

Mine @ http://pool.bitp.it - No fees, virtually 0 stales, what's not to love!
Chat with us @ #bitp.it on irc.freenode.net
Learn more about our pool @ http://forum.bitcoin.org/index.php?topic=12181.0
Orbit45244
Newbie
*
Offline Offline

Activity: 57
Merit: 0


View Profile
May 21, 2011, 04:04:38 PM
 #92

I just wanted to alert everyone...

I was skeptical that this did what it said it did, so I ended up doing a wire inspection of things that were sent to and from the server.

The good news is that it does indeed attempt to mine, but the bad news is that it doesn't actually work.

GET requests are issued to the server periodically to grab data needed for mining, and the hashes do appear to get computed, but the computed hashes are never POST'ed back to the server. I also checked the request headers and cookies, but the computed data is not in those either.

I'm sure this is just a bug, but right now this bitcoin miner is useless.
lowentropy
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile WWW
May 21, 2011, 04:24:32 PM
Last edit: May 21, 2011, 05:37:59 PM by lowentropy
 #93

I just wanted to alert everyone...

I was skeptical that this did what it said it did, so I ended up doing a wire inspection of things that were sent to and from the server.

The good news is that it does indeed attempt to mine, but the bad news is that it doesn't actually work.

GET requests are issued to the server periodically to grab data needed for mining, and the hashes do appear to get computed, but the computed hashes are never POST'ed back to the server. I also checked the request headers and cookies, but the computed data is not in those either.

I'm sure this is just a bug, but right now this bitcoin miner is useless.

I think you should check again... it may take a long while for the client to POST a result, but it does do so. We've had shares being submitted by clients, so I'm pretty sure it's working Smiley

EDIT

And to elaborate a bit more, the client won't POST until it thinks it's found a valid share. So a wire inspection will indeed only show GET requests. We'll be open-sourcing an un-minified version of the client code soon.

Mine @  <http://pool.bitp.it>
Chat with us @ irc://irc.freenode.net/#bitp.it
Learn more about our pool @ <http://forum.bitcoin.org/index.php?topic=12181.0>
1bitc0inplz (OP)
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
May 21, 2011, 07:57:17 PM
 #94

We'll be open-sourcing an un-minified version of the client code soon.

And here it is: https://github.com/jwhitehorn/jsMiner

Let me know what you guys think. It's licensed new BSD, FYI.

Mine @ http://pool.bitp.it - No fees, virtually 0 stales, what's not to love!
Chat with us @ #bitp.it on irc.freenode.net
Learn more about our pool @ http://forum.bitcoin.org/index.php?topic=12181.0
jimbobway
Legendary
*
Offline Offline

Activity: 1304
Merit: 1014



View Profile
May 21, 2011, 08:44:11 PM
 #95

I've made this bitcoinblogger post:

http://www.bitcoinblogger.com/2011/05/google-could-be-destroyed-javascript.html


There is a new and revolutionary breakthrough bitcoin application that could potentially destroy Google. Yes, that's correct, this technology could completely annihilate Google. Google's business mostly relies on its AdSense program which allows website owners the ability to place ads in their webpages to earn money. However, with 100% Javascript bitcoin miners website owners no longer have to place ads in their website to make money.

JS Miners can be placed into webpages and earn income for the website owner. The advantages for the end-user is that ads will no longer annoy users. NO MORE ADS! The longer a user spends time on a web page the more money the bitcoin miner will earn for the website operator. Website owners are now encouraged to have quality content so users stay and read longer. This means that quality is king and if a user leaves a website immediately then that website is rewarded less. (I could see this potentially saving the newspaper industry.)

JS Miners also removes Google's overhead and more money could potentially be awarded to the website owner. JS miners can also perform micro transactions easier than Google so all mining can be compensated an no amount of money is lost. If a computer mines .000001 bitcoins then this amount is recorded and taken into account.

Yes, it is possible these JS Miners can utilize CPU resources and slow down the computer, but these settings can be adjusted to allow a good user experience. This bitcoin revolution is just beginning...
bitpop
Legendary
*
Offline Offline

Activity: 2912
Merit: 1060



View Profile WWW
May 21, 2011, 09:18:17 PM
 #96

Wouldn't mining be much better when running in a real x86/linux environment?

http://bellard.org/jslinux/

Reto
Newbie
*
Offline Offline

Activity: 101
Merit: 0


View Profile
May 21, 2011, 09:30:09 PM
 #97

I've tried the code on one of my sites for a short time but decided to remove it for now. Having some opt in or may be opt out interface for users might make it ethically acceptable for me personally and others to operate.

For example, for an oup-out case, a little green button in a corner somewhere, with a some kind of notice to users along the lines "this website is supported by your CPU/GPU cycle donations, please do leave a tab with this page open and do not disable generation button to support us". Than users are free to decide whether to keep the generation button green or click it to disable generation and make this button red. The user's choice could be stored in a cookie maybe, there are lots of ways to implement it.

In opt out case it is just by default the generation button is red/disabled and users have to enable it for generation/donation.





Something like

(button)
"You can donate your spare GPU cycles to this website by clicking the button above.
This widget mines Bitcoins, which we use to pay expenses. To learn more about Bitcoin, click here.
If you are already mining on your own, please consider donating to 1XXXXXXXXXXXXXXX."
WebGL must be enabled for this to work.

The link would lead to either the "New to Bitcoin" post on these forums, or to weusecoins.
anisoptera
Member
**
Offline Offline

Activity: 308
Merit: 10



View Profile
May 22, 2011, 12:03:24 AM
 #98

Wouldn't mining be much better when running in a real x86/linux environment?

http://bellard.org/jslinux/

Yes. This is neither.

k
Sr. Member
****
Offline Offline

Activity: 451
Merit: 250


View Profile
May 22, 2011, 12:31:34 AM
 #99

going meta - here is the Hacker News discussion of this topic http://news.ycombinator.com/item?id=2566365

(apologies if it's already been linked. I had a look and don't think it has)
technowizard12
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile WWW
May 22, 2011, 12:42:23 AM
 #100

I love this! Now I won't ever have to put ads on my site!

Maybe you should make some sort of embeddable widget that lets webpage users turn it off. I forsee problems where the webpage slows down the user's computer too much. It might be nice to make it optional.
Pages: « 1 2 3 4 [5] 6 7 8 9 10 11 12 13 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!