Pages:
Author

Topic: [9 TH] Bitparking Pool, DGM 0%,vardiff,stratum,Merge Mining - page 44. (Read 163893 times)

legendary
Activity: 1078
Merit: 1005
An orphan block reduces the DGM score without generating any payout, but a stale block doesn't, right? Since you are submitting blocks to multiple bitcoinds, the boundary between orphan and stale blocks is not that clear, when some bitcoinds can still accept a block while others would reject it. Since this distinction is affecting scores, it would be interesting to have more detail about how you decide whether a block that didn't pay was orphan or stale.
The distinction is pretty fine. It's considered a stale if the bitcoind that owns the private address that's paid out in the coinbase address never sees the block. It's an orphan if it sees the block and loses a race resulting in the bitcoin noting the payment as 'orphan'.

Actually, I have wondered why pools don't modify their bitcoind to not reject a block, if the earlier block of same height still has zero confirmations. Why not work on the block the pool found, even if the other block of same height is already widely spread? If the pool happens to be lucky enough to mine a second block before the competing block gets a new confirmation, their earlier stale block combined with the new one would net the pool two blocks instead of one. Surely I'm missing some obvious reason not to do this.
Some pools are big enough to continue building on confirmation 1 blocks and win enough times to make it worthwhile. I think it's generally considered bad form by most pool operators to do this. There's a suspicion that some have done in the past though from discussions I've had with various operators.
legendary
Activity: 1974
Merit: 1003
i just joined this pool, mostly because of the merged mining. any reviews abt pool ?
full member
Activity: 221
Merit: 100
Why are last 3 blockes pending?
sr. member
Activity: 658
Merit: 250
An orphan block reduces the DGM score without generating any payout, but a stale block doesn't, right? Since you are submitting blocks to multiple bitcoinds, the boundary between orphan and stale blocks is not that clear, when some bitcoinds can still accept a block while others would reject it. Since this distinction is affecting scores, it would be interesting to have more detail about how you decide whether a block that didn't pay was orphan or stale.

The extreme, malicious case would be running one bitcoind behind a crappy dial-up connection. It would almost always accept blocks that all the other bitcoinds would reject. A bigger than expected portion of blocks would be marked as orphans instead of stales, resulting in smaller scores for users. On the other hand, if you are running, say, five bitcoinds without any malicious intent like described above, and only one rejects a block, why should that block be marked stale? Isn't there a good chance the other bitcoinds could still spread the block and make it win the race? And surely the pool should attempt to use their own block as a base for the next one they are working to generate.

Actually, I have wondered why pools don't modify their bitcoind to not reject a block, if the earlier block of same height still has zero confirmations. Why not work on the block the pool found, even if the other block of same height is already widely spread? If the pool happens to be lucky enough to mine a second block before the competing block gets a new confirmation, their earlier stale block combined with the new one would net the pool two blocks instead of one. Surely I'm missing some obvious reason not to do this.
legendary
Activity: 1078
Merit: 1005
Isn't that a bit close together? I know 0.8.1 has there problems but still is that just that or is something else?
140   239191   2013-06-02 03:15   03:42:08   0.00000000   22.01560992   6,906,882   orphan
140 wasn't really a true orphan, it wasn't actually a valid block but the pool paid out on it anyway so I marked it as orphan. The issue was that the pool would submit a block to multiple bitcoind's and every now and then it is actually stale but one of them would report it as successful due to not having had a new block notification yet and it was being reported as a successful block. It could technically be regarded as an orphan but it's not really since that bitcoind would immediately know when it propogated the block further. Too late for the pool though since it considered it valid. I've closed this loophole now.

One advantage of the move to making blocks pending until confirmed is that this sort of issue of "orphan, stale or something else" is avoided since we wait for confirms. I can manually look if needed to see if it was an orphan (racing with another miner) vs was stale but one of the bitcoind's I communicate with didn't know yet.
hero member
Activity: 826
Merit: 1000
Isn't that a bit close together? I know 0.8.1 has there problems but still is that just that or is something else?

140   239191   2013-06-02 03:15   03:42:08   0.00000000   22.01560992   6,906,882   orphan
139   239158   2013-06-01 23:33   00:47:30   25.07671449   21.21246575   1,525,245   valid
138   239150   2013-06-01 22:46   04:23:37   25.05475000   25.25235495   8,392,360   valid
137   239112   2013-06-01 18:22   07:44:31   25.09837842   26.46872984   14,570,508   valid
136   239041   2013-06-01 10:37   03:01:39   25.03060000   24.41042079   5,781,368   valid
135   239016   2013-06-01 07:36   07:29:50   0.00000000   26.82509542   14,144,418   orphan
legendary
Activity: 1078
Merit: 1005
Pool will be going down in 10 minutes or so for updates. It should be up approximately 10 minutes later.

Edit: Pool is back up and the orphan changes discussed earlier are implemented.
legendary
Activity: 1078
Merit: 1005
In other terms, would this method require delaying payments? That would be ok for me...
Right, the payment would be delayed 3 confirmations or so to confirm the block isn't orphaned.
full member
Activity: 231
Merit: 100
According to Meni Rosenfeld, the DGM creator, the scores should not be adjusted if an orphan occurs. There's a discussion in the DGM thread about this and you should raise any questions you have there. Here's what Meni says:

Quote
I can see why it is intuitive to treat orphaned block as if they never happened - thus cancelling S=S*o - but the method invariant is based on the assumption that a share has a probability of d/D to be a block. If orphans exist this is no longer the case, shares actually have a lower chance of becoming a valid block. If orphans are ignored completely, the operator will pay out more than he should (the block rewards he actually receives are lower than the method assumes). I've done the math and if you simply cancel the payment specified for the orphan blocks, everything is just right. This assumes, however, that every block, once received by the pool, has the same chance to become an orphan.

I hadn't thought of it that way. Yes, if every block has the same chance of becoming an orphan, every miner will lose exactly his fair share on average.
legendary
Activity: 1946
Merit: 1035
Yes, I would be fine with just cancelling the payout triggered by the orphan block, but if the orphan is late and the money is already withdrawn, it will have a side effect. I will compare it to what happened when the dividend for TAT-ASICMINER went paid in double. Those who withdrew early, before the correction, have got away with it (it was on burnside's expenses in the end), while those who left the funds on their account saw it taken back.

Wouldn't it be the same here? Even if you put the balance in negative, aren't you afraid that you'll be paying for "smart boys" who just recreate a new account when they have a negative balance?

In other terms, would this method require delaying payments? That would be ok for me...
legendary
Activity: 1078
Merit: 1005
Will the scores get recalculated when a block is orphaned? If I understand DGM correctly (doubtful Wink) and the pool finds a block that is later orphaned, the payments of the next valid block will be lower than they would be if the orphaned block never existed.
The effect of the payments of the next valid block will depend on if the orphan block is short or long. In the longer term this effect is minimized and the the general cost to the miner is the percentage of orphan blocks the pool gets.

According to Meni Rosenfeld, the DGM creator, the scores should not be adjusted if an orphan occurs. There's a discussion in the DGM thread about this and you should raise any questions you have there. Here's what Meni says:
Quote
I can see why it is intuitive to treat orphaned block as if they never happened - thus cancelling S=S*o - but the method invariant is based on the assumption that a share has a probability of d/D to be a block. If orphans exist this is no longer the case, shares actually have a lower chance of becoming a valid block. If orphans are ignored completely, the operator will pay out more than he should (the block rewards he actually receives are lower than the method assumes). I've done the math and if you simply cancel the payment specified for the orphan blocks, everything is just right. This assumes, however, that every block, once received by the pool, has the same chance to become an orphan.

And later in the thread:

Quote
Shares submitted after the orphan will be worth more than those submitted before, and this is proper.

The orphan did happen and this is information that needs to be taken into account. The orphan blocks are not in addition to the valid blocks - they are instead, some of the blocks which should have been valid end up orphans instead. The correct comparison is not orphan vs. no block, but rather orphan vs. valid block.

When a block is found, all past shares have a chance to get a payday if it ends up valid. The cost of this chance at payment is the score reduction - even if, contingently, it ends up an orphan. Later shares never had a chance to profit from the block, and thus don't get their scores reduced for it.

This is similar to the situation with shares in general in a pool - when you submit a share, you are rewarded even if the particular share was of no use, because in finding a share you had a chance to benefit the pool - and you get an expected reward equal to your expected contribution.

It would be nice to have a method that could adjust for orphan blocks and 'make up' payment for them but it's not possible since we can't predict the probability of a block accurately in the presence of orphans. The pool doesn't have a way to 'make up' the cost of orphans and pass that on to miners, other than increasing the fee to approximate the orphan rate. From what I can tell users prefer losing out on orphans but paying a lower fee.
hero member
Activity: 826
Merit: 1000
Will the scores get recalculated when a block is orphaned? If I understand DGM correctly (doubtful Wink) and the pool finds a block that is later orphaned, the payments of the next valid block will be lower than they would be if the orphaned block never existed.

As for feedback in general, it would be useful if the user stats showed the amount of active connections (i.e., workers). It can be hard to tell from the estimated hashrate alone if a rig has crashed.
You are right on a first point and +1 on second... Hash rate per connection(worker) and inactive alarm...
full member
Activity: 231
Merit: 100
Will the scores get recalculated when a block is orphaned? If I understand DGM correctly (doubtful Wink) and the pool finds a block that is later orphaned, the payments of the next valid block will be lower than they would be if the orphaned block never existed.

As for feedback in general, it would be useful if the user stats showed the amount of active connections (i.e., workers). It can be hard to tell from the estimated hashrate alone if a rig has crashed.
hero member
Activity: 826
Merit: 1000
As always, feedback appreciated.
I would also recommended changing the site a bit. If you would like to go ti irc you need to open a IRC, then look at the page for chanal and join it. What about link http://webchat.freenode.net/?channels=mmpool&prompt=1 on top of the page? Link names something like mmpool IRC

Also I would recommend punting imported links on top of the page. Registration, user account, pool statistic,... So you don't need to look for them over the page.

I would also like to see one page with impotent stats for user. I have now 3 page opened

http://mmpool.bitparking.com/blockstats
http://mmpool.bitparking.com/pool
http://mmpool.bitparking.com/user/"my username"

First one to see DGM Estimate(, Luck and Duration)
Second to see PPS, Pool Hash Rate(, Luck and Duration)
Last to see well all that that is on it...
And I would still like to see Pool luck 48 hours, 7 days, 30 days(or maybe 8 blocks, 28 blocks, 120 blocks) or something like that...

EDIT: If hash rate increases I would also like to see more then 5 blocks in history...
legendary
Activity: 1078
Merit: 1005
This is a heads up that I've written and tested the code to have the pool no longer pay out on orphan blocks as discussed here previously. The way this works is there will be a "Pending BTC Payments" section in the user stats. When a block is found the bitcoin amount earnt is added to that and the block appears as "pending" in the list of solved blocks. When the block is marked "paid" the amount is moved from the "Pending BTC Payments" to the users bitcoin balance and is then available for withdrawal. If the block is marked "orphan" the amount is not added to the bitcoin balance. I'm expecting to set the threshold of confirmations to denote "not orphaned" to be about 3. When I first activate this I'll be processing the payments manually to check that everything is going ok before I automate things so there may some delay in confirmation initially. I'm looking at activating this process sometime in the next 24 hours when I've got a time I can watch the pool constantly to make sure nothing goes wrong.

With regards to transaction fees I've not yet enabled the payment of these to users - the pool still keeps them - but I expect to do that in the next day or two once the orphan code has settled.

Future updates after this are expected to be:

  • Continue to investigate the pool disconnectoin reports from cgminer 3.x that some users are experiencing
  • Upgrade merge mining bitcoind to 0.8.2. I have the merge mining patches I use converted to 0.8.2 and have done a fair amount of testing and it's working so this won't be too far away. This should provide better pool performance, block propogation and less chance of orphans.
  • Automatic payments over a set threshold
  • More stats available from the apis

As always, feedback appreciated.
hero member
Activity: 826
Merit: 1000
Speaking of rejected shares: My CGMiner has a suspiciously low number of rejected shares on Bitparking. Sometimes, I can submit literally tens of thousands of shares without seeing a single rejected one. That's not the case with others pools nor with different mining clients...
I also noticed that. But I see in logs that when rejected share happens cgminer puts in a user request and it is probably accepted... Not sure...
hero member
Activity: 826
Merit: 1000
It's working fine for me - anyone else seeing this issue?
Yes... On a test machine I'm still getting them with 3.1.1 but 2.11.4 is OK.

I using now 630 HM for this tests... d=1 but still. I will soon get 1GH of USB ASIC and I will need to run 3.1.1. So if you need me for debugging please let me know what you need.

EDIT: Upgraded to 1GH but still

EDIT2: 2.11.4 is probably OK. I did get some disconnects since I have turned on this test machine and start running 3.1.1. If I run 2.11.4 there are no disconnects...

EDIT3: Just seen a disconnect on all miners at the same time... All ruining 2.11.4 right now. So the same thing might happen in EDIT2.
full member
Activity: 231
Merit: 100
I'm connecting through slush's stratum mining proxy right now, and it seems to be working peachy. However, the supplied reason for a couple of rejected shares caught my eye:

Code:
REJECTED: (u'u', u'n', u'k')

What does that mean?

Speaking of rejected shares: My CGMiner has a suspiciously low number of rejected shares on Bitparking. Sometimes, I can submit literally tens of thousands of shares without seeing a single rejected one. That's not the case with others pools nor with different mining clients...
full member
Activity: 231
Merit: 100
CGMiner just switched back to Bitparking.

EDIT: It happened again, but it only lasted about a minute this time...

EDIT: CGMiner 3.2.0 has the same issues 3.1.1 has. Right now, I'm getting disconnects every couple of minutes (7 in the last 15 minutes).
legendary
Activity: 1078
Merit: 1005
CGMiner and the pool are still not getting along.

CGMiner 3.1.1 has been claiming that the pool is dead since approximately 00:30 UTC. CGMiner 2.11.4 says it's alive, but I'm getting an unusually low hashrate.

Another rig on the same network is running GUIMiner, which is working as usual. So do both versions of CGMiner if I switch to the backup pool.
It's working fine for me - anyone else seeing this issue?
Pages:
Jump to: