Bitcoin Forum

Bitcoin => Pools => Topic started by: 1bitc0inplz on July 03, 2011, 02:16:40 PM



Title: Tired of stale shares?
Post by: 1bitc0inplz on July 03, 2011, 02:16:40 PM
Tired of stales?
Tired of the lack of scalability of pushpool?
Tired of downtime?

Come checkout my pool (https://pool.bitp.it), it's entirely custom written in scalable Node and CoffeeScript. Since we don't use pushpool we can offer less stales than any other pool.

Whats this mean for you?

It means a more scaleable pool with less stales than any other pool. While some pools are getting 2%, 3%, and in some cases more. Our pool has virtually no stales. It is not uncommon at all for our members to have stales rates of 0.02%

http://img837.imageshack.us/img837/698/screenshot20110709at958.png

Why should you care about stales?

Stale shares are a form of "artificial fee" that reduces a miner's earnings. If you are currently receiving a 2% stale rate with pool X and on my pool you're receiving 0.02%, all things being equal you will earn more BTC on my pool.

What have you got to lose?

We are an entirely fee free pool. Come give us a try, you literally have nothing to lose. Compare a week on my pool versus a week on your current pool and let me know what you think. I'd venture to say that you'll like what you see  :)


Title: Re: Tired of stale shares?
Post by: lebuen on July 03, 2011, 03:09:10 PM
Well, I might give this a shot in the near future as I'm kind of fed up with the bad stability of other pools. You might should add some more information to the website about how to connect (especially which port), as this can only be found in your thread in this forum. Also, for small pools it seems crucial to implement some kind of hopping-protection in my opinion.

EDIT: nevermind, found the port when adding new workers.


Title: Re: Tired of stale shares?
Post by: Boing7898 on July 03, 2011, 04:48:25 PM
Big vouch for bit pit. I had maximum 0.3% of stales!
Today I had my miner run for some time and had 64 accepted shares and 0 stales!


Title: Re: Tired of stale shares?
Post by: 1bitc0inplz on July 04, 2011, 02:07:54 AM
Big vouch for bit pit. I had maximum 0.3% of stales!
Today I had my miner run for some time and had 64 accepted shares and 0 stales!

Thanks for the support!

Also, here is a photo from one of our pool members, showing just how low his stales are:

http://desmond.imageshack.us/Himg607/scaled.php?server=607&filename=pita.jpg&res=medium


Title: Re: Tired of stale shares?
Post by: TurdHurdur on July 04, 2011, 10:14:27 PM
What can I do with the "score", I've amassed?


Title: Re: Tired of stale shares?
Post by: 1bitc0inplz on July 04, 2011, 10:31:04 PM
What can I do with the "score", I've amassed?

The score is just for entertainment, it shows you what percentage of the top earns estimated reward that is equal to your estimated reward.

Payouts are purely proportional, and it's the estimated reward (and by extension your shares versus pool shares) that are of value to you.


Title: Re: Tired of stale shares?
Post by: talldude on July 04, 2011, 10:35:28 PM
What can I do with the "score", I've amassed?

nvm, above answers it.


Title: Re: Tired of stale shares?
Post by: TurdHurdur on July 04, 2011, 10:41:44 PM
The score is just for entertainment, it shows you what percentage of the top earns estimated reward that is equal to your estimated reward.

Payouts are purely proportional, and it's the estimated reward (and by extension your shares versus pool shares) that are of value to you.
Aha, had a feeling it wasn't a score-based pool.


Title: Re: Tired of stale shares?
Post by: talldude on July 05, 2011, 12:05:11 AM
I'd mine in the pool if it had like 300ghash+. But at ~13ghash, it could take a month to get one payout if you're really unlucky...


Title: Re: Tired of stale shares?
Post by: 1bitc0inplz on July 05, 2011, 12:23:24 AM
I'd mine in the pool if it had like 300ghash+. But at ~13ghash, it could take a month to get one payout if you're really unlucky...

That does raise a paradox of how one gets to 300+ GH/s  ;)


Title: Re: Tired of stale shares?
Post by: TurdHurdur on July 05, 2011, 02:18:05 AM
I'd mine in the pool if it had like 300ghash+. But at ~13ghash, it could take a month to get one payout if you're really unlucky...
Not like you have to point all your cards towards it all the time. 440Mhash/s from a 5870 has generated 2500+ shares without a single stale.


Title: Re: Tired of stale shares?
Post by: talldude on July 05, 2011, 03:56:25 AM
I'd mine in the pool if it had like 300ghash+. But at ~13ghash, it could take a month to get one payout if you're really unlucky...

That does raise a paradox of how one gets to 300+ GH/s  ;)


That's the thing at this point - if you don't have a decent userbase, the variance in block times is HUGE.

I only have 1 5850 so I'm a small fry and I prefer the consistency the larger pools give. If I had 10 rigs, I could afford to throw one at a low ghash pool and play roulette.


Title: Re: Tired of stale shares?
Post by: CYPER on July 05, 2011, 05:12:39 AM
I don't know if I should consider myself lucky, but I have very low Stales ratio:

http://img27.imageshack.us/img27/8588/dfsgftg.jpg


Title: Re: Tired of stale shares?
Post by: Boing7898 on July 05, 2011, 08:51:16 AM
I don't know if I should consider myself lucky, but I have very low Stales ratio:

http://img27.imageshack.us/img27/8588/dfsgftg.jpg
It seems you are lucky  ;D
The maximum I got in bit pit of stales is 0.2%


Title: Re: Tired of stale shares?
Post by: Boing7898 on July 06, 2011, 08:22:12 AM
Bump! We just got to 21 GHash now! Join before it's too late :P


Title: Re: Tired of stale shares?
Post by: 1bitc0inplz on July 09, 2011, 09:38:19 PM
Bump! We just got to 21 GHash now! Join before it's too late :P

Agreed, we are ~40 GH/s and are offering a bounty of 5 BTC to someone who can find our currently long overdue block.

Nows the perfect time to join in, and earn more!


Title: Re: Tired of stale shares?
Post by: cuqa on July 09, 2011, 11:11:47 PM
question. what do stale shares have to do with pushpool?


Title: Re: Tired of stale shares?
Post by: JoelKatz on July 09, 2011, 11:20:10 PM
Stale shares are a form of "artificial fee" that reduces a miner's earnings. If you are currently receiving a 2% stale rate with pool X and on my pool you're receiving 0.02%, all things being equal you will earn more BTC on my pool.
With pay per share, that's true. With proportional, the stale rate has no effect the BTC you earn. (The pool will still earn the same amount and you'll still be the same fraction of the pool.)


Title: Re: Tired of stale shares?
Post by: 1bitc0inplz on July 10, 2011, 12:01:08 AM
Stale shares are a form of "artificial fee" that reduces a miner's earnings. If you are currently receiving a 2% stale rate with pool X and on my pool you're receiving 0.02%, all things being equal you will earn more BTC on my pool.
With pay per share, that's true. With proportional, the stale rate has no effect the BTC you earn. (The pool will still earn the same amount and you'll still be the same fraction of the pool.)

You are correct. That is why I quoted "artificial fee", because it doesn't strictly effect you payout. However, what it does do is make a certain percentage of your efforts worthless.

Put another way;

If you receive a 2% stale rate, over the course of 100 shares only 98 will be accepted by the pool. However, if your stale rate is 0.02% there is an extremely high chance that all 100 of your shares will be accepted.

Given that information, 100 shares in any reward scheme will net you more reward than 98 shares would.


Title: Re: Tired of stale shares?
Post by: JoelKatz on July 10, 2011, 01:21:54 AM
Given that information, 100 shares in any reward scheme will net you more reward than 98 shares would.
Not in a proportional scheme. 100 shares out of 100,000 will give you the same reward as 98 shares out of 98,000.


Title: Re: Tired of stale shares?
Post by: lebuen on July 10, 2011, 08:04:17 AM
Given that information, 100 shares in any reward scheme will net you more reward than 98 shares would.
Not in a proportional scheme. 100 shares out of 100,000 will give you the same reward as 98 shares out of 98,000.

you don't think this through to the end. less valid shares means you'll need more time (on average) to find a block. so of course it's important to reduce stale shares. reducing stale shares is the same as increasing your hashrate.


Title: Re: Tired of stale shares?
Post by: JoelKatz on July 10, 2011, 09:45:33 AM
you don't think this through to the end. less valid shares means you'll need more time (on average) to find a block. so of course it's important to reduce stale shares. reducing stale shares is the same as increasing your hashrate.
No, not at all. Consider two mining pools. One reports 2% stale shares. The other doesn't even check if shares are stall at all and so reports all shares are valid (no stale shares). Assuming a proportional payment scheme, your returns will be (on average) precisely the same with both pools. To conclude that a proportional pay pool with fewer stale shares will pay more than one with more stale shares requires that you closely scrutinize the algorithm used by both pools to determine whether a share is stale.


Title: Re: Tired of stale shares?
Post by: lebuen on July 10, 2011, 10:05:35 AM
No, not at all. Consider two mining pools. One reports 2% stale shares. The other doesn't even check if shares are stall at all and so reports all shares are valid (no stale shares). Assuming a proportional payment scheme, your returns will be (on average) precisely the same with both pools. To conclude that a proportional pay pool with fewer stale shares will pay more than one with more stale shares requires that you closely scrutinize the algorithm used by both pools to determine whether a share is stale.
Well, I'm sorry to say and I know you'll refuse to admit that you were wrong. But you are.

There is no "algorithm" to determine whether a share is stale or not. Either a share has the chance to find a block (it's valid), or it's duplicate/wrong and thus doesn't have a chance to find a block (it's stale). Every valid share has the same chance to find a block.

So in your scenario where a pool "doesn't even check if shares are stall at all and so reports all shares are valid (no stale shares)" this will happen: a miner submits 100 stales and 1000 valid shares, but he will be displayed 1100 valid shares. Let's say there are 10 more miners with the same numbers. The pool then has 11000 shares in total and every miner get's 1/10 of the total revenue. BUT: the pool only has 10000 valid shares so far and thus has a lower probability of finding a block than another pool, which in the same time had 11000 valid shares (and really NO stales). So the members of the pool with no stales also get 1/10 of the total revenue, but total revenue is more (on average).

My english is a little limited, so I don't know how to explain this any further. But it's simple math: your hashrate is limited. the more valid shares you get out of the total amount of shares you compute, the better is your chance of finding a block.


Title: Re: Tired of stale shares?
Post by: gentakin on July 10, 2011, 10:11:36 AM
If JoelKatz is talking about the "reward per block", he is right. Stales don't change it if the stales happen to everyone on the pool.

Who cares about reward per block though? It's all about the reward per day/hour/whatever. And less stale shares means more blocks found by the pool because less proof-of-works have to be discarded, thus  higher reward per day. lebuen is correct.


Title: Re: Tired of stale shares?
Post by: JoelKatz on July 10, 2011, 10:31:00 AM
There is no "algorithm" to determine whether a share is stale or not.
Yes, there is. And different pools use different algorithms.

For example, some pools consider a share stale if the share was reported to the pool after a new block was found. Some pools don't consider a block stale even if it doesn't extend the currently longest hash chain if it would have extended the previously-longest hash chain. Pools do this specifically so they can advertise a lower number of stale shares, even though it has no effect on returns.

Quote
Either a share has the chance to find a block (it's valid), or it's duplicate/wrong and thus doesn't have a chance to find a block (it's stale). Every valid share has the same chance to find a block.
You are assuming that every pool uses precisely the same algorithm to determine whether to consider a share stale or not. I know for a fact that this is not true.


Title: Re: Tired of stale shares?
Post by: JoelKatz on July 10, 2011, 10:32:57 AM
Who cares about reward per block though? It's all about the reward per day/hour/whatever. And less stale shares means more blocks found by the pool because less proof-of-works have to be discarded, thus  higher reward per day. lebuen is correct.
This is completely false. If you don't see why, consider this argument:

A pool uses proportional rewards. 1% of all shares are stale. The owner decides to change the algorithm and no longer consider any shares stale. 0% of all shares are stale. What happens to the rewards per day/hour/whatever?

Answer: They are exactly the same.

What you're missing is that different pools use different algorithms to determine when they consider a share stale. They do this specifically so they can advertise fewer stale shares just like is happening here. But it's a form of scam or at the very least misrepresentation because it has no effect on proportional payouts.


Title: Re: Tired of stale shares?
Post by: gentakin on July 10, 2011, 10:59:19 AM
What you're missing is that different pools use different algorithms to determine when they consider a share stale. They do this specifically so they can advertise fewer stale shares just like is happening here. But it's a form of scam or at the very least misrepresentation because it has no effect on proportional payouts.

You're right. I didn't know that some pools accept shares that do not append the most recent block. I thought all pools only accept shares for the currently longest (known) block chain, and the difference in the amount of stale shares comes simply from bugs (in the pool software, or in miners) and the efficiency of long polling (faster LP response => less stales).

I could see why a pool would accept shares for the previous block for a few seconds after all LP requests have been answered (there might be a valid block among them that is superior to the current last block). This could actually increase the expected income of the pool. If other pools do the same though, it also increases the chance of invalid blocks, so it's the same if everyone is doing it as if noone did it. I guess. ??? Thanks for clearing that up for me. :)


Title: Re: Tired of stale shares?
Post by: lebuen on July 10, 2011, 11:36:07 AM
There's a difference between accepting (stale) shares and reducing (real) stales and thereby increasing the number of valid shares.

Stales are mostly occuring because a pool is giving work out to multiple workers or is too slow to respond (send out LP) after a new block is found. Of course you can optimize this by writing better, more intelligent software.

If a pool just silently accepts stales as valid, then of course you're right. But this would be a scam (if it's not described as a "feature" in the pool manifesto).

A pool uses proportional rewards. 1% of all shares are stale. The owner decides to change the algorithm and no longer consider any shares stale. 0% of all shares are stale. What happens to the rewards per day/hour/whatever?
That's not my point. It's not about "considering" shares stale, but really reducing the number of stales.


Title: Re: Tired of stale shares?
Post by: JoelKatz on July 10, 2011, 11:51:46 AM
Stales are mostly occurring because a pool is giving work out to multiple workers or is too slow to respond (send out LP) after a new block is found. Of course you can optimize this by writing better, more intelligent software.
Or you can argue that stales are occurring because the pool is being informed of new blocks more quickly. A pool could always convert a stale share into a valid share by delaying when it processes a new block for purposes of declaring shares stale.

Stale shares occur when a share is received in a certain window, between when the map is cleared and when the LP triggers new shares to be given out. That window can be narrowed by processing LP faster, which is good. But it can also be narrowed by clearing the map later, which is bad.

Quote
If a pool just silently accepts stales as valid, then of course you're right. But this would be a scam (if it's not described as a "feature" in the pool manifesto).
How would that be a scam? The purpose of a share is to prove work, and stale shares prove work just as much as non-stale shares do. If pools are going to compete based on the number of stale shares, it makes sense to take technical measures to reduce them. If you believe stale shares are all or mostly the pool's fault (as the OP must) then it doubly makes sense not to count them against the miner.


Title: Re: Tired of stale shares?
Post by: MrSam on July 10, 2011, 11:53:45 AM
How would that be a scam? The purpose of a share is to prove work, and stale shares prove work just as much as non-stale shares do.

That's my quote ! ;)


Title: Re: Tired of stale shares?
Post by: JoelKatz on July 10, 2011, 11:56:47 AM
How would that be a scam? The purpose of a share is to prove work, and stale shares prove work just as much as non-stale shares do.

That's my quote ! ;)
I knew I had heard it somewhere.


Title: Re: Tired of stale shares?
Post by: lebuen on July 10, 2011, 11:58:15 AM
So what would you say about a pool where >50% of the shares are stale, but they are reported to you (the miner) as valid? Screw "proof of work"  ::)


Title: Re: Tired of stale shares?
Post by: JoelKatz on July 10, 2011, 12:00:20 PM
So what would you say about a pool where >50% of the shares are stale, but they are reported to you (the miner) as valid? Screw "proof of work"  ::)
I'd say the pool has one or more miners maliciously reporting stale shares to them. Pools generally don't track stale shares, so you can report the same stale share to them over and over. Failing that, it's possible they have a small number of miners unintentionally reporting stale shares to them due to bugs of various kinds.


Title: Re: Tired of stale shares?
Post by: lebuen on July 10, 2011, 12:04:06 PM
Pools generally don't track stale shares
I'm still talking about "real" stales, not reported ones. You're still missing the point  ;) 50% "real" stales would mean 50% less revenue.


Title: Re: Tired of stale shares?
Post by: JoelKatz on July 10, 2011, 12:42:48 PM
Pools generally don't track stale shares
I'm still talking about "real" stales, not reported ones. You're still missing the point  ;) 50% "real" stales would mean 50% less revenue.
Even if that was so, it doesn't matter, because this post is about reported stales.


Title: Re: Tired of stale shares?
Post by: indio007 on July 10, 2011, 12:45:35 PM
Good job, i have zero stales so far out of 400. 5 workers i usually get 1.4% - 2.7% stales.


Title: Re: Tired of stale shares?
Post by: 1bitc0inplz on July 10, 2011, 12:58:29 PM
Even if that was so, it doesn't matter, because this post is about reported stales.

For everything you've denied, you have failed to say what you believe. Do you actually think that stale rate is not important?

The point of the matter is that stales reduce miner's income. Period. If more of the miner's and pool's efforts are spent doing work for the last block, then no forward progress is being made. This results in more accepted hashes per GH/s, and means the pool as a whole can check just that many more possible hashes per time period.


Title: Re: Tired of stale shares?
Post by: JoelKatz on July 10, 2011, 01:12:17 PM
For everything you've denied, you have failed to say what you believe. Do you actually think that stale rate is not important?
It depends. Stale rate is like CPU clock speed. For the same CPU architecture, clock speed can be important. But knowing the clock speed without knowing the CPU architecture, it is a meaningless number that can easily be manipulated to mislead you.

Quote
The point of the matter is that stales reduce miner's income. Period.
And, as I explained, this is incorrect. One can modify a pool to report zero stales and the miner's income is precisely the same. Pools do in fact use different algorithms to determine what a stale share is.

Quote
If more of the miner's and pool's efforts are spent doing work for the last block, then no forward progress is being made. This results in more accepted hashes per GH/s, and means the pool as a whole can check just that many more possible hashes per time period.
And that would be relevant if we were talking only about pools that defined shares in a particular way. However, different pools define stale shares differently. The purpose of a share is to prove work. Stale shares in this sense also prove work, so it makes sense fo pools to accept them.

In addition, miners can, if they wish to, submit the same share over and over after a new block is received. This will result in the pool having a very high percentage of stale shares. But it will have *no* effect on anyone's income.

What a "stale share" as reported by the mining client means is up to the pool operator to decide.


Title: Re: Tired of stale shares?
Post by: 1bitc0inplz on July 10, 2011, 01:24:06 PM

What a "stale share" as reported by the mining client means is up to the pool operator to decide.


You are correct, the pool is the one who verifies shares. However, I am not aware of any pool that differs in what it rejects. At least for us, we reject invalid shares (e.g., shares that are corrupt or don't even meet difficult 1 target, etc), stale shares (stales that are not for the current network block), duplicate shares (shares that have been submitted before).

So, when I am talking about stale shares in this post I am talking about stales reported in the mining software. This encompasses all types of stales. For the honest miner on good hardware, though, it should only really encompass truly stale shares.

However, if a miner's hardware is failing or if someone wanted to intentionally resubmit shares or submit junk shares, then the pool has no control over their reported stale rate as they're jacking with it themselves by submitting junk.

The point of the OP was that most pools don't do enough on their end to reduce truly stale shares. And, by not doing that they are sending out getwork responses that will never be fruitful.


Title: Re: Tired of stale shares?
Post by: JoelKatz on July 10, 2011, 01:28:12 PM
You are correct, the pool is the one who verifies shares. However, I am not aware of any pool that differs in what it rejects.
That is the thing you are missing. There are in fact pools that differ in their definition of a stale share. Some pools, for example, consider shares merely as proof of work and believe that a share that arrives at the pool server after someone else finds a block proves the same amount of work done as a share that arrives earlier. It is a fact that pools differ in their definition of what constitutes a stale share and therefore you cannot usefully compare stale rates across pools that pay proportionately unless you know how they define a stale share (and believe them or test it yourself).

You can, of course, compare stale rates across pay-per-share pools. If you don't get paid for stale shares, then stale shares come right out of your revenue stream. In pay-per-share setups, you don't particularly care whether the pool is efficiently finding real blocks or wasting your time finding blocks that will never get into the chain. If you're paid, you're good.


Title: Re: Tired of stale shares?
Post by: DrHaribo on July 11, 2011, 03:59:52 PM
Even if that was so, it doesn't matter, because this post is about reported stales.

For everything you've denied, you have failed to say what you believe. Do you actually think that stale rate is not important?

The point of the matter is that stales reduce miner's income. Period. If more of the miner's and pool's efforts are spent doing work for the last block, then no forward progress is being made. This results in more accepted hashes per GH/s, and means the pool as a whole can check just that many more possible hashes per time period.

This is exactly right. Stales equal wasted work. Stales are proofs-of-work in the way that you prove that you were working. But were you working on something useful? No.

Pools are not paying you to burn GPU cycles. They are paying you to work towards finding those magic bits that can create a new block. Working on stale data will not create a new block.

This is why I worked hard to reduce stales in my pool backend and miner. In my current session I have right now 19848 accepted proofs-of-work and only 14 stales. Reducing the stales has real value. It has basically the same result as making a miner faster.

Consider an analogy: You have one employee in an office working, and another reading the newspaper. Both are doing something, but only one is doing something useful. Which is more fair for the company to do? Pay them the same, or pay only for useful work? If the company has 50 bitcoins to pay out as salaries, should both employees get 25 BTC each?

If you pay for stale proofs-of-work then everyone else will be paying for the useless work from that guy who's running an old miner without long polling support.



Title: Re: Tired of stale shares?
Post by: JoelKatz on July 11, 2011, 04:17:17 PM
This is exactly right. Stales equal wasted work. Stales are proofs-of-work in the way that you prove that you were working. But were you working on something useful? No.
Non-stale shares are wasted work too, after all, you didn't successfully find a block, you just found a share. A person who finds a share and has it reported stale could have, with the same work, found a block a split-second earlier and been successful. You cannot say that just because the share was reported as stale that the work was wasted.

Quote
Pools are not paying you to burn GPU cycles. They are paying you to work towards finding those magic bits that can create a new block. Working on stale data will not create a new block.
Sure, but having a share reported as stale only proves that the last bit of the work you did occurred after someone else found a block. Producing shares doesn't create a new block either, it only has a chance of doing so. Producing a stale share also has a chance of finding a block.

Quote
Consider an analogy: You have one employee in an office working, and another reading the newspaper. Both are doing something, but only one is doing something useful. Which is more fair for the company to do? Pay them the same, or pay only for useful work? If the company has 50 bitcoins to pay out as salaries, should both employees get 25 BTC each?
A better example would be a company that wants to make sure a job gets done as quickly as possible and so assigns two workers to do it. Both workers complete the job, but one does it a bit sooner and so the company winds up not needing the second worker's work. Should they pay the second worker? Was the second worker a waste?

Quote
If you pay for stale proofs-of-work then everyone else will be paying for the useless work from that guy who's running an old miner without long polling support.
That's quite true *IF* the cause of the stale PoWs is someone not supporting LP. But this thread wasn't about LP. It was about stales caused in other ways.


Title: Re: Tired of stale shares?
Post by: DrHaribo on July 11, 2011, 06:27:08 PM
Consider an analogy: You have one employee in an office working, and another reading the newspaper. Both are doing something, but only one is doing something useful. Which is more fair for the company to do? Pay them the same, or pay only for useful work? If the company has 50 bitcoins to pay out as salaries, should both employees get 25 BTC each?
A better example would be a company that wants to make sure a job gets done as quickly as possible and so assigns two workers to do it. Both workers complete the job, but one does it a bit sooner and so the company winds up not needing the second worker's work. Should they pay the second worker? Was the second worker a waste?

Ok, that's a good point. And I think the answer cannot be simply yes or no. If he continued the same work after he should have known it served no purpose, then I think his work was a waste and he should not be paid. If he just arrived back with his results 1 second after the other guy, it would only be fair that he would also be rewarded for his efforts. Perhaps one could have a grace period of a second or two after block change. "You wasted some work, but it's not your fault, so you still get paid."

I don't think this would matter as these stales are the same for everyone and won't affect your share of the payout. But it might have a psychological up-side seeing 0% stales even if it isn't true, and even if you just get the same amount of bitcoins as before.

Quote
Quote
If you pay for stale proofs-of-work then everyone else will be paying for the useless work from that guy who's running an old miner without long polling support.
That's quite true *IF* the cause of the stale PoWs is someone not supporting LP. But this thread wasn't about LP. It was about stales caused in other ways.

Right. The cause for some stales may be the miner, and for other stales it's just that it takes time for the mining pool to notify all miners, or that the miner delivers a proof-of-work at the same time it is notified that it is stale.

I think if some users have more stales due to the miner they are using, it doesn't make sense to pay them for those additional stales.

Other than that all users would probably average the same rate of stales over time. In this case it doesn't make a difference whether you get paid for stales or not, you would still get the same share of the 50 BTC. It might have a psychologically positive effect to get paid for stales though?

The other side to it is that the mining pool is competing with other mining pools, so keeping the rate of stales down means a little more money for all users. Consider 50% stales versus 0% stales and a user with 10% of the proofs of work. With 50% stales it takes twice as long between every 50 bitcoins minted by the pool. Assuming all users have 50% stales it won't matter for each individual payout whether users are paid for stales or not. But it does matter whether you get a payout of 5 bitcoins every day versus every two days.

If the pool and/or miners are wasting 50% of the work, then they lose 50% of the potential income.  For 1% waste the loss is 1%. That said, it is impossible to get to 0% stales, because absolute synchronization is impossible in a distributed network. But getting closer to 0% means more money for everyone in the pool.



Title: Re: Tired of stale shares?
Post by: JoelKatz on July 11, 2011, 06:49:29 PM
Right. The cause for some stales may be the miner, and for other stales it's just that it takes time for the mining pool to notify all miners, or that the miner delivers a proof-of-work at the same time it is notified that it is stale.
As far as I know, pools still allow people to use miners that don't support LP. I think it might not be a bad idea to at least notify people that they're wasting effort. This is especially important for pools that pay proportionately and count stale shares.

Quote
I think if some users have more stales due to the miner they are using, it doesn't make sense to pay them for those additional stales.
I agree. In practice, the only way you can actually do this is never pay for stale shares or require LP.

Quote
Other than that all users would probably average the same rate of stales over time. In this case it doesn't make a difference whether you get paid for stales or not, you would still get the same share of the 50 BTC. It might have a psychologically positive effect to get paid for stales though?
Exactly. I've been trying to reason out if people who mine faster or slower would have more stale shares --during the 9 minutes or so when no blocks are generated and no stales are possible, the faster miner builds up more shares. But the slower miner is less likely to generate a share during the window where stale shares are possible.

Higher network latency could mean more stale shares. But the effect should be pretty minimal. Even assuming an extra 800ms latency, that would be at most an extra .2% stales.

Quote
The other side to it is that the mining pool is competing with other mining pools, so keeping the rate of stales down means a little more money for all users. Consider 50% stales versus 0% stales and a user with 10% of the proofs of work. With 50% stales it takes twice as long between every 50 bitcoins minted by the pool. Assuming all users have 50% stales it won't matter for each individual payout whether users are paid for stales or not. But it does matter whether you get a payout of 5 bitcoins every day versus every two days.
I don't think your math is correct. A stale share simply means that the network found a new block before the share was submitted. It doesn't mean the work generated to produce the stale share had no chance to produce  valid block. Losing the race doesn't mean you didn't have a chance to win the race.

Quote
If the pool and/or miners are wasting 50% of the work, then they lose 50% of the potential income.  For 1% waste the loss is 1%. That said, it is impossible to get to 0% stales, because absolute synchronization is impossible in a distributed network. But getting closer to 0% means more money for everyone in the pool.
You are assuming that because a work unit lost the race, it had no chance of winning the race.


Title: Re: Tired of stale shares?
Post by: AnnihilaT on July 11, 2011, 07:29:57 PM
Joel makes a very good point here.  Im inclined to agree that stales arent really as big of an issue as many people make them out to be.  I think its more a psychological issue and a misunderstanding of how things are working that cause people to be so concerned about it.   a huge high percentage of stales could indicate something is wrong with your mining client but in general i dont think its anything to be overly concerned about.   


Title: Re: Tired of stale shares?
Post by: 1bitc0inplz on July 12, 2011, 12:39:57 AM
Unfortunately this thread has gotten way off topic.

I understand that some people may not be concerned about stale shares. My hat if off to you. However, for those of us who prefer for our mining efforts to be as meaningful as possible, I was simply trying to point out that there is an alternative pool for people to join that does not suffer from stales.