Saturday, July 6, 2024

mining swimming pools – Why does the Stratum protocol use a Share Issue of two^32?

bitcoin block headers have a area known as Bits the place the issue goal is represented

mining shares are common bitcoin blocks with larger issue targets (or in different phrases, they’re “weaker” blocks)

the pool wants to ascertain some type of “tuning” between what constitutes a minimally accepted quantity of labor to cross over a payout threshold

that’s inherent to the tradeoffs to the pool’s architectural design and the infrastructure it is working on

with the intention to outline what constitutes minimally acceptable work threshold, there’s two elementary variables at play:

  • fee of share submissions
  • share issue (how a lot work every share represents)

if a miner submits shares at a excessive fee (relative to connection bandwidth with the pool), however the share issue is just too small, the pool might rightfully label these contributions as spam

hopefully, decentralization will decrease this bar, and we could have smaller thresholds permitting for smaller miners to take part in PoW with out having to resort to “lottery video games” to satisfy their ideological motivations

in abstract, a mining protocol must have some type of “unit” that represents some minimal quantity of labor (let’s name it minDiffTarget). This unit is represented as an issue goal, which must be comparatively excessive quantity between 0x00000000 and 0xFFFFFFFF.

since we’re encoding issue targets with 32 bits, we’ve a couple of choices:

  • 0b11111111111111111111111111111111: human pleasant, however inefficient as a result of leads to excessive site visitors for share submission, whereas previous (and present) centralized pool architectures wouldn’t have bandwidth nor computational sources to account for the quantity of shares that might be submitted by every miner.
  • 0b10000000000000000000000000000000: a trade-off between a human-friendly quantity, and a fairly environment friendly unit of share accounting for truthful reward distribution by swimming pools

so whereas utilizing Stratum, the miner can configure their machines in a means that it’ll solely submit a share whether it is above N * minDiffTarget. A small miner might attempt 1 * minDiffTarget, however the pool would possibly select to reject that if that is too small for his or her standards.


one other related element (though not precisely a solution to your query):

SV2 Translator Proxies have a configuration parameter the place the miner can throttle the full quantity of shares (coming from their SV1 machines) which are going to be submitted upstream in direction of the pool.

that means, even when the farm has many small machines (e.g.: Bitaxe), however its combination hashrate is above the pool’s accepted minimal, their shares might be extra simply accepted and pretty accounted for

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles