Author

Topic: Eligius: 0% Fee BTC, 105% PPS NMC, No registration, CPPSRB - page 209. (Read 1061449 times)

full member
Activity: 157
Merit: 100
You could check for this by looking at the network hash rate and comparing it to the difficulty. Difficulty being ess than the hashrate would give you the percentage of dud miners. But it would not affect live miners.
The network does no "know" the hashrate. The hashrate as reported by some stats sites is estimated based by the current difficulty and the speed at which blocks are found; averaged over a few hours.


Isn't the hashrate measured based on the speed at which shares are found?

The hashrate of a given pool, as reported by that pool; yes, of course. The hashrate of the whole network, as reported by https://bitcoinwisdom.com/bitcoin/difficulty or http://bitcoin.sipa.be/, no; it is based on blocks found, because it does not know about shares found by every pool or individial miner.
full member
Activity: 196
Merit: 100
You could check for this by looking at the network hash rate and comparing it to the difficulty. Difficulty being ess than the hashrate would give you the percentage of dud miners. But it would not affect live miners.
The network does no "know" the hashrate. The hashrate as reported by some stats sites is estimated based by the current difficulty and the speed at which blocks are found; averaged over a few hours.


Isn't the hashrate measured based on the speed at which shares are found?
full member
Activity: 157
Merit: 100
Say a user with 10% of the network's hashrate starts witholding blocks. Since no more blocks are being submitted by that user, the blockchain recieves 10% less blocks per retarget period; so the difficulty will adjust to compensate.

Sure, but since each roll of the dice is totally independent of any other roll, it's as if this person was never mining at all, so there is no difference overall. You just have one person "missing" so the difficulty goes down.
Exactly what I was saying?

You could check for this by looking at the network hash rate and comparing it to the difficulty. Difficulty being ess than the hashrate would give you the percentage of dud miners. But it would not affect live miners.
The network does no "know" the hashrate. The hashrate as reported by some stats sites is estimated based by the current difficulty and the speed at which blocks are found; averaged over a few hours.
full member
Activity: 196
Merit: 100
Submitting a block later will gain you nothing directly, but it will risk the block being rejected/orphaned if someone else on the network submits a block.
The effect of submitting it later is to lower the next diff change by a very small amount
Why do you think the effect would be to lower the diff, though?
Say a user with 10% of the network's hashrate starts witholding blocks. Since no more blocks are being submitted by that user, the blockchain recieves 10% less blocks per retarget period; so the difficulty will adjust to compensate.

Okay...that's part of it.

But if the attacker can time the blocks such that the network gets split in half....

(Granted, splitting the network in half would require perfect timing.  But splitting it such that 25% works on one block and 75% works on a different block, is probably doable.)

(This could probably be fixed with a soft fork.  If two blocks arrive at nearly the same time, take the one with the more accurate timestamp.  But that's not the current rule.)

however, again, it will risk the block being rejected/orphaned if someone else on the network submits a block while you are holding it.

And if the block is rejected/orphaned, what do you lose? One share.
Yes, you lose one share to the pool; but you lose your part of the reward for all the shares you would have submitted to the pool that the block you found would have payed for.

Maybe. But probably not, with CPPSRB.  Under PPLNS you can get paid twice for a share.  If you don't submit a block, that's one fewer time you're going to get paid for those shares.  Under CPPSRB, the most you're going to get paid for a share is once.  If you don't submit a block, there's still a good chance your shares are going to get paid.
legendary
Activity: 3164
Merit: 2258
I fix broken miners. And make holes in teeth :-)
Say a user with 10% of the network's hashrate starts witholding blocks. Since no more blocks are being submitted by that user, the blockchain recieves 10% less blocks per retarget period; so the difficulty will adjust to compensate.

Sure, but since each roll of the dice is totally independent of any other roll, it's as if this person was never mining at all, so there is no difference overall. You just have one person "missing" so the difficulty goes down.

You could check for this by looking at the network hash rate and comparing it to the difficulty. Difficulty being ess than the hashrate would give you the percentage of dud miners. But it would not affect live miners.

An example: Say somone decides to "attack" a 5th site. They run 4th worth of with-holders, and get nothing for their efforts other than running the pool to 5th. The remaining 1th of users still mine as normal and get the same payouts. Their variance will be higher (they're thinking they get 5th to smooth out the variance when there is really only one) but it doesn't change anyone's overall payouts.

C
full member
Activity: 157
Merit: 100
Submitting a block later will gain you nothing directly, but it will risk the block being rejected/orphaned if someone else on the network submits a block.
The effect of submitting it later is to lower the next diff change by a very small amount
Why do you think the effect would be to lower the diff, though?
Say a user with 10% of the network's hashrate starts witholding blocks. Since no more blocks are being submitted by that user, the blockchain recieves 10% less blocks per retarget period; so the difficulty will adjust to compensate.


however, again, it will risk the block being rejected/orphaned if someone else on the network submits a block while you are holding it.

And if the block is rejected/orphaned, what do you lose? One share.
Yes, you lose one share to the pool; but you lose your part of the reward for all the shares you would have submitted to the pool that the block you found would have payed for.
full member
Activity: 196
Merit: 100
...
And if the block is rejected/orphaned, what do you lose? One share.
If the pool's payment system isn't broken, you lose a lot more than one share.

I guess CPPSRB is broken, and PPLNS isn't?

That said, it is slightly more than one share (times your difficulty) even in CPPSRB, since it slightly increases the odds that old shares aren't going to get paid out (although even that depends on how many shares you have in the queue and what their positions are).

What is it you think you lose if the block is rejected/orphaned? Under CPPSRB, if the block is rejected/orphaned, your shares go right back on the list to be paid out when someone not withholding finds a block.
PPS is broken, I guess you are saying CPPSRB is also?

Well, you're the one who used the word "broken".  Depending on what you consider broken, I'd say all pools where the miners can't be trusted are broken.  You can reduce the incentive to withhold (as in delay) blocks, but you can't eliminate it.

Though, I do remember Meni did mention (vaguely) that it was a while ago also.

PPLNS isn't broken, since withholding is bad for the withholder (and PPLNS isn't hoppable) ... same goes for DGM.

Meni did describe a block withholding attack in his paper, and used PPLNS as an example to boot.  See section 6.2.2.  Meni also describes a potential solution (section 6.2.3), but it requires changes to the Bitcoin protocol (and IMHO has the potential to cause more problems than it solves, since it requires more blind trust in pool operators).

Withholding (delaying) is bad for the withholder (delayer), but to make it 100% bad (i.e. as bad as withholding/delaying as a solo miner), you'd have to eliminate the whole point of pooling.
full member
Activity: 196
Merit: 100
BTCGuild's luck suggested that people might be withholding on PPS.
He got rid of PPS (oddly enough, not long after I posted about it Smiley )

Once per day I sprinkle dried unicorn blood onto the contributor list and use it to find any withholders. So far it is very effective

Glad you're taking the problem seriously.
legendary
Activity: 1652
Merit: 1001
Don't look at my signature!
There are a few tests for block withholding:

1) Random tests of valid data sent to the miner.

2) Sending rigged data to the miner with an expected result
Of course if your pool is sending you fake data, I'd find another pool.

3) If you are expected to find a block every so often based on your hash rate, then not finding blocks could suggest you are withholding.

All of which are easily defeated, which is why Luke said he didn't want to provide information on this.
Not sure what ideas you've come up with, but 3) is the only usable method.

Usable to detect that someone might be withholding. Not usable to do anything about it.

And actually, the data to do this can be checked by anyone. It'd be interesting to see if anyone can find any evidence of block withholding (along with a statistical analysis of how unlikely the variance is due to random chance).

But this is only possible if certain steps haven't been taken to hide the block withholding.
BTCGuild's luck suggested that people might be withholding on PPS.
He got rid of PPS (oddly enough, not long after I posted about it Smiley )

Once per day I sprinkle dried unicorn blood onto the contributor list and use it to find any withholders. So far it is very effective

Please....not the unicorns.......
full member
Activity: 196
Merit: 100
...
And if the block is rejected/orphaned, what do you lose? One share.
If the pool's payment system isn't broken, you lose a lot more than one share.

I guess CPPSRB is broken, and PPLNS isn't?

That said, it is slightly more than one share (times your difficulty, which you for the most part get to pick) even in CPPSRB, since it slightly increases the odds that old shares aren't going to get paid out (although even that depends on how many shares you have in the queue and what their positions are).

What is it you think you lose if the block is rejected/orphaned? Under CPPSRB, if the block is rejected/orphaned, your shares go right back on the list to be paid out when someone not withholding finds a block.
legendary
Activity: 1223
Merit: 1006
There are a few tests for block withholding:

1) Random tests of valid data sent to the miner.

2) Sending rigged data to the miner with an expected result
Of course if your pool is sending you fake data, I'd find another pool.

3) If you are expected to find a block every so often based on your hash rate, then not finding blocks could suggest you are withholding.

All of which are easily defeated, which is why Luke said he didn't want to provide information on this.
Not sure what ideas you've come up with, but 3) is the only usable method.

Usable to detect that someone might be withholding. Not usable to do anything about it.

And actually, the data to do this can be checked by anyone. It'd be interesting to see if anyone can find any evidence of block withholding (along with a statistical analysis of how unlikely the variance is due to random chance).

But this is only possible if certain steps haven't been taken to hide the block withholding.
BTCGuild's luck suggested that people might be withholding on PPS.
He got rid of PPS (oddly enough, not long after I posted about it Smiley )

Once per day I sprinkle dried unicorn blood onto the contributor list and use it to find any withholders. So far it is very effective
full member
Activity: 196
Merit: 100
You cannot redirect a mined block to anything but the coinbase transaction it is hashed to.

Of course not. That's like Bitcoin 101.

You can withhold a block by simply not submitting it to the pool or submitting it 'later'.

Yep.

Submitting a block later will gain you nothing directly, but it will risk the block being rejected/orphaned if someone else on the network submits a block.
The effect of submitting it later is to lower the next diff change by a very small amount

Close.....

Why do you think the effect would be to lower the diff, though?

however, again, it will risk the block being rejected/orphaned if someone else on the network submits a block while you are holding it.

And if the block is rejected/orphaned, what do you lose? One share.
hero member
Activity: 692
Merit: 500
BTCGuild just recently terminated PPS with immediate effect and Giga's pool closed down within a month of implementing PPS ......
full member
Activity: 196
Merit: 100
There are a few tests for block withholding:

1) Random tests of valid data sent to the miner.

2) Sending rigged data to the miner with an expected result
Of course if your pool is sending you fake data, I'd find another pool.

3) If you are expected to find a block every so often based on your hash rate, then not finding blocks could suggest you are withholding.

All of which are easily defeated, which is why Luke said he didn't want to provide information on this.
Not sure what ideas you've come up with, but 3) is the only usable method.

Usable to detect that someone might be withholding. Not usable to do anything about it unless the attacker is an idiot.

And actually, the data to do this can be checked by anyone. It'd be interesting to see if anyone can find any evidence of block withholding (along with a statistical analysis of how unlikely the variance is due to random chance).

But this is only possible if certain steps haven't been taken to hide the block withholding.
legendary
Activity: 1223
Merit: 1006
You can't mine for the pool *and* be able to claim/redirect/steal the full block reward.
full member
Activity: 196
Merit: 100
You can submit GBT blocks to the network yourself, not stratum blocks.

I do some checks against block withholding, although there is high variance in these checks for obvious reasons.

Working on namecoins now.

Just out of curiosity what sort of checking is possible against block withholding and faking Proof of Work ?

Clearly with the DDOS and namecoin hack, there are people expending great resources against this and probably every mining pool - but how do they plan to profit from their effort ?
There are a few tests for block withholding:

1) Random tests of valid data sent to the miner.

2) Sending rigged data to the miner with an expected result
Of course if your pool is sending you fake data, I'd find another pool.

3) If you are expected to find a block every so often based on your hash rate, then not finding blocks could suggest you are withholding.

All of which are easily defeated, which is why Luke said he didn't want to provide information on this.
full member
Activity: 196
Merit: 100
The luck has been not good lately.
I wonder if wizkid somehow performs checks against block withholding.
Sorry if it's been asked already.
Why would you do that? I would understand if it would be PPS so you would keep difficulty down... As far as I know you can't submit found block yourself... Not sure exactly why but that is what I was told...

A miner that finds a block (in a pool) cannot claim it for itself, because by doing so, he would invalidate the hash, and could not claim the block. An if he was mining mining solo, but submitted his shares to the pool, the pool would reject it because the do not match what it expects.

So a miner willing to benefit from the profit splitting of a pool has to mine "for" the pool and cannot "steal" the pool the blocks it finds. HOWEVER, it can choose not to submit winning shares, but submit all other shares. So he benefits from the other pool miner's work, while not helping the pool at all.

Such behavior is usually pointless for a miner: It -HAS- to find shares and submit them to the pool to get his share of the pool's reward, so sorting a "winning" share out of it cannot help him spend less electricity/bandwith/work for the same reward. In fact, by witholding the winning shares, he hurts everybody in the pool equally, including himself.

Actually, withholding blocks (temporarily) can be very profitable if you have a lot of hashing power, especially if you can submit the blocks yourself.  I'm not sure to what extent the owners of Eligius want me to describe the process, though.  Probably not much given Luke's previous comments about sharing information.

As Luke said, it's a cat-and-mouse game. But the mouse is anonymous and can make copies of itself pretty much infinitely.

However, if attackers started to doing this on every pool, then it would cancel out, because the difficulty would decrease by the exact same amount the attacker controls. So it is an attack against individual pools, not against bitcoin itself.

It could be part of a larger attack, though.  Pools let you attack the network while still collecting more than 99% of your rewards.
hero member
Activity: 619
Merit: 500
Looks like the data verification is going pretty smoothly, although slower than I would like.  It is about 15 hours behind real-time now.

Thanks for the update.
hero member
Activity: 692
Merit: 500
Thank you for the replies.  Whilst I appreciate that it is a cat and mouse game, I am satisfied to hear such testing is possible and that it should be done by a well setup pool.
legendary
Activity: 1223
Merit: 1006
Looks like the data verification is going pretty smoothly, although slower than I would like.  It is about 15 hours behind real-time now.
Jump to: