This idea is fundamentally flawed because mining is ultimately a zero-sum game. If this approach became commonplace as the author suggests, it would greatly increase the number of publishers squabbling over much smaller pieces of the pie.
In any case, you're effectively paying for the mining on your power bill. So nevermind that this approach disadvantages users who pay higher rates for electricity or have older, less-power-efficient computers.
the environmental and social impacts of mining at large scale have to be considered. it just does not seem wise to spend so much electricity and CO2 for mining.
I did consider this, and spent an entire paragraph on it, in my article.
I agree, up to an extent, that mining as whole, has a problem to overcome. But, so far, there is no way to have a stake other than "electricity". And you need that stake (in the Proof Of Work) to solve the Byzantine Fault Tolerance.
Proof of stake, or even Proof of RAM (I'm just making that up here), Proof of Space are alternatives, some are actively being developed. Proof of Stake, might, potentially, solve this whole "energy wasting" thing.
But the fundamental question is: "Is it a waste of energy"? Is the burning of energy to secure a decentralized, autonomous, permissionless monetary system a "waste"? Maybe. but in that case there are far more obvious cases of "wasting" energy.
I think it is not a bad idea, imagine the mining is taking place only when the page is active and (max) 5 - 10$ on your electricity bill split among all the publisher, a much better alternative to ads if you ask me.
This is what I -somewhat- did in the example: I've disabled it for mobile. I don't think browsers have an API to detect what power-source the underlying machine is using, though.
It is possible to detect mobile and disable it completely, but for now, because it's mostly demo material, I'll leave it enabled for mobile too. In a real-world scenario you'd probably show a message or explain why a mobile user cannot use it. That would certainly give you credits.
But the $5 in electricity costs would only earn $3 (random guess) of cryptocurrency, making the whole scheme a convoluted and very inefficient money transfer mechanism.
* javascript miners operate at a fraction of the efficiency of native miners (I don't have exact numbers, but I vaguely remember somewhere between 1/2 to 2/3)
* "professional" (ie. non-javascript) miners use high end CPUs, whereas the typical user might be on a i3 or ARM device. this matters because monero mining gets a significant performance boost from a bigger cache.
* "professional" mining pools have fees of ~1%. coinhive has a fee of 30%.
* mining is competitive market, where profit margins are low.
I actually didn't know that coinhive's fee was that high. that alone means $3 of every $10 is "lost" as transaction fees.
If you aren't specifying the cost per KW/h and the financial benefit per KW/h, then you are just making assumptions about how the finances work within the context of the current market structure and participants.
None of these things leads to the conclusion that there isn't an arrangement whereby a website visitor can dedicated x seconds to mining and end up paying a reasonable amount in incremental electricity costs for doing so while providing a third-party with a sufficient financial benefit to compensate for the cost of the content consumed/service provided.
Even if it makes sense today, if the approach became commonplace, it would become a lot less effective, as it would require a commensurate and sustained increase of the value of the relevant cryptocurrency for the $0.02/hour that is currently generated by one user to not drop to $0.0002/hour once 100x as many users are participating.
This barely makes sense today, where are your hard numbers showing how this will work if we try to fund journalism by throwing a coinhive script onto nytimes.com?
Tech people love these sorts of things, because it allows us to pretend we've solved a tough social problem (how do we pay for journalism) with a neat cryptographic hashing algorithm, when in reality we've just invented a horribly inefficient way to add hidden micro-transactions to our end user's power bills.
If we are talking about whether a specific existing technology will make this all work, then I agree, I have no hard data to back that up.
But the article is talking about the idea of a cryptocurrency which is mined in the browser as a potential area of exploration for a way to allow a publisher to directly monetize their users electrical resources in return for products or services.
Most of these comments are looking only through the lens of what exists today and assuming that the only implementation is a direct you-mine-coin-you-pay-with-your-coin-who's-value-to-USD-fluctuates. There is no reason a system would need to do that.
It would be just as feasible for a publisher to grant access to the service based on the time the miner is running above some speed threshold not its total cumulative speed, even if the cumulative speed is what is generating value for the publisher. The threshold becomes the fixed price, and fixed prices across customers who provide variable levels of value to a company are common.
I'm not contesting you, I agree, these don't seem like compelling financial transactions. There's just no reason to assume that such a system has to be a mine-and-then-pay-with-what-you-mined-in-USD-equivalent even though that's all that exists today.
More useful would be a 'pay by letting us consume some fixed amount of electricity by doing some mining with your browser'. The difference between what you paid for electricity and what the company is providing you in products/services determines your cash cost, and is different for every person.
That's all POW cryptos are anyway, buying electricity and turning it into a coin that then sells for cash. The worst case would be if you had to pay in cash because its so slow, so then it became just paying with the coin directly, so why not go back further and pay with the electricity directly and let the publisher deal with mining and coins and such?
When I pay in cash (digital or otherwise), I know what I give out in terms of value for goods or services. This concept of renting out your computer time on the other hand is vague. How much 'currency' will be mined? Will it be proportional to the goods/services I get to use in exchange? How long will the process take? What if my system fails midway during 'payment'? Can this concept be extended to run arbitrary code in your browser in exchange for the service? Right now Javascript is at least nominally related to the page you access. But what if tomorrow the code you're asked to execute is totally unconnected with the service being offered?
This just smacks of convenience for the implementers and as for the user, it exchanges a straightforward system for a murky deal.
>When I pay in cash (digital or otherwise), I know what I give out in terms of value for goods or services. This concept of renting out your computer time on the other hand is vague.
When you watch ads and get data-mined do your really now how much value you pay? I don't think so, it's safe to safe that all of us have no clue about the price we indirectly pay for services we on internet, most of it is just free in appearance.
>How much 'currency' will be mined? Will it be proportional to the goods/services I get to use in exchange? How long will the process take? What if my system fails midway during 'payment'?
The norms are not established yet since it's a totally new way to monetize content on internet however how much you will pay will probably be determined in hashes.
Here an example with a new blockchain (Nimiq) of a micropayment you could do: http://coinmiq.com/mine/eyJ3YWxsZXQiOiJOUTI3IFJDNUIgOUU1QSBT...
>This just smacks of convenience for the implementers and as for the user, it exchanges a straightforward system for a murky deal.
I disagree, in my opinion it opens an entire new way to do micropayments on the web.
Actually that's what I like about the idea. Reading prices, considering value of the things I buy in relation to those prices, picking most worthy alternative is a job that is assigned to every consumer by free market. I find it bothersome and after two decades or so of being consumer it is boring for me. Just saying "pay this guy whatever" without the fear of being taken to the cleaners sounds very attractive to me.
No I meant straight up paying for services through money, not selling yourself as a product. The former is better than letting ads hound you, and in my mind, better than being forced to rent out your system's hardware in exchange.
I would honestly prefer more services and content creators asking for reasonable payments and more integration of multiple, seamless, international payment options into sites and services. Currently a major reason I don't pay for some services I otherwise would is because the payment process is very clunky or downright broken.
> No I meant straight up paying for services through money, not selling yourself as a product.
Ah, gotcha. TBF, most of the discussion around this is about replacing ad-funded models with browser-based mining, not replacing direct payments.
> I don't pay for some services I otherwise would is because the payment process is very clunky or downright broken.
This is a great reason to look harder at in-browser mining.
Electrical utilities have far lower payment processing costs than SAAS payment providers like Stripe. They also provide a way of aggregating many microtransactions in a way that credit-card networks actively try to prevent.
Opting in to in-browser mining is either stupid or theft. CPU mining costs more in electricity than you get out in currency. If you pay for your own electricity, you'd be better off donating directly. If you don't pay for your own electricity, you're donating electricity from whoever is paying for that electricity. This may or may not be theft, but is definitely morally dubious.
> If you pay for your own electricity, you'd be better off donating directly.
But to donate directly, you'd need a common payment service. That means registering (password and two-factor), then either transferring money to your account or authorizing it to draw from your bank account, and finally sending the payment, probably revealing a fair few bit of information about yourself to a website you may like but not necessarily trust. And every step of that process can be hacked, or have connection problems, or you may be on a different computer and need to re-login, and so on.
Paying with electricity lets you skip all that, and HN should be well aware that convenience is worth a lot of money.
In addition to that, with money you must choose how much to donate, and that is a burden on its own. (Does this blogger deserve one buck, or two? I gave two to that article last week, and this dude is almost as good, but I've decided my weekly budget is X €, and I'm almost over it, etc. etc.)
With a JS miner, you pay exactly as long as you keep the tab open, which is a pretty good proxy for how much the page is personally valuable to you.
Not good enough, not by a long shot. Even with that feature and all browser windows are completely minimized they still take a significant amount of CPU without any mining going on.
I have an average of 30 tabs open at all times and to be honest I don't see it. Aside from the RAM usage background tabs are dormant. Where did you get this info?
For "paying with electricity" to be a reasonable description, it had better be the case that most of the cost of the electricity ends up with the site owner. That's not going to work with mining schemes where aging personal computers are the worst at it.
I literally have tabs open for months at a time. If any more than 0 of them tries to mine without me explicitly opting in I'd be furious.
There are services such as flattr and patreon that tries to fix this. It is not perfect and the horrendous javascript-infested pages today and click-bait focus doesn't exactly encourage donation.
> CPU mining costs more in electricity than you get out in currency.
This is a huge assumption that you are making no attempt to back up.
Without specifying what currency is being mined or the rate of earning it per kw/h you have no way of determining the relative value of those two things.
Lots of people pay their own electricity but can't pay directly for online content.
Especially in the third world, people often don't have credit cards or bank accounts. When they do, transaction costs make microtransactions inefficient.
What's morally dubious is you telling me what I can and can't do with my own computer and my own electricity that I pay for. I'm a grown adult and don't need people like you calling me stupid. I've had enough of this kind of moral proselytizing, thankyou very much.
If browser mining was a good deal for the end user the vast majority of its proponents wouldn't feel the need for stealth. As it is implemented currently It's yet another example of preaditory behaviour killing herbivores at the digtal watering hole.
If browser mining was a good deal for the end user the vast majority of its proponents wouldn't feel the need for stealth.
Paul Graham might disagree;
"The two most important things to understand about startup investing, as a business, are (1) that effectively all the returns are concentrated in a few big winners, and (2) that the best ideas look initially like bad ideas." (emphasis mine) [From http://www.paulgraham.com/swan.html]
Stealth is not necessarily a sign something is bad; it might just be hard to persuade people that it's good, and that's a reason to be stealthy.
I'm afraid the doctrine of "if it looks bad, it must be good!" is not in fact true or generally applicable. And it's not what Graham is saying, for that matter. If you read a bit further:
"It also reminds you that the vast majority of ideas that seem bad are bad."
The idea of running up every web browsing computer to 100% CPU, costing them tens of dollars in electricity while giving you a few cents of cryptocurrency, seems bad and is bad.
I totally agree that the way it's implemented currently is awful however don't throw the baby out with the bathwater, it's a new way to transmit very very small amount of values.
It's not insignificant. Bitcoin mining already consumes as much energy annually as Denmark – that means the entire country, heating, cooling, industry, everything:
Exactly. What more, it "only" consumes as much energy annually as a whole country because the bulk of the mining is currently done using specialized hardware.
If websites begin to crowdsource mining on their visitors' PCs using JavaScript, the energy consumption will be even higher.
In the grand scheme of things (context being the carbon footprint of humanity) it is insignificant, just like Denmark's carbon footprint is.
Let's optimize the real stuff, not some trivialities (like the Christmas lights in the USA pointed out as a reply).
There's 24/7 AC in USA and China in the masses. There's Brazilian and Argentinian agriculture removing rainforests to grow food for the USA or EU that grows cattle. (EU takes unbelievable amounts of rainforest grain/legumes to feed its livestock, an absolute travesty and hipocrisy)
The footprint of these developments is insanely large, yet somehow coin mining is an issue.
We could then jump to optimize the Internet infrastructure too, despite being 1-2% of CO2 equivalent footprint.
Yes, I understand coin mining seems a bit useless but I'm pretty sure heating and cooling is wasted in magnitudes more amounts, being applied in badly designed buildings, or cooling the streets of Las Vegas.
The cost of building a nuclear reactor in the West is in the ballpark of $10 billion these days. It's not a trivial expense.
If we're going to soon need dozens of nuclear reactors to power cryptocurrencies, that's worth discussing at least. You can't brush it away as something insignificant in the grand scheme of things.
No one is going to build nuclear reactors in the West for cryptocurrency mining. Just like no one is building nuclear reactors for powering christmas lights or Amazon servers, or Internet servers.
Last months bitcoin trade volume was $273 billion.
Let's say a reactor works for 10 years.
That would give $32,760 billion in trade, and reactor cost would be 0.833% of that.
Not a big fee if you ask me.
Of course, if cryptocurrencies would scale so they become significant between other trades, we can't just built thousands of nuclear reactors. This is where proof of stake will come into play.
What if my electricity comes from solar or nuclear power? Have you ever taken a commercial air flight? Please, no. Stop doing that already. Your carbon footprint is too high.
So I guess I'm clearly in favor of it. In general I would prefer opt-in mining to advertising. If you are interested in why, I'll be happy to discuss. I think my thoughts are laid out in the README.
It won't mine unless you ask it to. The point of the demo is to check out what impact various degrees of mining have on your other activities. The default is VERY low with a single thread and 50% throttle.
I'm not sure if this is a polarizing topic, or if I'm not thinking clearly about it because I've gotten on the boat, drunk the kool-aid, or whatever.
When we look at conventional money, (specifically the USD,) "printing" money is available to almost everyone with decent credit. We print money when we use credit cards and when we take out a mortgage on a home.
If websites took small payments in a cryptocurrency where mining the cryptocurrency took about the same amount of time as it takes to consume the content, then "printing" money is available to almost anyone with a decent device. It's also a good way to set a price for content; instead of some bozo thinking that his/her article is worth $3 or $15.
I think that cryptocurrency, as a technology, still has far to go before it can support this kind of commerce. This is in terms of technological improvement, scalability, and a design that takes into account how economics works on a large scale.
HN of all places really surprised me with this reaction. Publishers _desperately_ need an alternative payment system with the convenience of an ad-supported model, microtransactions, and a direct payer-payee relationship. Browser-based mining has a potential to provide that, but it is still very early and evolving.
Also why is everyone talking about Bitcoin in this thread? No one is trying to mine Bitcoin in the browser. There are other cryptocurrencies than Bitcoin. Some of those are designed to run in the browser specifically to address the concern with using a POW system in an intentionally resource-constrained environment.
It seems they have opted to prefer browser miners and botnets over centralization caused by dedicated hardware (ASICs).
Profitibility in the traditional sense factors in electricity, but when you're using someone else's electricity, that's not a consideration. If you have enough users, the return is quite reasonable for the site owner.
Is this for real? There is no justification. It’s theft plain and simple. Nothing has gotten me to turn on NoScript by default but if this becomes commonplace I will.
I know the author is doing opt-in mining but that’s obviously going to be as popular as opt-in ad tracking vs automatic. The model will be pages just serve up the in browser mining without asking.
I would say that opt-in could see some success if used in place of paywalls, etc. Sure, not many people are going to opt-in to "please give me some money, I work hard", but if the New York Times said, this article is for subscribers, but you can read it if you'll mine for me while doing so.
I think the best use case is would be for non-profit that depend on donations like Wikipedia or perhaps video streaming websites like Youtube(consumed using Desktop).
In any case, you're effectively paying for the mining on your power bill. So nevermind that this approach disadvantages users who pay higher rates for electricity or have older, less-power-efficient computers.