Mining pool

In the context of cryptocurrency mining, a mining pool is the pooling of resources by miners, who share their processing power over a network, to split the reward equally, according to the amount of work they contributed to the probability of finding a block. A "share" is awarded to members of the mining pool who present a valid partial proof-of-work. Mining in pools began when the difficulty for mining increased to the point where it could take centuries for slower miners to generate a block. The solution to this problem was for miners to pool their resources so they could generate blocks more quickly and therefore receive a portion of the block reward on a consistent basis, rather than randomly once every few years.

Mining pool methods

Mining pools may contain hundreds or thousands of miners using specialized protocols. In all these schemes $B$ stands for a block reward minus pool fee and $p$ is a probability of finding a block in a share attempt ($p=1/D$ , where $D$ is current block difficulty). A pool can support "variable share difficulty" feature, which means that a miner can select the share target (the lower bound of share difficulty) on his own and change $p$ accordingly.

Pay-per-Share

The Pay-per-Share (PPS) approach offers an instant, guaranteed payout to a miner for his contribution to the probability that the pool finds a block. Miners are paid out from the pool's existing balance and can withdraw their payout immediately. This model allows for the least possible variance in payment for miners while also transferring much of the risk to the pool's operator.

Each share costs exactly the expected value of each hash attempt $R=B\cdot p$ .

Proportional

Miners earn shares until the pool finds a block (the end of the mining round). After that each user gets reward $R=B\cdot {\frac {n}{N}}$ , where $n$ is amount of his own shares, and $N$ is amount of all shares in this round. In other words, all shares are equal, but its cost is calculated only in the end of a round.

Bitcoin Pooled mining

Bitcoin Pooled mining (BPM), also known as "slush's system", due to its first use on a pool called "slush's pool', uses a system where older shares from the beginning of a block round are given less weight than more recent shares. A new round starts the moment the pool solves a block and miners are rewarded Proportional to the shares submitted. This reduces the ability to cheat the mining pool system by switching pools during a round, to maximize profit.

Pay-per-last-N-shares

Pay-per-last-N-shares (PPLNS) method is similar to Proportional, but the miner's reward is calculated on a basis of N last shares, instead of all shares for the last round. Therefore, if the round was short enough all miners get more profit, and vice versa.

Peer-to-Peer Mining Pool

Peer-to-peer mining pool (P2Pool) decentralizes the responsibilities of a pool server, removing the chance of the pool operator cheating or the server being a single point of failure. Miners work on a side blockchain called a share chain, mining at a lower difficulty at a rate of one share block per 30 seconds. Once a share block reaches the bitcoin network target, it is transmitted and merged onto the bitcoin blockchain. Miners are rewarded when this occurs proportional to the shares submitted prior to the target block. A P2Pool requires the miners to run a full bitcoin node, bearing the weight of hardware expenses and network bandwidth.

Geometric method

Geometric Method (GM) was invented by Meni Rosenfeld. It is based on the same "score" idea, as Slush's method: the score granted for every new share, relatively to already existing score and the score of future shares, is always the same, thus there is no advantage to mining early or late in the round.

The method goes as follows:

• Choose parameters $f$ and $c$ (fixed and variable fee).
• At the start of every round, set $s=1$ . For every worker $k$ , let $S_{k}$ be the worker’s score for this round, and set $S_{k}=0$ .
• Set $r=1-p+{\frac {p}{c}}$ , where $p=1/D$ . If the difficulty changes during the round, $r$ needs to be updated.
• When worker $k$ submits a share, set $S_{k}=S_{k}+spB$ , and then $s=sr$ .
• If the share is a valid block, end the round. For every worker $k$ pay ${\frac {(1-f)(r-1)S_{k}}{sp}}$ Double Geometric method

Generalized version of Geometric and PPLNS methods. It involves new parameter: $o$ ("cross-round leakage"). When $o=0$ this becomes the Geometric method. When $o=1$ this becomes a variant of PPLNS, with exponential decay instead of a step function.

• Choose parameters $f$ , $c$ , and $o$ .
• When the pool first starts running, initialize $s=1$ . For every worker $k$ , let $S_{k}$ be the worker’s score, and set $S_{k}=0$ .
• Set $r=1+{\frac {1}{c}}p(1-c)(1-o)$ . If at any point the difficulty or the parameters change, $r$ should be recalculated.
• When worker $k$ submits a share, set $S_{k}=S_{k}+(1-f)(1-c)spB$ (where $B$ is the block reward at the time it was submitted), and then $s=sr$ .
• If the share is a valid block, then also do the following for each worker $k$ : Give him a payout of ${\frac {1}{c_{s}}}(1-o)S_{k}$ , and then set $S_{k}=S_{k}\cdot o$ .

Multipool mining

Multipools switch between different altcoins and constantly calculate which coin is at that moment the most profitable to mine. Two key factors are involved in the algorithm that calculates profitability, the block time and the price on the exchanges. To avoid the need for many different wallets for all possible minable coins, multipools may automatically exchange the mined coin to a coin that is accepted in the mainstream (for example bitcoin). Using this method, because the most profitable coins are being mined and then sold for the intended coin, it is possible to receive more coins in the intended currency than by mining that currency alone. This method also increases demand on the intended coin, which has the side effect of increasing or stabilizing the value of the intended coin.[citation needed]