Author

Topic: OFFICIAL CGMINER mining software thread for linux/win/osx/mips/arm/r-pi 4.11.0 - page 453. (Read 5806004 times)

hero member
Activity: 807
Merit: 500
I think you guys are making it more complex than it needs to be so I will just assume that pools can detect the diff of shares sent from miners under certain circumstances and I just don't know what those circumstances are.  And leave it at that.
Maybe what you need to know is that the display is just so users can tell what is going on.  The pool can tell the difficulty.  Really, the user can tell the difficulty the same way.  Here's a quick example:
Quote
[2012-11-05 09:53:34] Accepted 231bf483 Diff 7/1 GPU 0 pool 5
 [2012-11-05 09:53:38] Accepted cce04ba1 Diff 1/1 GPU 0 pool 5
 [2012-11-05 09:53:53] Accepted 7c4f2f3c Diff 2/1 GPU 0 pool 5
 [2012-11-05 09:54:04] Accepted 4ddf5594 Diff 3/1 GPU 0 pool 5
...
 [2012-11-05 09:54:36] Accepted 088ec9d0 Diff 29/1 GPU 0 pool 5
 [2012-11-05 09:54:42] Accepted 3f8bcb0c Diff 4/1 GPU 0 pool 5
 [2012-11-05 09:54:45] Accepted 140eed64 Diff 12/1 GPU 0 pool 5
...
 [2012-11-05 10:05:56] Accepted 0085e3b5 Diff 489/1 GPU 0 pool 5
Any accepted share is at least difficulty 1 (with rare exception as mentioned by Kano where pools accept shares technically lower than 1).  What I bolded is what is relevant to telling difficulty (and the difficulty it tells).  It is more complicated than just looking at the first character(s) in the displayed hash (which is actually at least the 9th character in the actual hash, with everything earlier than the displayed being 0's), but that is all that is necessary to start to see the correlation.  I believe any displayed hash that starts with 8 through f is difficulty 1; beyond that, as the hex character(s) it starts with get lower, the difficulty gets higher.

ETA:  This is with minimum difficulty 1.  If the pool had minimum difficulty higher than 1, at least of those shares wouldn't have been displayed or submitted by cgminer, and if cgminer did display and submit it(/them), it(/they) would have been rejected by the pool.
hero member
Activity: 780
Merit: 510
Bitcoin - helping to end bankster enslavement.
(and no shares would get paid double).

Huh? What?
If a pool requires miner 1 to submit minimum difficulty 2 shares, but miner 2 can submit minimum difficulty 1 shares, then each share submitted by miner 1 will be paid twice as much as each share submitted by miner 2.  If all miners are required to submit minimum difficulty 2 shares, then no miner's shares are worth more than any other miner's shares.

I get the first part but how can a miner submit "No Shares" and get paid?
LOL, nice, you are joking right?  Just in case you're not, let me rephrase it this way: "none of the submitted shares get paid double."  This is because they would all get paid equally since there would be no variation from the minimum difficulty for different shares to be compared against.  Presumably you understood this from Krak's post and I am wasting my time.

OK it appears that I understood the concept long before, but assumed it was more complicated than I thought.  However what has left me kind of confused is the fact that pool can or can't determining the difficulty of shares.  If they can then then submit the number of shares found in the db, if they can't then how the hell can they require all miners to submit a higher difficulty when the miner could just send the a diff of 1 and they would never know.

I think you guys are making it more complex than it needs to be so I will just assume that pools can detect the diff of shares sent from miners under certain circumstances and I just don't know what those circumstances are.  And leave it at that.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
I've been thinking why not hard code the --fix-protocol into 2.8.6+ since it seems to do the job very well. (and add a --no-fix-protocol option instead?)
Because Stratum will hopefully be the default mining protocol soon. Better to get the bugs out of the way now.
Right.

This answer doesn't make sense; in fact, counter intuitive.  Are you saying if every BTC pool switched to stratum, that NOBODY would need to use the --fix-protocol parameter anymore? Just curious.
So long as everything is working, yes. Long term the need for that option should even be removed, but it's still early days.
sr. member
Activity: 322
Merit: 250
I've been thinking why not hard code the --fix-protocol into 2.8.6+ since it seems to do the job very well. (and add a --no-fix-protocol option instead?)
Because Stratum will hopefully be the default mining protocol soon. Better to get the bugs out of the way now.
Right.

This answer doesn't make sense; in fact, counter intuitive.  Are you saying if every BTC pool switched to stratum, that NOBODY would need to use the --fix-protocol parameter anymore? Just curious.
legendary
Activity: 4634
Merit: 1851
Linux since 1997 RedHat 4
Didn't read the forum for two days (busy weekend work) Cheesy
OK lets see if I can write it clearly.

Accepted 12345678 Diff X/Y GPU 1 pool 3

Y = the difficulty the pool requires and pays
X = the difficulty of the share found

Y is all that matters - X is purely for interest sake only
(and of course X will be greater than or equal to Y for all Accepted shares)

Now the easiest way to remove any confusions is to consider this:
Before vardiff, when you found a block while pool mining on a pool that doesn't pay a block bounty (most pools) you only got paid for a 1 diff share.
It didn't matter that it would have been greater than 1 million difficulty, you still only got paid for a 1 diff share.

To consider the maths is quite simple:
When you mine, on average half your shares will be above 2 diff (yeah I'm not gonna explain that one Tongue)
So if you are mining at 2 diff then on average half your shares will be submitted.
The remainder (below 2 diff) are not submitted, or if they were submitted they would be rejected.
That's why each share is worth 2 times as much as a 1 diff share.

Replace 2 with any number N above 1, and half with 1/N and it's the same.

--

Also note that X is rounded down so it depends on the pool's definition of 1 difficulty.

The value currently used is 26959946667150639794667015087019630673637144422540572481103610249216.0
Smiley Yes that's it Smiley
Or in hex:
0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff

(Edit: and ... I just realised that's wrong at the last place - it should end in 5, not 6 - so the current code is only accurate to 67 places, the 68th place is wrong Tongue)

This does mean that the value for X displayed, may on rare occasions, with a pool that uses correct difficulty values, not be correct.
It doesn't, however, mean that you will ever lose a share due to this.
The pool advertises the difficulty and the share is checked against the pools difficulty.
The problem is simply interpreting that number supplied by the pool and displaying it.

Most pools use that incorrect value for the BTC definitions of 1 difficulty above.
It means they only need to check the first 32bits instead of all 256bits and can stop at the 98.2% mark of processing the triple hash
(yeah even though it's a double hash, it's three times through the 64 steps since the first hash takes 2 goes through)
No idea why they think this is a big issue since the checking code is only a tiny fraction of the code that does the hash and the total gain in hashing is only 1.8% ... unless they trust the midstate you send back ... then it's 3% ... hmm I wonder if any pools risk that.

Anyway, the result it that they Accept an extra share every 65536 shares - so miners don't get extra Rejects, they get a rare extra Accept.

Here's an example of one from back in April:
[2012-04-20 15:50:10] Accepted 00000000.ffff7bc4.7c568d65 GPU 1 thread 3 pool 0

With correct difficulty that would have been rejected.

The correct value for 1 difficulty is:
0x00000000ffff0000000000000000000000000000000000000000000000000000
hero member
Activity: 807
Merit: 500
(and no shares would get paid double).

Huh? What?
If a pool requires miner 1 to submit minimum difficulty 2 shares, but miner 2 can submit minimum difficulty 1 shares, then each share submitted by miner 1 will be paid twice as much as each share submitted by miner 2.  If all miners are required to submit minimum difficulty 2 shares, then no miner's shares are worth more than any other miner's shares.

I get the first part but how can a miner submit "No Shares" and get paid?
LOL, nice, you are joking right?  Just in case you're not, let me rephrase it this way: "none of the submitted shares get paid double."  This is because they would all get paid equally since there would be no variation from the minimum difficulty for different shares to be compared against.  Presumably you understood this from Krak's post and I am wasting my time.
hero member
Activity: 780
Merit: 510
Bitcoin - helping to end bankster enslavement.
(and no shares would get paid double).

Huh? What?
If a pool requires miner 1 to submit minimum difficulty 2 shares, but miner 2 can submit minimum difficulty 1 shares, then each share submitted by miner 1 will be paid twice as much as each share submitted by miner 2.  If all miners are required to submit minimum difficulty 2 shares, then no miner's shares are worth more than any other miner's shares.

I get the first part but how can a miner submit "No Shares" and get paid?
hero member
Activity: 807
Merit: 500
(and no shares would get paid double).

Huh? What?
If a pool requires miner 1 to submit minimum difficulty 2 shares, but miner 2 can submit minimum difficulty 1 shares, then each share submitted by miner 1 will be paid twice as much as each share submitted by miner 2.  If all miners are required to submit minimum difficulty 2 shares, then no miner's shares are worth more than any other miner's shares.
legendary
Activity: 1274
Merit: 1004
So ASIC support will be in 4-6 weeks? Or are you talking of availability of asics?

It's a joke, for the longest time BFL shipment time for the Singles was listed as 4 to 6 weeks despite being months late.
hero member
Activity: 555
Merit: 504
Con, can you tell us anything about the progress with BFL ASIC support?  Please choose one of the following:

1.  I can't talk about it, I'm under NDA.
2.  I've logged in remotely to their servers and have poked around a little.
3.  I've logged in remotely and have already begun creating code for BFL's ASIC to work with cgminer.
4.  I have no plans to log in remotely to BFL and won't do anything until they send me some real hardware.
5.  I have real hardware in hand and am working on the code.
6.  I won't support BFL ASIC because I won't develop for them for free and they haven't paid me yet.


No NDA, no physical hardware, no remote access, not even a protocol document to work from. Nothing has been done yet. Will start once I at least get protocol docs.

Sometime next year I'm thinking Wink

No it will be in 4 to 6 weeks.  Wink

So ASIC support will be in 4-6 weeks? Or are you talking of availability of asics?
hero member
Activity: 780
Merit: 510
Bitcoin - helping to end bankster enslavement.
Sorry for not reading the thread to find this but searches turned up nothing (should of used google Tongue) but I am wondering what does "Best Share" mean and what does Diff 2/2 or Diff 1.5k/2 mean?

Thanks
In "Diff x/x," the first number is the difficulty that the share achieved and the second number is the minimum difficulty that the pool will accept. The second number might change around a bit if you use a pool that supports variable difficulty, however you should get paid for multiple difficulty 1 shares (for example, you get paid for two difficulty 1 shares every time you submit a difficulty 2 share).

The "Best share" line is the highest difficulty share you've found since you last started cgminer. If your best share is higher than the current network difficulty (~3,300,000), you found a block for the network.

Thanks this makes sense and I understood that share difficulty of 2 would only be accepted and share diff of 1 will be rejected as I see that cgminer has a message called "Old Difficulty" meaning it can not be submitted or it will be rejected.


(and no shares would get paid double).

Huh? What?
hero member
Activity: 807
Merit: 500
This was already made obvious in the context though.
It wasn't obvious to me in your post, and Davinci asked while clueless, so I' not sure what context you are referring to, but my post was simply a "better safe than sorry" type post.  To be fair, after re-reading your post, I think adding only the bolded word "minimum" would have made it obvious to me (though still not well-worded).
hero member
Activity: 591
Merit: 500
Sorry for not reading the thread to find this but searches turned up nothing (should of used google Tongue) but I am wondering what does "Best Share" mean and what does Diff 2/2 or Diff 1.5k/2 mean?

Thanks
In "Diff x/x," the first number is the difficulty that the share achieved and the second number is the minimum difficulty that the pool will accept. The second number might change around a bit if you use a pool that supports variable difficulty, however you should get paid for multiple difficulty 1 shares (for example, you get paid for two difficulty 1 shares every time you submit a share when the pool is requiring a minimum difficulty 2 share).

The "Best share" line is the highest difficulty share you've found since you last started cgminer. If your best share is higher than the current network difficulty (~3,300,000), you found a block for the network.
FTFY, grammar isn't perfect, but point is the submitted difficulty doesn't matter, the minimum does, and this is only true if difficulty varies per miner.  Technically, if a pool only accepted minimum difficulty 2 shares, period, then every share submitted would be paid the same amount, but difficulty 1 shares wouldn't be paid anything (and no shares would get paid double).
This was already made obvious in the context though.
hero member
Activity: 807
Merit: 500
Sorry for not reading the thread to find this but searches turned up nothing (should of used google Tongue) but I am wondering what does "Best Share" mean and what does Diff 2/2 or Diff 1.5k/2 mean?

Thanks
In "Diff x/x," the first number is the difficulty that the share achieved and the second number is the minimum difficulty that the pool will accept. The second number might change around a bit if you use a pool that supports variable difficulty, however you should get paid for multiple difficulty 1 shares (for example, you get paid for two difficulty 1 shares every time you submit a share when the pool is requiring a minimum difficulty 2 share).

The "Best share" line is the highest difficulty share you've found since you last started cgminer. If your best share is higher than the current network difficulty (~3,300,000), you found a block for the network.
FTFY, grammar isn't perfect, but point is the submitted difficulty doesn't matter, the minimum does, and this is only true if difficulty varies per miner.  Technically, if a pool only accepted minimum difficulty 2 shares, period, then every share submitted would be paid the same amount, but difficulty 1 shares wouldn't be paid anything (and no shares would get paid double).
full member
Activity: 198
Merit: 100
Con, can you tell us anything about the progress with BFL ASIC support?  Please choose one of the following:

1.  I can't talk about it, I'm under NDA.
2.  I've logged in remotely to their servers and have poked around a little.
3.  I've logged in remotely and have already begun creating code for BFL's ASIC to work with cgminer.
4.  I have no plans to log in remotely to BFL and won't do anything until they send me some real hardware.
5.  I have real hardware in hand and am working on the code.
6.  I won't support BFL ASIC because I won't develop for them for free and they haven't paid me yet.


No NDA, no physical hardware, no remote access, not even a protocol document to work from. Nothing has been done yet. Will start once I at least get protocol docs.

Sometime next year I'm thinking Wink

No it will be in 4 to 6 weeks.  Wink
hero member
Activity: 591
Merit: 500
Sorry for not reading the thread to find this but searches turned up nothing (should of used google Tongue) but I am wondering what does "Best Share" mean and what does Diff 2/2 or Diff 1.5k/2 mean?

Thanks
In "Diff x/x," the first number is the difficulty that the share achieved and the second number is the minimum difficulty that the pool will accept. The second number might change around a bit if you use a pool that supports variable difficulty, however you should get paid for multiple difficulty 1 shares (for example, you get paid for two difficulty 1 shares every time you submit a difficulty 2 share).

The "Best share" line is the highest difficulty share you've found since you last started cgminer. If your best share is higher than the current network difficulty (~3,300,000), you found a block for the network.
hero member
Activity: 780
Merit: 510
Bitcoin - helping to end bankster enslavement.
Sorry for not reading the thread to find this but searches turned up nothing (should of used google Tongue) but I am wondering what does "Best Share" mean and what does Diff 2/2 or Diff 1.5k/2 mean?

Thanks
hero member
Activity: 555
Merit: 504
All my life my computers are always doing something so they are always on. They last for years and years and years with almost no problems. 6 months of always on should never kill anything unless it is running abnormally hot.

Me too, but that one misterious card has been very tricky. So far good with lowered clock frequencies.
hero member
Activity: 575
Merit: 500
The North Remembers
Botnets have been mining so they flag pretty much all miners as a trojan because they assume you didn't install it intentionally.
full member
Activity: 195
Merit: 100
I need some help here  anti virus seems to be detecting libpdcurses.dll as a key logger is this a false positive as its also been reported elsewhere on ltc forums that its a keylogger and i goggled this and also thrown up a zillion pages for been a keylogger too

You can take the dll file from latest bfgminer, that should be recompiled so that anti virus programs don't give false positives.
Jump to: