0

Although every mining pool can do things differently, I wanted to get a handle on how a logical pool would behave. If a miner joins the pool and solves a hash at a low difficult, submits the result back to the pool, which then accepts it, would the next logical thing for the pool to be to assign that miner a slightly harder bit of work to do? In other words, would the "set_difficulty" level be higher the next time around (assuming the difficulty solved by the miner is less than the network difficulty)?

If the pool does not assign harder work and lets the miner continue to solve problems at the same difficulty (which is less than the network difficulty), how does the overall pool benefit?

  • I can't see why a mining pool operator would do that. The purpose of a mining pool is to share work to decrease variance. The pool can assign the same difficulty to the same member forever, as long as it has the same hardware, i.e. the same hash power. I can't see how it affects profit. I can turn my comment into an answer when I understand better what you're thinking. – Osias Jota Mar 6 '18 at 19:14
1

[Edit: my previous answer was incorrect in it's explanation, I've updated it since]

would the next logical thing for the pool to be to assign that miner a slightly harder bit of work to do?

No. In a simple sense, consider this: if the difficulty is increased every time a miner submits their share, then it will increase endlessly over time, which is obviously undesirable.

If the pool does not assign harder work and lets the miner continue to solve problems at the same difficulty (which is less than the network difficulty), how does the overall pool benefit?

Miners in the pool will split the rewards for valid blocks amongst themselves, according to the share of hashpower each miner is contributing. The pool difficulty is a way to track each miner's share, while also dividing up the work load amongst pool participants.

Each miner has a certain amount of hashpower available, and will set their difficulty to an appropriate level so that they can submit their work and claim their share of the rewards. Setting the difficulty too low is not a way for a miner to claim an unfair share of the rewards, it just means they'll likely find a valid hash sooner, but that valid hash will be worth a smaller share, which balances things out.

  • I need to tattoo this on myself a la Memento, but remind me again ,why does a miner finding a bunch of blocks that are less than the network difficulty better for everyone? Becuase they know not to try those nonces? – Dave Mar 6 '18 at 19:56
  • yes, it's a way to divide the work load – Osias Jota Mar 6 '18 at 22:50
  • @DavidSchwartz hmm it seems I misunderstood a couple of things, I've updated my answer, I believe it is now more correct. – chytrik Mar 9 '18 at 1:42
1

Mining pools are already doing something like this. It's called variable difficulty, or vardiff for short. But pools don't just increase your difficulty until your mining grinds to a halt.

Usually the pool has a target of a certain number of work submits per minute. If you submit more than this, then the pool raises your difficulty. If you submit fewer, then the pool lowers your difficulty. After a few iterations of this you end up at a stable difficulty where you have low variance and the pool has a low work load receiving work submits.

Pools used to run always on worker difficulty 1. This was no longer possible when ASICs arrived, so vardiff was implemented as a solution. Today many ASICs would not function at difficulty 1 as they would find proofs of work so quickly that their own controller can't handle it. But in the beginning the motivation for vardiff was to prevent the pool from being spammed to death with work submits.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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