What happens when I choose to “Suppress Ads” on Salon?
salon.com
salon.com
This is extra bad when you're viewing on a phone, tablet or battery powered laptop.
Although it's not quite the same thing, it makes me think of how bandwidth heavy pages are now. Once upon a time, I browsed the web on 56K, or even 14.4K. Now, when my phone gets throttled to 128K many sites are unbearable.
was nice back in days when fee was low
If this catches on it might spur alternate and less wasteful solutions, but until then I've been all for this.
It doesn't waste electricity. It uses a lot of electricity to create a secure global payment network that can solve the micropayments problem. Sacrificing efficiency for decentralization was a key design decision in Bitcoin.
YouTube cat videos and daytime television are genuine wastes of power. Humanity has to solve the power generation problem and processors are already far more power efficient than they were.
Further, I'm not sure how it would solve clickbait. Surely clickbait => more clicks => more people running your miner (just as it currently leads to more ad. views)?
In other words, you could replace proof of work with finding the largest clique in a graph, and try doing that in ASIC.
Ultimately cryptocurrencies have some value offering, but it's of dubious utility, because you can get 99% there with a little bit of trust, and then you don't have to pay this humongous upkeep in electricity.
Popularity of cryptocurrencies is almost entirely driven by greed, so it obscures the actual value of blockchain tech.
Even if Bitcoin dies, we still don't need to bring PoW again.
Someone™ is paying good greenbacks for irrefutable proof of me wasting kilowatts. The more I try to understand that part of the crypto value chain, the more bizarre it seems. "It's a store of value", i.e. Salon.com can later pay someone else with the same "proof of wasted cpu cycles"? What?!
And in this case, trust seems to be the underlying commodity.
The hard problem that the mining algorithm computes is a Hash of a batch of transactions together with some meta data. This meta data also includes the Hash of the previous batch. This is creating a cryptographic chain of transaction batches (blocks). A Blockchain.
This is securing the transactions in the following way:
- You can not change a transaction without changing the hash of the batch the transaction was included in.
- This would also change the hash of all transaction batches that follow.
- The crypto currency miners and users follow the longest chain with the most work put into.
- To fake or alter a Transaction you would need to recalculate the hashes of the blocks that follow faster then the honest miners so that your new chain is the longest chain.
- More honest miners means it is harder to manipulate the blockchain since to do that you would need to control more then 51% of the global hash power of this currency.
Securing a Blockchain is not as noble of an effort then curing cancer with Folding@Home, but it is also not just wasting electricity.
The value in proving some amount of work was done is that it’s a mechanism for defeating fraud.
The only thing people are actually using Bitcoin for right now is to sell to other people for more than they bought it (or maybe to sell for less than they bought it to launder money).
The total amount made by the buyers and sellers is zero (because every buyer is buying from a seller), and there has to be a constant inflow of new buyers just to cover the cost of the hardware and power.
It will make sense to you in 5 years.
How did the family get the capital asset of an antminer in the first place? How are they paying for electricity?
How is this sustainable? Why is a random family able to compete with businesses that have real economy of scale, rather than having their margin driven to zero?
https://coin.dance/volume/localbitcoins/VEF (example of local trading)
Remittances, family abroad (easy via BTC to circumvent restrictions). Bitcoin is stable compared to a hyper inflation of +2,616%.
But they have utility. At this point I think mostly for gamblers and criminals as you said yourself.
But they also have utility for all sorts of tinkerers, and via that route they may eventually become more useful to the rest of us.
The real problem is the associated upkeep. If it were to get comparable in use with fiat, I believe Bitcoin would quite literally cook us all on this planet. The energy characteristics of crypto are unbounded from top, and this is seen as a feature - unlike normal financial systems, which try to minimize it.
Proof of work is not a per transaction cost. It's a per block cost that doesn't depend on the number of transactions per block or the size of the block.
But still, the way the incentives are structured in this whole game seems somewhat perverse. Otherwise we would never have gotten to a point where bitcoin mining has a country sized energy profile.
Why is that proof of work of any value, to anyone?
Hard work, just for the sake of hard work, is a great ideal to the the previous generations - but we traditionally have based our economy on how much your work benefits someone, not how hard you worked.
Mining bitcoin is extremely hard, with precisely zero benefit. The only thing of value is the work itself. Quite zen, even.
Or would be, if GPUs could experience enlightenment.
One day, maybe.
It isn't proof: you could have used a digger. The point of Bitcoin-style proof-of-work is that everyone has to use a teaspoon, and if you want to 'go back in time' and rewrite transactions you have to do more work with a teaspoon than everyone else is doing.
You’re making it sound like you genuinely don’t understand proof of work. Proof of work is the reason that it is effectively impossible to fraudulently alter Bitcoin transactions. Again, it’s fine if you don’t care about that because you don’t see any value in those transactions, but surely you recognize the huge importance of preventing the modification of previous transactions in any sort of payment system.
Has it though? Do you have any data to back up this assumption?
I can't find ANYONE who is tech illiterate who understands any of this stuff and those that I know are tech literate either don't notice or don't care about JavaScript. I've only ever met very, very few people who disable JavaScript and when they do it's always been piecemeal.
I haven't been able to find any statistics regarding who does and doesn't disable JavaScript, their group size, etc. It would be really interesting to know!
I have personally succeeded in convincing more people to disable javascript in the last few months than I have since Javascript was introduced in Netscape Navigator 2.0.
> this assumption?
I'm offering personal experience, not an assumption.
1) Permission is requested first
2) The UX is good (it stays out of my way and doesn't slow down my device)
3) The mining finishes when I leave the site
Most of the problems with the modern web stem from the failure of browser vendors to implement a good user-centric permissions model. They all hold an unquestioned belief that more power in the platform is always better, and they've all spent the past 15 years kowtowing to developers, advertisers, and profit-motivated corporations instead of protecting their users from the above.
I want a simple, limited, fast, secure, document-centric platform which allows the site to request the execution of additional functions. Publishers unsurprisingly abuse the freedom they currently enjoy to throw up popovers on every page, secretly steal CPU cycles, load-on-demand videos that follow me as I scroll, and track every move I make online. I don't want any of that to work by default.
A common, well-intentioned argument against my point of view in the last few years has been that the web platform needs to compete with native mobile apps. That argument carried a lot more weight when everyone was installing tons of native apps. But increasingly we're at the point where we're sick of native apps for all the same reasons we're sick of the web -- they too are bloated attention + data thieves.
We need a true user-first platform. I'll pay for sites or apps on that platform, or I'll let them use my CPU to mine crypto. I just want them to not suck.
Microsoft, Mozilla and Apple could all lead the way in shipping browsers that are pro-user. Mozilla's got the heart for it, Microsoft and Apple have little to lose. Leaders at all these companies have failed to lead and demonstrate vision, relegating themselves to playing second fiddle to Google on the web because they think shitty popup ads will be the final word in web history.
I suggest that such creating a proper permission model isn't possible, because it isn't possible to determine the behavior of Turing complete programs without running them[1]. Browsers are currently chasing the impossible[2] goal of trying to enumerate badness - often only the known types of badness that fit their permission model.
> I want a simple, limited, fast, secure, document-centric platform
We had that: HTML, before Javascript. Allowing any Turing complete code to run at all will always be risky[3].
[1] halting problem
[2] http://www.ranum.com/security/computer_security/editorials/d...
If they want to run JavaScript that uses more than say 5% CPU or more than 300 MB of memory (both on average over 30 seconds) they must ask for permission.
Anything custom requires permission.
Also, don't crypto-miners need to pass their results back? That's one point of attack - restrictions on what data can be passed back.
Aka declarative configuration, which we have already: HTML.
Define new tags for if necessary.
> Anything custom requires permission.
You generate that server side.
HTML cannot perform 90% of what JS is used for, otherwise the js wouldn't be needed. "Define new tags" might be one way, ala Angular directives, but it would still require notions of safety attached to those directives/functions.
> You generate that server side.
A server-side crypto miner? Websites/apps are increasingly client-side intensive/heavy. Perhaps there is no need for non-generic/safe client side code, but I'm not so sure. In any case, requiring permission to run anything custom would be a reasonable restriction I think.
Yes, that's the goal.
> Angular ... directives/functions
HTML is a document format, not an application framework. My entire point is that complexity cannot be made safe. Repackaging the Turing completeness into different forms only moves the problem around. The only way to reduce the attack surface back to something that is decidable is to remove complexity (aka features).
> A server-side crypto miner?
You can do whatever you want on the server. However, I was replying to the desire for "anything custom".
> Websites/apps are increasingly client-side intensive/heavy.
Yes, that's the problem.
> but I'm not so sure
Server-side apps worked fine before Javascript existed, just like they did on the IBM 3270 which was the model for HTML+forms.
> requiring permission to run anything custom would be a reasonable restriction I think.
That only re-creates the current situation on phones where apps ask for everything and refuse to run if you don't grant them permission. That hasn't worked in practice, because it's easy to social engineer people that do not have the necessary engineering background to understand what that permission really means.
The solution I proposed doesn't require TC, except in code that needs explicit permission to run.
> reduce the attack surface back to something that is decidable
You don't need decidability, just trust. A function checked manually and signed by a reputable source is enough. Are internet browsers formally checked? The only aspect that needs to be decidable is composition of signed functions, not the functions themselves, as safety is represented by the signature.
building functionality into HTML might be similar, except I'd assume would be more bogged down by consortia. Add the ability to sign JS functions and verify their composition, and you can decide who's signatures to trust.
> Server-side apps worked fine before Javascript existed
Sure, but did they scale as well?
> That only re-creates the current situation on phones where apps ask for everything and refuse to run if you don't grant them permission
Maybe, it depends how you design it. I think that should change too. But those environments are currently restricted in ways the internet is not.
I'm also far happier for a website to indicate to me that they aren't worth my time by this kind of access refusal. Same thing happening with pay-walled news sites - I'll happily blacklist them.
You don't need to solve the halting problem to have a good user-centric permission model; permissions are about resources, not computation, the halting problem doesn't address use of resources. Whitelisting APIs, firewall-like control of access to external network resources, and possibly CPU usage limits would be sufficient, with he right UI.
The miner is run in a WebWorker so shouldn't affect the UI response time.
Regardless of which UI, you do not know people are using their computer for, or how much free CPU they have available.
My friend's 1.2Ghz Core 2 Solo[1] laptop takes many seconds to reload locally hosted static HTML. Loading a youtube page takes >30s, sometimes far more. Anytime a webpage has CPU-bound Javascript - intentionally or not - the mouse becomes a lot harder to use. No, they are not buying a new laptop anytime soon; they live below the poverty line with student loans and medical expenses.
[1] https://en.wikipedia.org/wiki/List_of_Intel_Core_2_microproc...
I approve of their transparency, and I don't have a rational complaint against the method of revenue generation at the moment, but the last part there is an attempt to put lipstick on the pig
[1] https://www.salon.com/2017/12/06/bitcoin-could-cost-us-our-c...
Salon was founded in 1995 (and its close analogue Slate a year later). I guess that "new media" can encompass anything that was primarily digital from the start, but it still feels weird to see that tag applied to something that has been around for over two decades now.
"Will my electricity bill go up or my laptop battery drain faster when I am participating?"
Can't help but think they omitted this on purpose.
Problem solved? I think so.
Site owners have incentive to run this proxy so they're not marked as a mining site OR to circumvent the X% fee that coinhive/other cryptocurrency pools collect.
So the adblock/ublock origin fixes will only work until site owners decide to start proxying. IMO search providers should penalize sites with poor performance (as they already do) and site owners are penalized if they suck the consumers CPU.
edit: Fixed last sentence
I'd also suspect that it'll just lead to different ways of detecting miners (e.g. fingerprinting the behaviour of mining algorithms, or just blocking scripts that use more than a set CPU budget by default).
Not sure if browsers can fingerprint script execution patterns, that's way further down than I go.
Script blocking will probably work most of the time, just as blocking certain urls gets rid of most ads.
I would totally do that since it is 26ºF right now and I am actually mining a shitcoin to heat my apartment. But you would need to have a easy to set a limit like 10% and back off (nice -19) so if I was doing heavy stuff it would throttle.
edit :: and I know minergate steals hashes. But the software is really nice.
I'm mining 50 H/s
https://www.cryptocompare.com/mining/calculator/xmr?HashingP...
Estimates in 24 hours I will generate 4 cents of revenue.
I'm only kind of kidding.
Anyway, I rather lend them some CPU than get ads on my screen.
My CPU, my bandwidth, I decide what runs.
If they want money, they can put up a paywall.
Exactly. No-one is forcing you. You are confusing this with sites starting the miner without consent.
Make it 100% opt-in and tell people in no uncertain terms up front what they're signing up for, then maybe.
It seems to be 100% opt-in in the terms of either you select ads or mining, I am certain you probably mean you want to opt out of ads and mining.
I do not wish to be forced into an opt-out situation. It is opt-in or nothing.
I will continue to block ads, miners and other malicious scripting. They can offer whichever ad or miner they want, and I will simply refuse and block all of them from appearing on my device in my browser to consume my battery power and my bandwidth.
They are more than welcome to put up a paywall, either single payments or a subscription service, and I will pay for their content if it is appealing to me. They are also welcome to (attempt to) block me for using JS/ad blocking. It will either be completely ineffectual and easily circumvented, or it will make me go to other sites, that don't treat their customers as cash cows.
I have absolutely no obligation to unknowingly fund other people's internet profiteering moonshots. If they want money, they can ask for it honestly and directly. I support several content creators on Patreon, and I regularly donate to various open source projects and the like.
I don't mind paying for stuff, but I do mind when it doesn't happen openly and transparently.
Is it clear what they're trying to mine? They have these silly feel-good examples like folding@home but it sounds more like they're going to be moving drug money for anarcho-capitalists like everyone else in this space. Probably Monero, right?
It’s technically possible, I mean nothing is stopping you from running mining code on your machine right now, but you would have little to no return on your electricity investment. Monero makes more sense.
To put this in perspective, a modern desktop CPU will do anywhere from 10 to 20 megahashes per second. A single ASIC will do 4 terahashes and up. The single ASIC is getting so many more bites at the pie that you would literally never mine a single block. Every single simultaneous Salon user could leave their browser open and the ASIC would out-hash their combined compute power in the blink of an eye. The developer time they’re spending on implementing this scheme would be better allocated by buying ASICs themselves!
> Monero is different. To mine Monero, you have to calculate hashes with an algorithm called Cryptonight. This algorithm is very compute heavy and – while overall pretty slow – was designed to run well on consumer CPUs.
> There are solutions to run the Cryptonight algorithm on a GPU instead, but the benefit is about 2x, not 10000x like for other algorithms used by Bitcoin or Ethereum. This makes Cryptonight a nice target for JavaScript and the Browser.
It doesn't sound like a lot, but even a dime or two per person adds up to more than these companies are seeing from the adblockers.
In my view, this will be part of the future of a somewhat ad-free internet.
Definitely feel it has an element of Bitcoin FOMO to it. The idea someone used their CPU could get rich off it angers people more than just a badly coded ad using the same amount of CPU.
(Not saying the anger isn't justified, purely an observation when really the power wastage is the same)
The only real argument against this is the environmental one, and it's a big one.
If browsers and sites could agree on a shared spec, it would provide great UX, with fine grained permissions, promoting well behaving websites while rate limiting others.
1) provides free content
2) provides content that's so irreplaceable that I will pay for it
3) dies
"We have noticed that processing in your browser is suspiciously slow; are you using a CPU blocker? ..."
The equivalent action is not “Salon buys their own mining rig”. The equivalent action is “you and a bunch of other readers kick in a buck, and then Salon buys a mining rig”.
Just nope. If you want to block me from accessing your content with an adblocker active, go for it. But you aren't using my machine like this.
Without explicit agreement I wonder if it's even legal.
There is no complex math problems being solved, it’s litteraly additions. I gringe my teeth everytime I hear that.
Doesn't sound like a particularly good idea, especially for laptop users.
I refuse to participate in the degradation of my devices' performance as "payment".
I block ads with great prejudice and I'll block miners with equal prejudice.
Both are a waste of my bandwidth, my battery power and my attention.
Brave is distributing this Token to the creators of the content you consume with the browser. Of course the user of brave needs to buy those tokens and in the end this is just a payment system for content, but it is a anonymous one and I would rather pay then have to run crypto miners on my laptop.
I've been pushing this idea for over a year now (as my HN and other social media comment histories can attest), most recently:
https://news.ycombinator.com/item?id=16242816
I should have patented this when I first had it.
Waiting for streaming music and video to embed mining in their players...
Or websites pooling together to stabilizing income streams and provide bulk access.
The idea to rent computer time to a publisher in exchange for content can be taken further.