Bitcoin Forum
March 19, 2024, 03:42:51 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Abusing Bitcoin mining pools: strategies for egoistical but honest miners  (Read 17112 times)
Ryo (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 1


View Profile
January 23, 2011, 06:18:52 PM
Last edit: January 23, 2011, 08:56:06 PM by Ryo
Merited by ABCbits (1)
 #1

Hi,

As promised in my earlier thread, I studied some of the strategies that a miner could use to optimize his use of a cooperative mining pool. I have watched slush's pool over a few days and didn't notice any evidence of a massive use of these strategies, so I think they're relatively unknown by the common bitcoin miner. I also provide pointers to mining pool owners who see this as a problem and want to "fix" their pool.

The file is here: http://www.bitcoinservice.co.uk/files/100

Here is the table of contents:
1 - Introduction
2 - A brief overview of pools
  - the creation of bitcoins
  - sharing the work
  - all shares are not equal
3 - Strategies
  - One pool
     * average time to find a block
     * should I join now or wait for the next block ?
     * how long should I work on one block ?
  - Several pools
    * When should I switch pools ?
4 - Consequences for the mining pools
   - Is this the end of pools ?
   - Are some miners currently using these strategies ?
   - Fixing the mining pools
5 - Conclusion

Edit: I believe, for the sake of honesty, that I should note that the pools at no serious risk of being completely broken by those strategies. It's just a question of earning more with the same amount of work.

Edit: due to the rise in BTC exchange rate, I changed the price back to 1 BTC.
"This isn't the kind of software where we can leave so many unresolved bugs that we need a tracker for them." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1710819771
Hero Member
*
Offline Offline

Posts: 1710819771

View Profile Personal Message (Offline)

Ignore
1710819771
Reply with quote  #2

1710819771
Report to moderator
kiba
Legendary
*
Offline Offline

Activity: 980
Merit: 1014


View Profile
January 23, 2011, 10:03:23 PM
 #2

Maybe you would be interested in publishing economic articles at The Bitcoin Times, a new fledging magazine.

We already got a few writers lined up and for sure, an advertiser.

ElectricGoat
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile WWW
January 24, 2011, 01:01:34 AM
 #3

I wonder why no big player seems to be using the strategies described in the paper. They seem easy to implement. Could it be that big players rely on brute force and don't care about electricity costs ?
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
January 24, 2011, 02:44:32 AM
 #4

I wonder why no big player seems to be using the strategies described in the paper. They seem easy to implement. Could it be that big players rely on brute force and don't care about electricity costs ?

How would you know if a miner was moving back and forth between the pool and working on his own?

It would only be obvious if lots of people were turning off causing very high variance in time to find a block for the pool.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
January 24, 2011, 03:10:36 AM
 #5

Quote
It should also be noted that, if many miners start using strategies, it will in turn become more pro table to work on old pools, because the overall computing power of that pool will have temporarily decreased.

I don't understand this. In the extreme, if everyone left a pool, why would a miner join it? They would get a block no faster than working on their own and they would pay to previous workers who had shares.

I think this could be solved by letting everyone know that shares will begin to decay after some multiple of average time to find a block.

I know it isn't a problem now because there is only one huge pool, but when there are many and switching is easy an unlucky period could easily drive people away and no one will have proper incentive to rejoin until it is cleared.

Interesting article, I brought the subject up back when the first pool switched from current power to the contributed method, but I don't think anyone responded.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
theymos
Administrator
Legendary
*
Offline Offline

Activity: 5138
Merit: 12565


View Profile
January 24, 2011, 03:27:44 AM
 #6

Interesting article, I brought the subject up back when the first pool switched from current power to the contributed method, but I don't think anyone responded.

Switching back to connected mode would completely solve this problem. I liked connected mode (and puddinpop's pool in general) better, anyway -- you get larger payments less often. Maybe once a contributed-mode pool has stalled, everyone will move to a connected-mode pool.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
January 24, 2011, 04:18:45 AM
 #7

Interesting article, I brought the subject up back when the first pool switched from current power to the contributed method, but I don't think anyone responded.

Switching back to connected mode would completely solve this problem. I liked connected mode (and puddinpop's pool in general) better, anyway -- you get larger payments less often. Maybe once a contributed-mode pool has stalled, everyone will move to a connected-mode pool.

It is a neat psychology + game theory situation. People seem to prefer the contributed method to connected, but as soon as shares are owed (so instantly) the right move is it switch to a connected pool if it is available. But if the herd all prefers contributed then you will be on the connected server alone and now you don't have the benefit of reduced variance. As some 'serious' miners decide to accept the variance and move to the slightly higher EV pool others may follow and variance will drop at that pool and now there are only psychological reasons to stay at the contributed pool.

As we know from poker though people can persist in low value emotionally pleasing situations for a long long time.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
The Script
Sr. Member
****
Offline Offline

Activity: 336
Merit: 250


View Profile
January 24, 2011, 06:03:31 AM
 #8

Interesting article, I brought the subject up back when the first pool switched from current power to the contributed method, but I don't think anyone responded.

Switching back to connected mode would completely solve this problem. I liked connected mode (and puddinpop's pool in general) better, anyway -- you get larger payments less often. Maybe once a contributed-mode pool has stalled, everyone will move to a connected-mode pool.

It is a neat psychology + game theory situation. People seem to prefer the contributed method to connected, but as soon as shares are owed (so instantly) the right move is it switch to a connected pool if it is available. But if the herd all prefers contributed then you will be on the connected server alone and now you don't have the benefit of reduced variance. As some 'serious' miners decide to accept the variance and move to the slightly higher EV pool others may follow and variance will drop at that pool and now there are only psychological reasons to stay at the contributed pool.

As we know from poker though people can persist in low value emotionally pleasing situations for a long long time.

Eh?  What is the difference between the "contributed" and "connected" methods?  I haven't read Ryo's paper, so maybe I'm missing context.
theymos
Administrator
Legendary
*
Offline Offline

Activity: 5138
Merit: 12565


View Profile
January 24, 2011, 06:16:00 AM
 #9

Eh?  What is the difference between the "contributed" and "connected" methods?  I haven't read Ryo's paper, so maybe I'm missing context.

Puddinpop's pool software allows the server to choose between "connected" and "contributed" distribution methods. In contributed mode, it behaves somewhat like slush's pool: every hash you calculate is counted, and the block reward is split among everyone according to how many hashes they calculated. In connected mode, the block reward is spit among currently-connected nodes only, according to the hash/s that they were contributing at the time.

I wish puddinpop's server would become popular again. It's open-source and built in such a way that miners can actually see what the server is doing on the network side (you download the full temporary block). Unfortunately, running the server is CPU-intensive, and probably it could not sustain the number of miners that slush's pool has now.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
January 24, 2011, 06:18:41 AM
 #10

Interesting article, I brought the subject up back when the first pool switched from current power to the contributed method, but I don't think anyone responded.

Switching back to connected mode would completely solve this problem. I liked connected mode (and puddinpop's pool in general) better, anyway -- you get larger payments less often. Maybe once a contributed-mode pool has stalled, everyone will move to a connected-mode pool.

It is a neat psychology + game theory situation. People seem to prefer the contributed method to connected, but as soon as shares are owed (so instantly) the right move is it switch to a connected pool if it is available. But if the herd all prefers contributed then you will be on the connected server alone and now you don't have the benefit of reduced variance. As some 'serious' miners decide to accept the variance and move to the slightly higher EV pool others may follow and variance will drop at that pool and now there are only psychological reasons to stay at the contributed pool.

As we know from poker though people can persist in low value emotionally pleasing situations for a long long time.

Eh?  What is the difference between the "contributed" and "connected" methods?  I haven't read Ryo's paper, so maybe I'm missing context.

In the contributed every time you find a hash below some 'easy' target you get a share that is paid when the pool finds their next block, if you stop mining you will still get paid something if you previously earned at least one share provided the pool finds one more block.

In the connected method you get paid if you are connected and mining when the pool finds a block.  You are paid in proportion to how much power you are providing compared to others at that moment (really not a moment more like 2 minutes I think it was). You could think of this as the contributed method with shares that expire really fast. There is plenty of in-between room, make shares decay slowly or disappear after a day or whatever.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
Ryo (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 1


View Profile
January 24, 2011, 07:18:53 AM
 #11

I don't understand this. In the extreme, if everyone left a pool, why would a miner join it? They would get a block no faster than working on their own and they would pay to previous workers who had shares.

In the extreme, yes. But if the powerful miners leave after a few thousand shares, the less powerful miners may find it profitable to stay, because they will get a bigger share of the rest. The problem, for small miners, is that when you're up against people that have 1000x your computing power, they will find blocks before you even contributed a share, and you will gain nothing.
Ryo (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 1


View Profile
January 24, 2011, 07:24:18 AM
 #12

In connected mode, the block reward is spit among currently-connected nodes only, according to the hash/s that they were contributing at the time.

It seems easier for the server to cheat in connected mode. With contributed mode, if they have doubts, miners can log how many shares they contribute, check how much they gain, and decide whether it's fair. The server could "invent" imaginary shares to keep some bitcoins, but at least you have some hard numbers to check. With connected mode, how would you know if you got a fair share ? What if the server pretends you were not connected when the block was found ?
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
January 24, 2011, 07:35:03 AM
 #13

I don't understand this. In the extreme, if everyone left a pool, why would a miner join it? They would get a block no faster than working on their own and they would pay to previous workers who had shares.

In the extreme, yes. But if the powerful miners leave after a few thousand shares, the less powerful miners may find it profitable to stay, because they will get a bigger share of the rest. The problem, for small miners, is that when you're up against people that have 1000x your computing power, they will find blocks before you even contributed a share, and you will gain nothing.

No they won't. The calculation they ought look at is "what is the expected value of a new share here?" this will be less at a pool with lots of shares owed to powerful miners who have left than at a fresh pool.

Perhaps I'm missing something though because I don't see on any margin any way to interpret someone leaving your pool as a positive. All that happens is that you get a larger share less often. If that is what you want then choose a pool with the least people, mine by yourself. If there is some optimal pool size then what is it? When is bigger not better?

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
Ryo (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 1


View Profile
January 24, 2011, 07:42:09 AM
 #14

Let's take two simple scenarios:

- A pool with three people. Two of them have clusters of 5970s, one of them has an old Pentium IV. For blocks that are found before 10000 shares or so, that third person won't even have submitted one share, and thus will get nothing, not even a small fraction of a bitcoin.

- A pool with three people. Each of them has an old Pentium IV. Blocks will take a long time to be found, but most likely a lot of the members will have submitted at least one share.
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
January 24, 2011, 08:47:16 AM
 #15

Let's take two simple scenarios:

- A pool with three people. Two of them have clusters of 5970s, one of them has an old Pentium IV. For blocks that are found before 10000 shares or so, that third person won't even have submitted one share, and thus will get nothing, not even a small fraction of a bitcoin.

- A pool with three people. Each of them has an old Pentium IV. Blocks will take a long time to be found, but most likely a lot of the members will have submitted at least one share.

If the goal is to not get left out when your pool makes a block then you want the second. But the two have the exact same EV and the first has lower variance.
 

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
Ryo (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 1


View Profile
January 24, 2011, 09:25:32 AM
 #16

I agree, this was written from the point of view of a miner estimating his expected gain from one specific block (or more precisely, one round), but as long as blocks (or pools) are exchangable, there is no reason to do this. If he has a choice, a small miner should switch to a pool with a "younger" round. I don't belive he should start mining all by himself is there is no other pool, though; his expected gain would drop close to zero, because of the increasing difficulty.
Ryo (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 1


View Profile
January 24, 2011, 09:32:59 AM
 #17

Maybe you would be interested in publishing economic articles at The Bitcoin Times, a new fledging magazine.

I am no economist, even if might have things to say about game theory and optimization from times to times. I can write about computer science, though, and I already asked in the "bitcoin times" thread if you would be interested in publishing a series of articles about the science behind bitcoin or other crypto-stuff. Writing such articles is time-consuming, and I wouldn't want to do that unless some interest was voiced beforehands.
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
January 24, 2011, 09:59:04 AM
 #18

I agree, this was written from the point of view of a miner estimating his expected gain from one specific block (or more precisely, one round), but as long as blocks (or pools) are exchangable, there is no reason to do this. If he has a choice, a small miner should switch to a pool with a "younger" round. I don't belive he should start mining all by himself is there is no other pool, though; his expected gain would drop close to zero, because of the increasing difficulty.

If by expect gain you mean formal EV then it doesn't drop close to zero it stays close to zero. It's the variance that is reduced by the pool. I don't mean to imply that you don't know this; I'm only saying that the language is not precise.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
Ryo (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 1


View Profile
January 24, 2011, 10:18:39 AM
 #19

I do mean expected value, but by saying "gain" I make sure we're not talking about expected time before a share or some other value.

Again, I didn't make calculations, I'm just using intuition (which can be tricky), but I'm pretty sure that expected gain decreases if you mine all by yourself and you're not powerful enough to have a good chance of finding a block before the next increase in block difficulty. At current difficulty, my CPU would take about half a year to have a 50% of finding a block, but before that difficulty will have increased, so my chance of finding a block in half a year is actually lower.
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
January 24, 2011, 12:23:28 PM
 #20

Is it clear that in the period from here to the next difficult change the EV of mining in a fresh contributed pool or a connected pool is identical to the EV of running alone?

How about over the period from the start of new difficult to the new difficulty after that?

If each period is equal then the sum of the EVs must be equal.

That said there is obvious benefit in reducing variance. The benefit is more than psychological; it allows more accurate planning on when you will be able to afford new equipment, etc.

I can envision a future where lottery tickets are 10 minutes with a powerful GPU rig. Or where even a big mining operation cannot be sure to get a block this month so they need to be in a pool to make sure they can pay the electric bill.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
Pages: [1] 2 »  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!