Pages:
Author

Topic: Sabotaging Mining Pools (Read 5459 times)

hero member
Activity: 532
Merit: 500
November 16, 2012, 03:10:08 PM
#23
Use these?
legendary
Activity: 1246
Merit: 1077
November 14, 2012, 04:15:49 PM
#22
It hurts all miners indirectly, including the one doing the sabotage.  Imagine you are doing this and manage to bankrupt a pool because its fees don't cover its expenses. Imagine it's a big pool like slush - confidence in bitcoin will drop and make even make other pools decide to quit the business. Price of bitcoin goes down... saboteur loses too. 
But saboteur earns more than he loses. This is often the case with sabotage. Think of an exaggerated scenario, where the saboteur simply takes 50% of the pool's revenue for herself. Although she loses a bit of her own revenue, she gains enough to make up for it.
hero member
Activity: 481
Merit: 500
November 14, 2012, 02:23:03 PM
#21
It hurts all miners indirectly, including the one doing the sabotage.  Imagine you are doing this and manage to bankrupt a pool because its fees don't cover its expenses. Imagine it's a big pool like slush - confidence in bitcoin will drop and might even make other pools decide to quit the business. Price of bitcoin goes down... saboteur loses too.  
legendary
Activity: 1246
Merit: 1077
November 13, 2012, 10:00:42 PM
#20
But if the difficulty goes down, mining becomes more profitable.
Not if the pools begin increasing fees to compensate, which they inevitably will.
donator
Activity: 2058
Merit: 1054
October 26, 2012, 03:02:53 AM
#19
I'd like to remind everyone that block withholding can be used for a profitable attack against non-PPS pools, called "Lie in wait". I estimate the max profit can be achieved from it to be multiplying the rewards by (1 + h/(4H)), where h is the attacker's hashrate and H is the network's total hashrate. And, if block withholding ever becomes a problem one solution is to modify the protocol to allow oblivious shares.

This attack has the advantage of keeping the difficulty artificially low.  It is economically advantageous to the attacker if they control > (share_difficulty / difficulty) of the network.
Almost. If the difficulty / share_difficulty is D, then by doing this they lose 1/D, and assuming everyone's hashrate stays the same, they difficulty drops by h/H meaning they get h/H, so this is indeed profitable if (h/H)>(1/D).

But if the difficulty goes down, mining becomes more profitable and people will add more hashrate. So the difference between the old and new equilibrium will not be as large as h/H, maybe it will be h/(2H). With this assumption you'd need twice as much hashrate to make this profitable.
hero member
Activity: 840
Merit: 1000
October 26, 2012, 02:22:47 AM
#18
This attack has the advantage of keeping the difficulty artificially low.  It is economically advantageous to the attacker if they control > (share_difficulty / difficulty) of the network.
legendary
Activity: 1792
Merit: 1008
/dev/null
October 26, 2012, 02:09:30 AM
#17
Certainly this is a real danger with a proxy pool...
but only if the proxy pool is using PPS, otherwise it would harm much. i wonder if anyone already created some patches for miners to do this...
Indeed, but they could easily redirect shares to a PPS should they feel malicious.
or a proxy pool just simply switches to another PPS pool to kill it and pay the surpases. this could be really nasty
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
October 26, 2012, 01:27:40 AM
#16
Certainly this is a real danger with a proxy pool...
but only if the proxy pool is using PPS, otherwise it would harm much. i wonder if anyone already created some patches for miners to do this...
Indeed, but they could easily redirect shares to a PPS should they feel malicious.
legendary
Activity: 1792
Merit: 1008
/dev/null
October 26, 2012, 12:28:11 AM
#15
Certainly this is a real danger with a proxy pool...
but only if the proxy pool is using PPS, otherwise it wouldnt harm much. i wonder if anyone already created some patches for miners to do this...
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
October 26, 2012, 12:04:08 AM
#14
there is only one goal where it could be usefull, if a pool owner wants to take down a others pool and only if the others pool is PPS. Prop isnt worth it since u lose too.
Certainly this is a real danger with a proxy pool...
legendary
Activity: 1792
Merit: 1008
/dev/null
October 26, 2012, 12:00:09 AM
#13
You could definitely do a withholding attack, but why on earth would you do it? It doesn't benefit you, you just make the pool poorer that you mine with, and unless you have ultramegahashes to waste, your effect of withholding a block solve will be insignificant to the final outcome. There is nothing suspect about not returning a share from any work gathered from a pool, and a block solve is no different to returning a share. There is no way to check if a miner is returning all the shares it's "supposed to" as there is no such metric. Pools never send the same work item out to two different miners, so they'd have to have some reason to suspect this is the case, so unless you mine with a pool and after 10x difficulty submission of shares you still haven't sent a block solve, then they'd have to start investigating. Even then, bad luck alone is enough for even 10x difficulty and no block solve to occur. So at current difficulty, for example, a pool operator would have to get suspicious only after you had sent 30 million shares without a block solve. That's a heck of a lot of work you're doing just to withhold one block. So unless you personally have something like >1% of the total bitcoin network hashrate, this is a futile exercise.

On the other hand, if you get enough people running the same malicious mining software you could achieve this. But to what end? It doesn't benefit you directly in any way. Luckily all the source code for my mining software (along with most other mining software) is free and open and anyone can audit it to ensure it's not doing this.
there is only one goal where it could be usefull, if a pool owner wants to take down a others pool and only if the others pool is PPS. Prop isnt worth it since u lose too.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
October 25, 2012, 09:29:30 PM
#12
You could definitely do a withholding attack, but why on earth would you do it? It doesn't benefit you, you just make the pool poorer that you mine with, and unless you have ultramegahashes to waste, your effect of withholding a block solve will be insignificant to the final outcome. There is nothing suspect about not returning a share from any work gathered from a pool, and a block solve is no different to returning a share. There is no way to check if a miner is returning all the shares it's "supposed to" as there is no such metric. Pools never send the same work item out to two different miners, so they'd have to have some reason to suspect this is the case, so unless you mine with a pool and after 10x difficulty submission of shares you still haven't sent a block solve, then they'd have to start investigating. Even then, bad luck alone is enough for even 10x difficulty and no block solve to occur. So at current difficulty, for example, a pool operator would have to get suspicious only after you had sent 30 million shares without a block solve. That's a heck of a lot of work you're doing just to withhold one block. So unless you personally have something like >1% of the total bitcoin network hashrate, this is a futile exercise.

On the other hand, if you get enough people running the same malicious mining software you could achieve this. But to what end? It doesn't benefit you directly in any way. Luckily all the source code for my mining software (along with most other mining software) is free and open and anyone can audit it to ensure it's not doing this.
legendary
Activity: 1792
Merit: 1008
/dev/null
October 25, 2012, 08:25:03 AM
#11
source code or it didnt happen Tongue
legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
July 28, 2012, 06:01:12 PM
#10
Many pools do not require a password. If a malignant individual mines on someone else's account, they could possibly get them into trouble.
This seems like a pretty unlikely scenario from a practical standpoint. Most likely, you'd just wind up helping them because unless you actually mine a block, you are indistinguishable from a legitimate miner. Someone would have to dedicate huge amounts of hashing power to do this, and the most likely outcome is that they would just enrich the person they are trying to get in trouble.

However, it is definitely worth thinking about.
legendary
Activity: 1246
Merit: 1077
July 28, 2012, 05:03:47 PM
#9
Now, couldn't a smart withholding attack check to see if the block already exists in the block chain, and only then send it up to the pool server?
Yes, but nobody's that smart yet.

Quote
I suppose you could hold back releasing the block to the Bitcoin network for 30 secs while you wait for all your workers to prove themselves, but you risk another miner finding a block in the mean time.
I think you could withhold for just 4 seconds and still get a pretty good idea. This would incur about a .7% chance of losing the block, with an expected cost of about $3.
Many pools do not require a password. If a malignant individual mines on someone else's account, they could possibly get them into trouble.
legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
July 28, 2012, 04:43:22 PM
#8
Now, couldn't a smart withholding attack check to see if the block already exists in the block chain, and only then send it up to the pool server?
Yes, but nobody's that smart yet.

Quote
I suppose you could hold back releasing the block to the Bitcoin network for 30 secs while you wait for all your workers to prove themselves, but you risk another miner finding a block in the mean time.
I think you could withhold for just 4 seconds and still get a pretty good idea. This would incur about a .7% chance of losing the block, with an expected cost of about $3.
sr. member
Activity: 438
Merit: 291
July 28, 2012, 03:11:16 AM
#7
if you found a share that was a BLOCK

It doesn't work this way.

If it did work that way, you could just keep the block for yourself.

You can't tell which share solves a block for the pool.
um actually. cgminer shows you blocks you find so you can tell.

this is called a witholding attack, you would need to be a large part of the pool. only way to do it without costing yourself lots is on a PPS pool.

You do not need a large percentage. Just slightly more than the fee. So 5%.
And you still get paid for mining there! So if you had a mining set up that was 5% (i.e. 50-75 Ghash for the 2nd tier pools) you just need to point it at them as pps and withhold the blocks and the attack really costs you nothing.
full member
Activity: 169
Merit: 100
July 27, 2012, 07:21:10 PM
#6
When a pool does mine a block, it can immediately assign that same work unit to many miners. Any that pull a new work unit and don't mine the block are highly suspect.
+1.  Nice solution.

Now, couldn't a smart withholding attack check to see if the block already exists in the block chain, and only then send it up to the pool server?

I suppose you could hold back releasing the block to the Bitcoin network for 30 secs while you wait for all your workers to prove themselves, but you risk another miner finding a block in the mean time.
legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
July 21, 2012, 04:26:00 AM
#5
When a pool does mine a block, it can immediately assign that same work unit to many miners. Any that pull a new work unit and don't mine the block are highly suspect.
member
Activity: 85
Merit: 10
July 21, 2012, 04:09:49 AM
#4
if you found a share that was a BLOCK

It doesn't work this way.

If it did work that way, you could just keep the block for yourself.

You can't tell which share solves a block for the pool.

You can.
But you can't change the payout address of the block after it was solved or you have to solve it again if you change it which is why you can't keep it for yourself.
Pages:
Jump to: