Everything you Ever Wanted to Know about Mining Pools
The mining pool operator is an intermediary node between its members and the blockchain. It is the role of the operator to both efficiently coordinate hashing to ensure the best chance of successfully mining a block, and to transmit information back to its miners – i.e. the block was mined, move on to this next block. From the perspective of the bitcoin network, the only miner is actually the pool operator itself, who insert in all transactions what is called the “coinbase”, or the address to which rewards should be sent. These rewards are split by the mining pool operator in a predetermined fashion among contributing members. For their part, mining pool members must include the appropriate coinbase in hashes to be included within the pool. We outline below the various methods by which rewards are allocated to members. Please make sure to double check the info below at the mining pool itself, as some of this information could be out of date.
Pool | Fee | Who Keeps Transaction Fees | Distribution | Payout minimum and method |
---|---|---|---|---|
Discus fish | 4% | Pool | PPS | .0005, auto |
Antpool | 0% | Operator | PPLNS | .001, manual |
Ghash | 0% | Operator | PPLNS | .001, auto |
BTC Guild | 2% | Pool | PPLNS | .01, hourly |
Slush | 2% | Shared | Score | .001, hourly, fifteen hour delay after mined block |
Elgius | 0% | Shared | CPPSRB | Manual, queue |
Bitcoin affiliate network | 0% | Pool | PPS | .01, hourly |
Bitminter | 1% | Shared | PPLNS | .01, hourly |
p2pool | 1% | Pool | PPLNS | instant |
Reward Allocation
Pay per Share
Mining pools have all adopted some variation of the “pay per share” (PPS) method of share allocation, in which shares are based on the proof of a member’s work submitted to the pool operator. Proof of work required is based on Diff1, the difficulty level of the first block ever mined by Satoshi Nakamoto. On average, it takes 4.2 gigahash to achieve a Diff1 hash.
However, hashing power has increased and miners are able to hit 4.2 gh in milliseconds, which has caused bandwidth issues for mining operator and miner alike. Pools have taken to setting higher difficulty levels to minimize the number of submissions from each miner to the pool. Depending on the difficulty level a greater number of shares might be allocated – so that Diff1 would grant one share, and Diff5, being five times more difficult, would grant five shares – or the higher share cost would simply mean that each share would be worth more.
Depending on the power of the miner, the network will often utilize a variable rate of difficulty, called Vardiff. Vardiff simply assigns an appropriate difficulty level to each particular miner based on their mining power, so that communications between miner and member is standardized at an optimized level, whatever that may be.
If a pool was comprised of every single miner in the bitcoin network, dividing earnings according to a pay-per-share model would be quite simple. Each miner’s hashrate would be divided by the overall network hash rate, and the resulting percentage would represent his or her bitcoin reward. Or to put this in mining terms – there would be an expected number of shares before finding a block, which is termed in the industry “N” shares. Once a block is mined, the reward is divided by N, with the shares paid proportionately.
And indeed, in a pure pay per share model, there is a guaranteed payout for each share mined, so that miners know the exact amount of bitcoin which will be earned by their mining unit. Generally speaking, such pools charge higher fees, as the pool must be able to cover negative swings with reserve funds. This method is very risky, however, as a large downward swing might exhaust a pool’s reserves. Many mining pools have chosen to deploy alternative methods of PPS that avoid the possibility of insolvency.
Pay per last ‘N’ Shares
Pay per last “N” shares (PPLNS) is the most popular payout method in pool mining. There are a number of variations, but the basic model is that when a block is successfully mined, payment is divided among “N” amount of previous shares, with N including either all unpaid shares or a predetermined number. In the case of the latter scenario, the newest share created is paid first, going back until N has been reached. Shares older than N will not be paid, whereas if transaction blocks are mined in quick succession shares within the range of N will be paid more than once. Theoretically over time payouts should be very similar to a pay per share model, provided that there is an expected ‘regression to the mean’. However, this method can be characterized by a large degree of variance, which can be difficult to stomach during downswings.
A slightly different method of PPLNS, known by different acronyms such as RSMPPS or PPLNSG, groups shares submitted into different shifts or windows. These windows are closed after a certain number of shares have been included, or if difficulty levels change – which is probably the advantage over traditional PPLNS. BTC Guild, for instance, utilizes this method, with 10 shifts open at any one time. Open shifts are paid out when a block is found, With each shift gaining 10% of the block value. When a new shift is opened, the oldest open shift is closed.
As BTCguild explains, miners can expect a “charge up” and “wind down” period when beginning and ending mining sessions. When first starting, a miner will appear in only one of the 10 blocks, but as mining continues will have shares in all blocks. Likewise, when ending a mining session, a miner will continue to earn shares in open shifts until eventual closure.
Capped PPS with recent payback
Elgius utilizes the somewhat inconveniently termed capped pay per share with recent payback (CPPSRB) method of allocation. CPPSRB is a “first in first out” method of share allocation that pays shares according to a pure PPS – or the expected amount one would be paid for their share in a market with zero variance. When a block is found, the last N shares are paid out, N being determined by this pure PPS. In downswings, this means that many shares will be older than N. Rather than simply discarding these shares, they are placed on a “shelf” to be paid should the pool experience positive variance.
Score Method
Slush utilizes a method known as score, which seems primarily engineered to prevent miners from “hopping” between mining pools inside a round, which has the effect of cutting into “honest miner” profit. Basically, each share received by a miner is timestamped. As the share gets older, it loses value which serves to incentivize continuous mining for newer, more valuable shares. Once a block is found, a miners score is divided by the score of the overall pool, and rewards are allocated accordingly.
Merged Mining
Merged mining allows miners to use their hardware to mine for more than one currency simultaneously. Provided that the method of hashing is the same across both blockchains, the same hashing calculations can be used for both, without compromising efficiency or speed. There is an obvious benefit to both miner and alternative currency alike. For the former, this adds an additional revenue stream at no additional cost or effort. However, it should be noted that extremely low liquidity levels in many of these merged mining coins – for instance, namecoin (NMC) has a 4 digit daily trading volume – means that actually converting these coins into bitcoin could be a bit difficult. For the alternative currencies, they benefit from sizable mining pools securing their blockchain.