So what is PPS and PPLNS..? Before we jump into it let’s define a few terms:
Block Reward- The block reward simply refers to the new coins distributed by the network to miners for each successfully solved block. In Bitcoin the miner that successfully finds a block is rewarded 12.5 BTC for their efforts.
Hashing Power- A hash is the output of a hash function. Hash rate is the speed at which a computer is completing an operation in the cryptocurrency’s code. Therefore, the amount of hashes are measured in hashes per second. A higher hashrate increases a miner’s opportunity of finding the next block and receiving the block reward.
Luck- The luck of a mining pool is probabilistic in nature. Imagine that each miner is given a lottery ticket for a certain amount of hashing power they provide. If you were to provide 1 TH/s of hashing power and the overall hashing power in the network is 10 TH/s then you would receive 1 of 10 total lottery tickets. The probability of you winning the lottery (finding the block reward) would be 10%. So for every 10 blocks found you should statistically find 1 of them. Now imagine that you found 2 out of the 10 blocks, this means that you found a block earlier than you statistically should have on average. You are lucky! Now imagine you found 0 out of 10. This would make you unlucky. Over the long run statistically you should receive on average 1 out of 10 (or 10%) of blocks, but there is short term variance. For a more in depth article on calculating luck check out this article.
Mining Pool- All in all, mining is attempting to unlock each block to get the reward that is in it; the more attempts (hashes) you can perform per second the higher the chances you have to get the reward (i.e. the more lottery tickets you have the higher your chance of winning the lottery). Because miners by themselves typically don’t have enough hashing power to consistently find blocks they join a pool that pools everyone’s hash power and combines it to hash blocks. With more hashing power it is easier to find blocks. Then, the reward is split among the miners based on the amount of work they contributed and a small fee is given to the pool operator.
There are over 15 payment systems but the majority of pools operate on a Pay Per Share (PPS) and a Pay Per Last N Shares (PPLNS). The difference of these two will be explored in more detail than the rest.
Pay Per Share (PPS)
Pay Per Share or commonly known as PPS is an approach first taken by BitPenny which offers an instant flat payout for each share that is solved.
Bringing this back to the lottery example, imagine that a miner submits 1 lottery share to the the pool operator. Even if the pool doesn’t win the lottery the miner will still get paid 10% of the block reward (if there are 10 total tickets). The miner gets paid on what is statistically probable rather than what actually occurs. Now imagine that the miner submits 1 ticket and it happens to be the winning ticket. The miner still only receives 10% of the block reward.
What this system ultimately does is take out the “luck” and hence variance in a miners payout. Instead the pool operator absorbs all the risk of variance. In the long-run it should balance out to the statistical mean (obtain 10% of blocks) but in the short-run there can be a lot of variance.
Logistically, the payout to the miner is offered immediately from the pool’s existing balance of the cryptocurrency. The possibility of cheating the miners by the pool operator and by timing attacks is completely eliminated.
This payment structure is riskier for pool operators given the variance. Usually only large pools with a lot of reserves can afford to take on the variance risk. Other pools compensate for the higher risk taken by charging a higher fee.
Pay Per Last N Shares (PPLNS)
Pay Per Last N Share or commonly known as PPLNS is another popular payment method, which offers payment to miners as a % of shares they contribute to the total shares (N).
Usually the amount of shares submitted during a round (the time it takes to find 1 block) is variable due to luck. However under PPLNS it considers a fixed amount of shares (N), that is not constrained by the round boundaries. In this case N shares represents a fixed amount of shares that is not based on luck. Often N is set as twice the difficulty. For this payment structure, as you mine you earn shares meaning the more hashes you do the more shares you earn.
You only get paid out once a block is actually found (not if it is only statistically probable). Using the lottery example, if you commit 1 ticket (share) to a total of 10 (N) tickets in your pool than your payout will be 10% if your pool is able to win the lottery (find a block).
Using this system actually favors constant loyal pool members over pool hoppers because miners aren’t incentivized to “quick mine” by mining on round with low amounts of shares.
Which one is better?
Both payment systems have their merits. PPS is generally preferred by miners (holding all else equal) given they do not have to take on the additional risk of variance (luck). However with PPLNS it is possible to get paid out more than 100% if you (or your pool) is very lucky.
Other Payment Systems:
Double Geometric Method (DGM)
A hybrid between PPLNS and Geometric reward types that enables to operator to absorb some of the variance risk. Operator receives portion of payout on short rounds and returns it on longer rounds to normalize payments.
Equalized Shared Maximum Pay Per Share (ESMPPS)
Like SMPPS, but equalizes payments fairly among all those who are owed.
Pay On Target (POT)
A high variance PPS variant that pays on the difficulty of work returned to pool rather than the difficulty of work served by pool.
Pay Per Last N Shifts/Groups (PPLNSG)
Similar to PPLNS, but shares are grouped into “shifts” which are paid as a whole.
When block is found, the reward is distributed among all workers proportionally to how much shares each of them has found.
Recent Shared Maximum Pay Per Share (RSMPPS)
Like SMPPS, but system aims to prioritize the most recent miners first.
Score based system (Score)
A proportional reward, but weighed by time submitted. Each submitted share is worth more in the function of time since start of current round. For each share score is updated by: score += exp(t/C). This makes later shares worth much more than earlier shares, thus the miner’s score quickly diminishes when they stop mining on the pool. Rewards are calculated proportionally to scores (and not to shares). (at slush’s pool C=300 seconds, and every hour scores are normalized).
Shared Maximum Pay Per Share (SMPPS)
Like Pay Per Share, but never pays more than the pool earns.
Full Pay Per Share (FPPS)
Similar to PPS, but not only divides regular block reward (12.5 BTC for now) but also some of the transaction fees. Calculates a standard transaction fee within a certain period and distributes it to miners according to their hash power contributions in the pool. It will increase the miners’ earnings by sharing some of the transaction fees.