0

So bitcoin mining pools are very common, almost no one mines alone, because of the great difficulty in mining a block. So mining in a pool has pretty much been the standard.

However, how do people ensure that they are not getting cheated when mining with others? I can see two possible scenarios in mining pools whether the miners or the pool coordinator first confirms a valid hash for the block.

  • If the miner first detects that he was lucky enough to successfully find a valid hash for the current block. Then he could configure or reverse engineer his mining software, to not tell the mining pool he has guessed the correct hash, and broadcasts the block onto the network himself with a separate address, to reap all the rewards instead of sharing it.

Or

  • If the hash is first sent to the pool coordinator's servers, which then detects that the hash does validated the block, then the coordinator could broadcast that block onto the bitcoin network without telling any of the other miners that the pool was successful, so that it won't have to share any of its reward to all the miners. The pool could do this 10% of the time for all blocks mined in the pool, to not make it suspicious that the pool is not mining any/few blocks.

The bitcoin whitepaper does not speak about trustless pooled mining and I have not found any technical material that shows how a trustless mining pool can be achieved.

Bitcoin is a great trustless model for preventing reversed transactions or solving the double spending problem, but is all pooled mining based on trust or is there a cryptographical/mathematical way of preventing fraud here?

I've written this in Info Sec stack exchange instead of the bitcoin one because I believe the answer would be a technical one based on cryptography, math, hashing, proofs etc. and is not a question about the details of bitcoin.

4
  • 1
    Uhh, preventing fraud? In a bitcoin mining pool... That is kind of it's whole raison d'être, it is basically a Ponzi scheme. You do know that, right? – AviD Jan 26 '18 at 12:18
  • 2
    See here: bitcoin.stackexchange.com/questions/10687/… – Tom K. Jan 26 '18 at 12:22
  • 2
    I'm voting to close this question as off-topic because it is specific to bitcoin and not information security. And as TomK already said in a comment - it is already answered at bitcoin.se What prevents a pool miner from stealing an entire block?. – Steffen Ullrich Jan 26 '18 at 12:40
  • @AviD A ponzi is where the operator generates returns for older investors through revenue paid by new investors... In mining pools, bitcoin is shared proportionally to the miners based on how much hashing they have contributed though a Proof-of-work algorithm. – James Jan 27 '18 at 5:58
1

Idea One: Even if possible, when he submits the block to the blockchain himself, the payout still would go to the mining pool. The payout address is part of what is being hashed. Idea Two: The pool wouldn't know to payout your share either in that scenario.

1
  • Yeah, sounds about right, so the miner who hashes a block successfully has the pool coordinators payout address there so a miner cannot run away with the funds. Then you can always lookup the pool coordinators payout address on the blockchain to know when the pool coordinator needs to payout everyone, so you know when they have submitting a block on everyone's behalf, and then funds can be distributed on how much effort everyone put in. – James Jan 28 '18 at 14:16

Not the answer you're looking for? Browse other questions tagged or ask your own question.