this pool doesn't seem to payout the way it explains itself.. been watching it like a hawk the past week and seems payouts has a mind of its own
a detail on the mechanics (not the theory) would be useful since it doesn't seem to behave in practice as it is intended... basically it seems all accumulated work gets held ransom regardless of current block luck cycles which in theory should be paying out portions past your pay threshold but in practice it just sits there and says you are going further and further behind as if all your current work is old work that has to wait for super luck to include you .. and that doesn't even seem to trigger it either
it is broken
I am going to attempt here to write a full description of how Eligius pays pool contributors, including a description of both the CPPSRB system and the payment queue. My goal is something that can be linked or copied and pasted whenever somebody comes with a question like this. I want to cover a lot of bases and give some solid examples. Everybody, please let me know if there are any corrections needed.
(EDITED somewhat May 14, 2014 to add examples and minor corrections.)
(EDITED again July 12, 2014 for more minor corrections and additions.)
CPPSRB SYSTEM:
First, some terms. CPPSRB stands for Capped Pay Per Share with Recent Backpay. Given the current Bitcoin difficulty, there is an expected number of shares before Eligius finds a block. Let's call this number N. A pure PPS (Pay Per Share) system would immediately credit each and every share with exactly 25/N BTC (because the block reward is currently 25 BTC). This is called the PPS value. For example purposes, let's say that the difficulty is super low, and the expected number of shares required to find a block is 1000. Then the PPS value would be 25/1000 = .025 BTC. *(See below about PPS Systems)
Under CPPSRB, every share submitted goes into a stack. The Eligius system refers to it as a "shelf" system, but in basic computer science terms, it is a stack. I.e., it is a LIFO (Last-in First-Out) system, like a stack of plates in a cafeteria. You can't take out the bottom plate until you have taken out every plate on top of it, and you can't take out the second plate until you've taken out the first plate. The shelved shares are like this; the bottom (oldest) shares are not paid until all newer shares have been paid. Each share is "worth" exactly its PPS value, but it might or might not ever be credited to your balance.
Each time a block is found, the system immediately awards the top N shares in the stack, and each of them is credited with its PPS value; 25/N BTC is credited to the account associated with each share. In this way, it is somewhat like a PPLNS (Payment Per Last N Shares) system. **(See below about PPLNS Systems) However, it differs from PPLNS in that once a share is credited, it is removed from the stack permanently.
So let's say that N is still 1000 shares, i.e. we expect to find a block every 1000 shares. (I'll keep the values low here just to keep things simple. Multiply by some billions to get the actual numbers.) Shares are added to the top of the stack as soon as they come in. First round, the pool finds a block at 1200 shares; longer than expected. So the newest 1000 shares of that round are credited with their PPS value, and the oldest 200 shares are kept on the stack. The next round starts, and the incoming shares are added to the top of the stack as they come in. This round, the pool finds a block at 600 shares; faster than expected. Since these 600 shares from this current round are the most recent and therefore on top of the stack, they are credited first and removed from the stack. Since 600 is 400 less than N, the next 400 shares in the stack are paid out. These 400 shares are all from previous rounds. This includes the 200 shares that were put there in the last round. The next 200 shares in the stack will then be credited, from whenever they were accumulated.
If the pool were ever to empty the stack (which would require extraordinarily good luck) then the pool would save the BTC earned for future bad-luck times.
So, you accumulate credits in your account in this way. This is the first stage. The next stage is the payout queue.
PAYOUT QUEUE:
You can enter the payout queue once your account balance reaches its threshold, which can be set manually. Once you hit your threshold, you are entered into the payout queue. The queue is just that: a queue, not a stack. It is generally
not FIFO or LIFO like the CPPSRB system. Instead, your position in the queue is determined solely by when you were last paid out. If you were last paid out 36:00:00 hours ago, you will be ahead of anybody who was last paid out 35:59:59 hours ago, or more recently. So your position in the queue will change all the time, as the payout queue is reduced (when blocks are found and people are paid out) or when the queue ahead of you gets bigger (because people who have not been paid as recently, have hit their threshold and entered the queue ahead of you).
In setting your payout threshold, you have to weigh the benefits of making it long or short, relative to your hashrate. If you set it to be paid more frequently, your payouts will be very inconsistent as there will constantly be people jumping the queue ahead of you as they hit their thresholds. It can be quite discouraging to be close to the front of the payout queue, and then for some whale to hit their threshold and their payments will be 150BTC or something, consuming the next 6 blocks and putting you 6 blocks further back in the queue. On the other hand, if your threshold is set high, so that you are paid out (say) once a week, you will generally be at or near the very front of the queue every time you hit your threshold.
So there is a definite trade-off: setting your threshold high (longer time between payouts) means less variance in when you actually receive your payouts; they should come very consistently on schedule. The downside to this is that obviously you will receive payments less frequently. However, setting your payout threshold very low means that while you will generally receive payments more frequently, there will sometimes be great variance in when you get paid out. It seems that the typical choice is to set it to pay out approximately once every day, or 24 hours. If you set your threshold to hit roughly every 7 days, you are fairly well assured of being paid out in a very timely manner on that 7-day schedule. If you set your threshold to hit roughly every 12 hours, your payments could frequently be delayed by 24, 48, even 72 hours. More frequent = more variance, less predictable; Less frequent = less variance, more predictable.
It is important to note that as your unpaid balance grows, the amount that you will receive in your next payout grows as well. Just because you hit your threshold doesn't mean the system stops crediting your shares; and the system will pay out the full owed amount (as of the previous block) whenever you come up to the front of the queue. So say you have your threshold set to pay you out roughly every 24 hours, which is equal to ~0.1 BTC given your hashrate. Somehow there is a backlog in the queue, and you don't actually get paid for 48 hours. When that payout occurs, you will be paid out ~0.2 BTC. The next time, it takes 36 hours for you to make your way to the front of the queue, so you are paid out ~.15 BTC. So your payment per mining hour will be consistent, but the payments might be inconsistently spaced.
Payouts are
typically handled in the coinbase transaction when the block is mined. This means that the coins are mined directly to your mining address, and the pool never holds the coins in its wallet addresses. However, sometimes something gets screwed up, and the CPPSRB system goes into failsafe mode, and mined coins from the affected blocks are sent into Eligius's cold wallet until they are paid out in a manual payout by wizkid057. This can happen due to an orphan block, or sometimes when Eligius finds a block very quickly and has not yet had time to calculate the proper coinbase transaction to pay the block to miners. (It does this because, every time when a block is found, Eligius quickly sends a quick-and-dirty block to all miners, because it would be a shame to waste any extra seconds of hashtime. After the proper payout has been calculated, new work is sent to miners which include the proper payout in the coinbase transaction.)
*Continuing with this example, a pure PPS (Pay Per Share) based mining pool would just automatically credit you with .025 BTC for every share you submit. Such a pool would pay you out of its own BTC balance, and it would be set up such that hopefully the pool would never run out of BTC to pay you with. You could withdraw your BTC earnings at any time from such a pool, because the BTC would be credited to you with each share. It is important to note that the pool would continue to pay you for each share, regardless of whether blocks are actually found. This is why pure PPS pools usually charge high fees, in the 5-10% range.
**A PPLNS (Pay Per Last N Shares) system will double-pay some shares some of the time (when the round is shorter than N shares, it will double-pay the more recent shares from the last round), and discard shares some of the time (when the round is longer than N shares, any shares older than N are discarded and never paid). CPPSRB never discards shares, so you can potentially have earnings from shares submitted long in the past.