Bitcoin Forum

Alternate cryptocurrencies => Altcoin Discussion => Topic started by: redpepper on July 20, 2015, 07:05:50 PM



Title: Preventing Botnet Mining
Post by: redpepper on July 20, 2015, 07:05:50 PM
When I read about ASIC resistant mining, it's pointed out that botnets can be used to mine the coin. Could adding something like CAPTCHA prevent botnets from mining?  Is there any ASIC resistant mining that already takes into account botnets?  We shouldn't give up ASIC resistant mining simply because of botnets, that's a cop-out answer.

I think that ASIC resistance is extremely important, as it lowers the barrier to securing the currency, giving all an equal ability to mine, not just the few elite.  There has to be a solution to botnets.


Title: Re: Preventing Botnet Mining
Post by: 8XMR on July 20, 2015, 07:59:14 PM
When I read about ASIC resistant mining, it's pointed out that botnets can be used to mine the coin. Could adding something like CAPTCHA prevent botnets from mining?  Is there any ASIC resistant mining that already takes into account botnets?  We shouldn't give up ASIC resistant mining simply because of botnets, that's a cop-out answer.

I think that ASIC resistance is extremely important, as it lowers the barrier to securing the currency, giving all an equal ability to mine, not just the few elite.  There has to be a solution to botnets.

Monero making solution smart mining. Many more members mining reduce impact of botnet hashrate

https://forum.getmonero.org/1/news-and-announcements/112/monday-monero-missives-20-december-8th-2014

"This is a feature that will evolve over time, but at its most basic it is something that will allow everyone running the client software to support the network in an unobtrusive manner. Smart Mining detects your CPU usage, and if your CPU is idle and you aren't on battery power (for laptops and/or connected UPS devices) it will begin mining. As soon you switch to battery power or your CPU activity picks up it will pause mining until it sees it is safe to start again. You still set your Monero address for Smart Mining, as always, and whilst your chances of solving a block may be relatively small (for now;) it is still an easy way to support the network without needing to purchase expensive equipment. This work is complete (for Linux) and is currently being tweaked to work on our other supported operating systems. Ongoing process can be followed here: https://github.com/oranjuice/bitmonero/tree/smart-mining"


Title: Re: Preventing Botnet Mining
Post by: bathrobehero on July 20, 2015, 08:29:17 PM
Botnets can mine anything, ASIC resistance have nothing to with it. It's just happens that ASIC coins are the least profitable for CPU/GPU botnets for obvious reasons.
And botnets usually going through a proxy so the pool has no way of knowing if a miner is a botnet or just a GPU farm as they can only see one connection from coming the proxy.

I also don't see how monero smart mining is a solution as most botnets work the exact same way to try hide themselves from the owners of the infected computers.
Most algorithms are also unprofitable to mine with CPU's if you have to pay for your electricity (unlike botnets) so deliberately mining with more CPU's and therefore wasting more electricity in order to somewhat offset botnets is a borderline retarded idea.


Title: Re: Preventing Botnet Mining
Post by: DaveyJones on July 20, 2015, 08:39:59 PM
Botnets can mine anything, ASIC resistance have nothing to with it. It's just happens that ASIC coins are the least profitable for CPU/GPU botnets for obvious reasons.
And botnets usually going through a proxy so the pool has no way of knowing if a miner is a botnet or just a GPU farm as they can only see one connection from coming the proxy.

I also don't see how monero smart mining is a solution as most botnets work the exact same way to try hide themselves from the owners of the infected computers.
Most algorithms are also unprofitable to mine with CPU's if you have to pay for your electricity (unlike botnets) so deliberately mining with more CPU's and therefore wasting more electricity in order to somewhat offset botnets is a borderline retarded idea.


Smart Mining is kinda a solution as it could make the mining less profitable, so the botnet or some botnets may find another thing to get money from.


Title: Re: Preventing Botnet Mining
Post by: bathrobehero on July 20, 2015, 08:45:20 PM
Botnets can mine anything, ASIC resistance have nothing to with it. It's just happens that ASIC coins are the least profitable for CPU/GPU botnets for obvious reasons.
And botnets usually going through a proxy so the pool has no way of knowing if a miner is a botnet or just a GPU farm as they can only see one connection from coming the proxy.

I also don't see how monero smart mining is a solution as most botnets work the exact same way to try hide themselves from the owners of the infected computers.
Most algorithms are also unprofitable to mine with CPU's if you have to pay for your electricity (unlike botnets) so deliberately mining with more CPU's and therefore wasting more electricity in order to somewhat offset botnets is a borderline retarded idea.


Smart Mining is kinda a solution as it could make the mining less profitable, so the botnet or some botnets may find another thing to get money from.

By deliberately wasting electricity with CPU's in order to increase the difficulty a bit? Who would do that? If that would have any effect, botnets would just mine something else like Lyra2RE as they seem to do now.
But as soon as the difficulty would drop or the price would increase they would be back at it again. Besides, making mining less profitable also decreases the network hashrate which is not ideal.


Title: Re: Preventing Botnet Mining
Post by: GingerAle on July 20, 2015, 08:50:44 PM
i don't know if it can be prevented, but at least in Monero I think an increased amount of GPU mining will help remove the market effects of botnet mining (theoretically, they sell at any price).

Some argue that botnets aren't a bad thing - they are, technically, securing the network. I'm still on the fence about that one.


Title: Re: Preventing Botnet Mining
Post by: DaveyJones on July 20, 2015, 09:08:34 PM
Botnets can mine anything, ASIC resistance have nothing to with it. It's just happens that ASIC coins are the least profitable for CPU/GPU botnets for obvious reasons.
And botnets usually going through a proxy so the pool has no way of knowing if a miner is a botnet or just a GPU farm as they can only see one connection from coming the proxy.

I also don't see how monero smart mining is a solution as most botnets work the exact same way to try hide themselves from the owners of the infected computers.
Most algorithms are also unprofitable to mine with CPU's if you have to pay for your electricity (unlike botnets) so deliberately mining with more CPU's and therefore wasting more electricity in order to somewhat offset botnets is a borderline retarded idea.


Smart Mining is kinda a solution as it could make the mining less profitable, so the botnet or some botnets may find another thing to get money from.

By deliberately wasting electricity with CPU's in order to increase the difficulty a bit? Who would do that? If that would have any effect, botnets would just mine something else like Lyra2RE as they seem to do now.
But as soon as the difficulty would drop or the price would increase they would be back at it again. Besides, making mining less profitable also decreases the network hashrate which is not ideal.


Well if it would have an effect, maybe other coins would follow making everything less profitable, so the Botnet may switch away from coins at all.


Title: Re: Preventing Botnet Mining
Post by: bathrobehero on July 20, 2015, 10:20:05 PM
Botnets can mine anything, ASIC resistance have nothing to with it. It's just happens that ASIC coins are the least profitable for CPU/GPU botnets for obvious reasons.
And botnets usually going through a proxy so the pool has no way of knowing if a miner is a botnet or just a GPU farm as they can only see one connection from coming the proxy.

I also don't see how monero smart mining is a solution as most botnets work the exact same way to try hide themselves from the owners of the infected computers.
Most algorithms are also unprofitable to mine with CPU's if you have to pay for your electricity (unlike botnets) so deliberately mining with more CPU's and therefore wasting more electricity in order to somewhat offset botnets is a borderline retarded idea.


Smart Mining is kinda a solution as it could make the mining less profitable, so the botnet or some botnets may find another thing to get money from.

By deliberately wasting electricity with CPU's in order to increase the difficulty a bit? Who would do that? If that would have any effect, botnets would just mine something else like Lyra2RE as they seem to do now.
But as soon as the difficulty would drop or the price would increase they would be back at it again. Besides, making mining less profitable also decreases the network hashrate which is not ideal.


Well if it would have an effect, maybe other coins would follow making everything less profitable, so the Botnet may switch away from coins at all.

Decreased profitability would also mean higher centralization since only the big farms with cheap electricity could continue mining with a profit and the average joes with small to medium farms with above average or even average electricity prices would have to eventually stop mining which would mean less hashrate, less nodes, less network security and less people involved.


Title: Re: Preventing Botnet Mining
Post by: redpepper on July 21, 2015, 12:56:46 AM
When I read about ASIC resistant mining, it's pointed out that botnets can be used to mine the coin. Could adding something like CAPTCHA prevent botnets from mining?  Is there any ASIC resistant mining that already takes into account botnets?  We shouldn't give up ASIC resistant mining simply because of botnets, that's a cop-out answer.

I think that ASIC resistance is extremely important, as it lowers the barrier to securing the currency, giving all an equal ability to mine, not just the few elite.  There has to be a solution to botnets.

Monero making solution smart mining. Many more members mining reduce impact of botnet hashrate

https://forum.getmonero.org/1/news-and-announcements/112/monday-monero-missives-20-december-8th-2014

"This is a feature that will evolve over time, but at its most basic it is something that will allow everyone running the client software to support the network in an unobtrusive manner. Smart Mining detects your CPU usage, and if your CPU is idle and you aren't on battery power (for laptops and/or connected UPS devices) it will begin mining. As soon you switch to battery power or your CPU activity picks up it will pause mining until it sees it is safe to start again. You still set your Monero address for Smart Mining, as always, and whilst your chances of solving a block may be relatively small (for now;) it is still an easy way to support the network without needing to purchase expensive equipment. This work is complete (for Linux) and is currently being tweaked to work on our other supported operating systems. Ongoing process can be followed here: https://github.com/oranjuice/bitmonero/tree/smart-mining"


That doesn't sound like a solution to preventing botnets from mining.  I'm wondering about ways to authenticate a miner using some form of human input, like a captcha does for the web.  To start mining, you have to verify that you are a human doing it.  If someone has hacked a bunch of computers, they must first get the user to preform an action before the mining network will let them mine.  This would prevent a botnet from hiding in the background of a hacked computer, mining away.  Something along these lines is what I'm wondering about.


Title: Re: Preventing Botnet Mining
Post by: bathrobehero on July 21, 2015, 01:45:07 AM
When I read about ASIC resistant mining, it's pointed out that botnets can be used to mine the coin. Could adding something like CAPTCHA prevent botnets from mining?  Is there any ASIC resistant mining that already takes into account botnets?  We shouldn't give up ASIC resistant mining simply because of botnets, that's a cop-out answer.

I think that ASIC resistance is extremely important, as it lowers the barrier to securing the currency, giving all an equal ability to mine, not just the few elite.  There has to be a solution to botnets.

Monero making solution smart mining. Many more members mining reduce impact of botnet hashrate

https://forum.getmonero.org/1/news-and-announcements/112/monday-monero-missives-20-december-8th-2014

"This is a feature that will evolve over time, but at its most basic it is something that will allow everyone running the client software to support the network in an unobtrusive manner. Smart Mining detects your CPU usage, and if your CPU is idle and you aren't on battery power (for laptops and/or connected UPS devices) it will begin mining. As soon you switch to battery power or your CPU activity picks up it will pause mining until it sees it is safe to start again. You still set your Monero address for Smart Mining, as always, and whilst your chances of solving a block may be relatively small (for now;) it is still an easy way to support the network without needing to purchase expensive equipment. This work is complete (for Linux) and is currently being tweaked to work on our other supported operating systems. Ongoing process can be followed here: https://github.com/oranjuice/bitmonero/tree/smart-mining"


That doesn't sound like a solution to preventing botnets from mining.  I'm wondering about ways to authenticate a miner using some form of human input, like a captcha does for the web.  To start mining, you have to verify that you are a human doing it.  If someone has hacked a bunch of computers, they must first get the user to preform an action before the mining network will let them mine.  This would prevent a botnet from hiding in the background of a hacked computer, mining away.  Something along these lines is what I'm wondering about.

As I said botnet owners generally point the infected computers towards their stratum proxy. So potentially thousands of infected computers connect to one point which can be pointed at any pool as a single connection like if you were to rent rigs on miningrigrentals that also redirects the rented hashrate. So for all the computers in a botnet only one captcha would be needed by the botnet/proxy owner.

Unless you create a pool which only allows a custom miner to connect with that has a captcha built into it. But why would anyone use that? And even if there was an incentive to use such a miner, people would eventually hack the miner so that it wouldn't require captcha or that it could be used on a normal pool.

Depending on which group of miners you want to favor, I think the best bet would be if coins would use algos that are the fastest on GPUs, very slow on CPUs and there's no ASIC yet.
I'd imagine the vast majority of infected computers only have 1 mediocre CPU and 1 mediocre GPU while mining rigs have 1 weak CPU and 6 powerful GPUs so a GPU friendly algo might make the biggest difference.


Title: Re: Preventing Botnet Mining
Post by: redpepper on July 21, 2015, 02:34:00 AM
When I read about ASIC resistant mining, it's pointed out that botnets can be used to mine the coin. Could adding something like CAPTCHA prevent botnets from mining?  Is there any ASIC resistant mining that already takes into account botnets?  We shouldn't give up ASIC resistant mining simply because of botnets, that's a cop-out answer.

I think that ASIC resistance is extremely important, as it lowers the barrier to securing the currency, giving all an equal ability to mine, not just the few elite.  There has to be a solution to botnets.

Monero making solution smart mining. Many more members mining reduce impact of botnet hashrate

https://forum.getmonero.org/1/news-and-announcements/112/monday-monero-missives-20-december-8th-2014

"This is a feature that will evolve over time, but at its most basic it is something that will allow everyone running the client software to support the network in an unobtrusive manner. Smart Mining detects your CPU usage, and if your CPU is idle and you aren't on battery power (for laptops and/or connected UPS devices) it will begin mining. As soon you switch to battery power or your CPU activity picks up it will pause mining until it sees it is safe to start again. You still set your Monero address for Smart Mining, as always, and whilst your chances of solving a block may be relatively small (for now;) it is still an easy way to support the network without needing to purchase expensive equipment. This work is complete (for Linux) and is currently being tweaked to work on our other supported operating systems. Ongoing process can be followed here: https://github.com/oranjuice/bitmonero/tree/smart-mining"


That doesn't sound like a solution to preventing botnets from mining.  I'm wondering about ways to authenticate a miner using some form of human input, like a captcha does for the web.  To start mining, you have to verify that you are a human doing it.  If someone has hacked a bunch of computers, they must first get the user to preform an action before the mining network will let them mine.  This would prevent a botnet from hiding in the background of a hacked computer, mining away.  Something along these lines is what I'm wondering about.

As I said botnet owners generally point the infected computers towards their stratum proxy. So potentially thousands of infected computers connect to one point which can be pointed at any pool as a single connection like if you were to rent rigs on miningrigrentals that also redirects the rented hashrate. So for all the computers in a botnet only one captcha would be needed by the botnet/proxy owner.

Unless you create a pool which only allows a custom miner to connect with that has a captcha built into it. But why would anyone use that? And even if there was an incentive to use such a miner, people would eventually hack the miner so that it wouldn't require captcha or that it could be used on a normal pool.

Depending on which group of miners you want to favor, I think the best bet would be if coins would use algos that are the fastest on GPUs, very slow on CPUs and there's no ASIC yet.
I'd imagine the vast majority of infected computers only have 1 mediocre CPU and 1 mediocre GPU while mining rigs have 1 weak CPU and 6 powerful GPUs so a GPU friendly algo might make the biggest difference.


I like the thought behind the GPU friendly algo.   Another thought I'm having is make the mining a simple process, then limit the work a single miner can submit, and require each miner on the network to be authenticated using human verification.  That would defeat the benefit to pooling or using proxies.  It would also open the door for smaller devices to participate.  It might be such that it would only be profitable to run miners on equipment that people would use regardless, like laptops and phones, while making large scale operations not profitable. 


Title: Re: Preventing Botnet Mining
Post by: tromp on July 21, 2015, 02:59:58 AM
I think that ASIC resistance is extremely important, as it lowers the barrier to securing the currency, giving all an equal ability to mine, not just the few elite.  There has to be a solution to botnets.

Make the PoW require so much memory that a significant fraction of machines will start swapping,
possibly alerting the user that his machine is owned, and triggering a cleanup.
I expect botnet operators will shun such a PoW in favor of ones they can run in stealth mode...

Also make the PoW asymmetric so that while mining requires memory, verification does not
and remains instant.

Or one may just need to have faith that if a coin is sufficiently popular
(with cpu-mining being more efficient than gpu mining)
then there will be enough bona-fide miners to dwarf botnets.


Title: Re: Preventing Botnet Mining
Post by: GingerAle on July 21, 2015, 03:43:58 AM
I think that ASIC resistance is extremely important, as it lowers the barrier to securing the currency, giving all an equal ability to mine, not just the few elite.  There has to be a solution to botnets.

Make the PoW require so much memory that a significant fraction of machines will start swapping,
possibly alerting the user that his machine is owned, and triggering a cleanup.
I expect botnet operators will shun such a PoW in favor of ones they can run in stealth mode...

Also make the PoW asymmetric so that while mining requires memory, verification does not
and remains instant.

Or one may just need to have faith that if a coin is sufficiently popular
(with cpu-mining being more efficient than gpu mining)
then there will be enough bona-fide miners to dwarf botnets.

boulderhash POW of pebblecoin tried that. For some reason, he eventually switched over to a weird POS.

but even with boulderhash botnets were still using it.


Title: Re: Preventing Botnet Mining
Post by: tromp on July 21, 2015, 04:01:15 AM
boulderhash POW of pebblecoin tried that. For some reason, he eventually switched over to a weird POS.

Boulderdash appears to be hashcash based and thus symmetric.
That means it's doomed from the start since verification will need as much memory as mining.

Quote
but even with boulderhash botnets were still using it.

I find it very hard to believe that botnets would try to allocated GBs of memory.
Could it be that they found a way to use only a tiny fraction of the intended memory?
Is there any kind of white paper on boulderhash?





Title: Re: Preventing Botnet Mining
Post by: billotronic on July 21, 2015, 04:13:58 AM
Prevent botnet mining? lol it's called PoS yo.

pay me.


Title: Re: Preventing Botnet Mining
Post by: redpepper on July 21, 2015, 04:50:29 AM
Prevent botnet mining? lol it's called PoS yo.

pay me.

Currently, PoS seems to only work in conjunction with PoW.  How would you get a fair distribution in a purely PoS coin?  From what I can tell, all insta-mined, IPO and other like coins haven't taken hold.  Enlighten me if I'm missing something.


Title: Re: Preventing Botnet Mining
Post by: billotronic on July 21, 2015, 05:36:11 AM
no, you are not missing anything. that is the real crutch of PoS is the initial distribution. There has been a few interesting schemes but nothing close to being viable in the real damn world.


Title: Re: Preventing Botnet Mining
Post by: GingerAle on July 21, 2015, 11:23:23 AM
^^ POS

that and the "attack vector" for POS is, IMO, surprisingly not of concern for many people.

amount of money and time required to control the bitcoin network ("51% attack") - lots. Print money, use printed money to buy hardware, set up hardware in large # of warehouses, attack.

amount of money and time required to control any POS network - depends on the price of the coin, but significantly less. The time is instantaneous. As has been the concern with any POS on a US crypto exchange, all that would be needed is for the US to walk in and go "hey, gimme everything" and if some ridiculous % of a POS coin is on an exchange, then they control a significant amount of the staking.

IMO, I think the # way to prevent botnet mining is to encourage good anti-malware use... but thats difficult, considering some huge percentage of the world still uses windows XP.


Title: Re: Preventing Botnet Mining
Post by: smooth on July 21, 2015, 01:05:21 PM
I think that ASIC resistance is extremely important, as it lowers the barrier to securing the currency, giving all an equal ability to mine, not just the few elite.  There has to be a solution to botnets.

Make the PoW require so much memory that a significant fraction of machines will start swapping,
possibly alerting the user that his machine is owned, and triggering a cleanup.
I expect botnet operators will shun such a PoW in favor of ones they can run in stealth mode...

Also make the PoW asymmetric so that while mining requires memory, verification does not
and remains instant.

I think this is counterproductive. If you''re going to do that you might as well just stick with ASICs. My argument has always been that botnets target the same equipment that mass market ordinary users have. If you prevent botnets from mining (e.g. by requiring an unusually large amount of memory) you prevent ordinary users from mining and encourage centralized farms.

Quote
Or one may just need to have faith that if a coin is sufficiently popular
(with cpu-mining being more efficient than gpu mining)
then there will be enough bona-fide miners to dwarf botnets.

We'll (possibly) see if this works out with Monero and smart mining, or perhaps some other coin that uses the same techniques and ends up being really popular. I don't think anyone really knows at this point.


Title: Re: Preventing Botnet Mining
Post by: smooth on July 21, 2015, 01:09:52 PM
Decreased profitability would also mean higher centralization since only the big farms with cheap electricity could continue mining with a profit and the average joes with small to medium farms with above average or even average electricity prices would have to eventually stop mining which would mean less hashrate, less nodes, less network security and less people involved.

This is kind of questionable. I think there are possibly two distinct equilibria.

One where mining isn't profitable enough to make a business out of it at all (sort of like how encyclopedias aren't profitable enough to make a business out of them any more, but you have many, many people contributing to wiki), and ordinary people just do it for fun/lottery or by default (if the mining software is made unobtrusive) and because the cost to do a little mining is really, really low in absolute terms. There are apparently, for example, several million people who run seti@home and other such tasks with no compensation at all.

The other is where it is profitable, becomes an any sort of an industry and then economies of scale kick in leading to centralization.

I've sometimes wondered what would happen if mining had no rewards at all (i.e. instead of 25 BTC/block, you just get 0 BTC), other than possibly getting credit on a leaderboard (like seti@home, etc.). Perhaps millions or more people would mine anyway, there would certainly be no mining industry with big centralized farms and probably not even pools, yet the network would still be quite secure. Arguably more secure than now depending on how you evaluate the security of highly-concentrated mining.




Title: Re: Preventing Botnet Mining
Post by: tromp on July 21, 2015, 01:17:23 PM
Make the PoW require so much memory that a significant fraction of machines will start swapping,

If you prevent botnets from mining (e.g. by requiring an unusually large amount of memory) you prevent ordinary users from mining and encourage centralized farms.


I said "significant fraction", not large majority. A memory requirement between 1/2 and 2GB  will
make ordinary users with little memory suffer, and allow ordinary users with plenty memory to mine.
Both groups constitute a significant fraction.


Title: Re: Preventing Botnet Mining
Post by: smooth on July 21, 2015, 01:19:57 PM
Make the PoW require so much memory that a significant fraction of machines will start swapping,

If you prevent botnets from mining (e.g. by requiring an unusually large amount of memory) you prevent ordinary users from mining and encourage centralized farms.


I said "significant fraction", not large majority. A memory requirement between 1/2 and 2GB  will
make ordinary users with little memory suffer, and allow ordinary users with plenty memory to mine.
Both groups constitute a significant fraction.

Okay, but then botnets will just stick with machines having sufficient (free) RAM. They'll use their other (smaller RAM) bot machines for something else (possibly mining a different coins).

I'm aware that botted machine are disproportionately older and less powerful but not entirely. There really has to be a pretty large overlap between users and bots, otherwise bots will just disappear entirely as the older machines gradually and eventually go out of service.