organofcorti
Donator
Legendary
Offline
Activity: 1960
Poor impulse control.


February 19, 2012, 09:18:38 AM 

Bitclockers.com are faking round lengths, and many miners  those who stay for only the early part of a round, for example  are being underpaid. Check out more detail here. More details about how and why they're faking their round length data in upcoming posts. I expect a shitfight over this so comments are welcome, especially from backburn.






Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.

organofcorti
Donator
Legendary
Offline
Activity: 1960
Poor impulse control.


February 19, 2012, 09:28:23 AM 

interesting
Yes, I thought you might find it useful.




Meni Rosenfeld
Donator
Legendary
Offline
Activity: 1918


February 19, 2012, 11:22:32 AM 

Bitclockers.com are faking round lengths, and many miners  those who stay for only the early part of a round, for example  are being underpaid. Check out more detail here. More details about how and why they're faking their round length data in upcoming posts. In other words, they have a reward system which is some sort of interpolation between proportional and PPS (perhaps with weighting affected by their estimate of hopping level in each round), but instead of being open about it, they fake stats. I find it troubling that such egregious falsification has gone unnoticed for so long. If they had added 2% fake shares to every round to collect a hidden fee, would it be spotted quickly? Perhaps the "stats hunters" pay more attention to the distribution's expectation than its variance? And finally, WHY? Their system either greatly increases their own risk, or required some nontrivial control mechanism. Why can't they use a hoppingproof method that just works, probably has similar longterm characteristics, and allows them to be honest about what they are doing? Were they bitten by a hoppingproof method as a child?




organofcorti
Donator
Legendary
Offline
Activity: 1960
Poor impulse control.


February 19, 2012, 11:47:00 AM 

Bitclockers.com are faking round lengths, and many miners  those who stay for only the early part of a round, for example  are being underpaid. Check out more detail here. More details about how and why they're faking their round length data in upcoming posts. In other words, they have a reward system which is some sort of interpolation between proportional and PPS (perhaps with weighting affected by their estimate of hopping level in each round), but instead of being open about it, they fake stats. It's a geometric to loglogistic transform: round length > geometric cdf > loglogistic quantile function > loglogistic 'round length' More details will be posted on hoppersden as I finish the charts. Their system is like a score system, but on the round length itself. It would be quite clever, except they didn't tell anyone, and there have been far better options for months  There were far better options at the time. I find it troubling that such egregious falsification has gone unnoticed for so long. If they had added 2% fake shares to every round to collect a hidden fee, would it be spotted quickly? Perhaps the "stats hunters" pay more attention to the distribution's expectation than its variance?
It took a while for me to figure out what was going on, and I knew there was a problem as early as September or October last year. I was waiting for more round to increase the data set and then got side tracked. And finally, WHY? Their system either greatly increases their own risk, or required some nontrivial control mechanism. Why can't they use a hoppingproof method that just works, probably has similar longterm characteristics, and allows them to be honest about what they are doing?
Because (assuming they have no ethical qualms about doing it) they get the best of both worlds  on one hand hoppers get lower profits, fulltime miners lose less to hoppers, and on the other people who 'love proportional pools' can mine there thinking they're getting the full proportional experience, and the hopper boost stays to help finish rounds. Bitclockers.com are: a) faking round lengths b) faking round starts and not owning up to blocks Which leads me to think they must be happy there are no bitcoin police or there would be a lot of angry miners they'd have to pay extra to. Were they bitten by a hoppingproof method as a child? Quite possibly a rabid one.




jkminkov


February 19, 2012, 11:54:38 AM 

Bitclockers.com are: a) faking round lengths b) faking round starts and not owning up to blocks
c) underclocking hoppers and miners' earnings from time to time

Bleutrade600 dollars in one place talking  Dudes, hooray, Bitcoin against us just one, but we are growing in numbers!



organofcorti
Donator
Legendary
Offline
Activity: 1960
Poor impulse control.


February 19, 2012, 11:56:18 AM 

Bitclockers.com are: a) faking round lengths b) faking round starts and not owning up to blocks
c) underclocking hoppers and miners' earnings from time to time I think a) covers that. I'm pretty sure that's all of the payout weirdness with them, unless you know of something else?




organofcorti
Donator
Legendary
Offline
Activity: 1960
Poor impulse control.


February 19, 2012, 12:23:18 PM 

How to hop 11 with more on how Bitclockers.com have been paying some miners more at the expense of others.




Meni Rosenfeld
Donator
Legendary
Offline
Activity: 1918


February 19, 2012, 01:50:04 PM 

It's a geometric to loglogistic transform: round length > geometric cdf > loglogistic quantile function > loglogistic 'round length'
How do you know this? That the reported lengths follows a loglogistic distribution doesn't mean they're just doing a simple transformation. But if it is indeed a simple transformation on the round length, this means they are greatly increasing their own risk. (And it only has limited antihopping effectiveness.) If they did a transformation based on a singleton target distribution, it would be PPS. What they are doing is something in between.




organofcorti
Donator
Legendary
Offline
Activity: 1960
Poor impulse control.


February 19, 2012, 02:12:44 PM 

It's a geometric to loglogistic transform: round length > geometric cdf > loglogistic quantile function > loglogistic 'round length'
So it's a simple transformation on the round length. Which means they are greatly increasing their own risk. Yes, paying a 12*D round out as a 3*D round seems risky to me too. And yet with all the other options which can reduce risk for them and reduce variance for their miners, they decided to fake their most important stats for what seem to me to be venal reasons. I could (maybe) understand it if they did it for a couple of weeks during a change over to hopper proof method, but still going now? I meant to add that they're also doing something funky with their block announcements  so I don't know if they are reporting their true hashrate but not their blocks, or if they are fudging the hashrate and keeping 'block timing' boundaries. If you aren't going to respect block boundaries, why not DGM? Or PPLNS if you're old school and don't like flexibility?




RoloTonyBrownTown


February 19, 2012, 07:52:20 PM 

Well investigated organ. This isn't going to go down well I expect!




Meni Rosenfeld
Donator
Legendary
Offline
Activity: 1918


February 20, 2012, 10:00:25 AM 

EDIT: The following may not be true because I didn't include in this analysis the fact they're messing with the round boundaries. If the modified round lengths are caused strictly by moving the boundaries, it's possible they don't have a hidden fee.
The situation may be much worse than we (I?) thought.
The average of their reported round lengths seems close enough to D. But this doesn't mean they pay fairly on average, since their payout per round is inversely, rather than directly, proportional to the reported round length.
So if f is their transformation function, the average total they pay per round is
$int_0^{\infty}\frac{e^{x}x}{f(x)}\ dx$
I fitted a loglogistic distribution with alpha = 0.953236, beta = 4.55639 (I'm lazy, a better fit is possible), and the result turned out as 78%. That's right, they're paying 78% of the rewards, keeping 22% fee to themselves.
So I'd say their transformation has nothing to do with combating hopping, and everything to do with being thieves. I guess they thought they could get away with it by keeping round length average similar to the expected one. Seeing how long this went on, I guess they were right.
My calculations were kind of hasty and I'm not that much interested in these politics, so I'll let organ volunteer to make the "BITCLOCKERS ARE STEALING 20% OF MINERS' REWARDS" public announcement once he confirms this with his data.




organofcorti
Donator
Legendary
Offline
Activity: 1960
Poor impulse control.


February 20, 2012, 11:41:53 AM 

How to hop 12 is finally done. I thought I had only one more post to go but after reading some of these posts, I doubt there'll be only one more. I think all pools need a thorough going over. If they did a transformation based on a singleton target distribution, it would be PPS. What they are doing is something in between.
Can you expand on this a little? @organofcorti
Thanks for producing this series of articles. It’s kind of like reading a book written by a mob boss about the inner workings of the “family” business (not that you’re a mob boss but that you have the same insights garnered through research). What? You come into my house on the day my daughter is to be married and ...oh wait. From reading your study, it seems to me that without very careful planning and research you could screw yourself by hopping. It also seems like you’re saying that pools could manipulate the hoppers to their advantage by using the extra hashing power and Bitclockers.com has done that by faking round lengths. Am I understanding that correctly or am I way off base?
Pool hopping proportional pools is simple. It's when there are known or unknown antihopping protections that you'll earned less than the expected value of a share. Even then, at least with all of the hop resistant rather than hop proof scoring systems, as long as you're there at the start you'll earn more than PPS payout. I haven't come across a proportional modification that prevented that entirely. The difficulty in pool hopping is optimising. This means finding the correct %D to leave the pool for a particular payout method, making sure your software doesn't cause too many stales or miss round starts, having a system that allows the software to compare the expected value of a share at a particular pool at a particular %D, and probably lots more. As far as manipulating hoppers to increase hashrate, I'd guess that is why they've used their score method the way they have  without actually owning up. That way they keep their hopper boost but lose less coinage from fulltime miners to the pool hoppers. Really, it's quite a nice idea  a score system that doesn't need to keep track of anything other than users shares. But Slush's score system still does better because the expected value of a share at the end of a long round is still near 1.0. whereas at Bitclockers.com the expected value of a share drops more rapidly even than a proportional pool. And of course, any of the DGM solutions (I include PPLNS in that) beats the Bitclockers.com system hands down since they're not only provably hopper proof, they're can also be modified  to reduce miners variance for example. And you don't have to lie about your stats. I made a very conservative estimate of how much they've underpaid pool hoppers over the last 200 rounds, and that's about 2000btc.




organofcorti
Donator
Legendary
Offline
Activity: 1960
Poor impulse control.


February 20, 2012, 11:56:48 AM 

EDIT: The following may not be true because I didn't include in this analysis the fact they're messing with the round boundaries. If the modified round lengths are caused strictly by moving the boundaries, it's possible they don't have a hidden fee.
The situation may be much worse than we (I?) thought.
The average of their reported round lengths seems close enough to D. But this doesn't mean they pay fairly on average, since their payout per round is inversely, rather than directly, proportional to the reported round length.
So if f is their transformation function, the average total they pay per round is
$int_0^{\infty}\frac{e^{x}x}{f(x)}\ dx$
I fitted a loglogistic distribution with alpha = 0.953236, beta = 4.55639 We don't know for sure that they're ignoring round boundaries because they don't own up to any block  so this is well worth my time looking into and an interesting idea. I hadn't thought to look for really nefarious activity. Edit:What method did you use to calculate Beta? I ended up going with a brute force algorithm which was quick to write but not to run. Is there a better way  some regression technique maybe? I'm not that much interested in these politics
Politics or consumer advocacy? I haven't mined since October so I don't have a vested interest anymore. But dishonesty is bad for bitcoin  even if it was originally done with good intentions. And about honesty  I wonder if even the Bitclockers.com pool ops realise that because they claim to have a proportional payment system: Works in proportional: You get a part of every solved block proportional to your part in pool hashing rate. but actually don't, by their own definition they're underpaying miners if rounds are short.




organofcorti
Donator
Legendary
Offline
Activity: 1960
Poor impulse control.


February 20, 2012, 12:00:28 PM 

I would like to say they reported that I solved blocks at times I was not at the site. This is not the only pool that does that.
So you think they are reporting the correct block finder but not when the block is found? More evidence of block boundary tampering then. I'm sure someone who has more skills with blockchains.info than i do could track every bitclockers block down, backtrack and estimate how many shares were in each block. I really am surprised no one has made these sorts of accusations against them before.




Meni Rosenfeld
Donator
Legendary
Offline
Activity: 1918


February 20, 2012, 12:34:19 PM 

If they did a transformation based on a singleton target distribution, it would be PPS. What they are doing is something in between.
Can you expand on this a little? I'm assuming their methodology is as follows (and the fact they misreport block finding times suggests this may not be their methodology): 1. When a block is found, determine X, the number of shares since the last block (in multiples of the difficulty). 2. Report there were f(X)*D shares in the last round, and pay (50 BTC / (D*f(X))) per each share since the last block, for a total of (50BTC * X / (D*f(X))). 3. f is chosen so that f(X) will follow a specific distribution with CDF F2(X). X follows the exponential distribution so the real CDF is F1(X) = 1  exp(X). To have a CDF F2 for the reported lengths, the transformation they need is f(X) = F2^{1}(F1(X)). If they take F2(X)=F1(X), then f(X) = X and they are not doing any transformation. This results in normal proportional payments. If they make it so f(X) is always 1 (corresponding to number of shares per round precisely equal to the difficulty)  that is, the target distribution has no variance, it's a "random" variable that always takes the same value  they will always pay (50 BTC / D) per share, that is, they are handing out PPS payments which has high variance for them, and no variance for miners. If they make the target distribution something in between, with variance less than exponential but more than a singleton, they will have some variance, but less than PPS (and for miners, less than exponential). But this is moot unless they choose the distribution so that E[X/f(X)] = 1 (the expectation is over the real exponential distribution of X) so that they pay 50 BTC per block on average. Edit:What method did you use to calculate Beta? I ended up going with a brute force algorithm which was quick to write but not to run. Is there a better way  some regression technique maybe?
There are several ways to go about it but they all require a good numerical rootfinding/optimization function (which should take less than 10 iterations to converge). I copped out by simply fitting your reported mean and variance exactly. Expressing alpha in terms of beta is easy from one equation, and then you solve the second equation numerically for beta. A more accurate result can be obtained by taking some statistics (such as moments or quantiles) and building a loss function for any given alpha/beta combination based on their difference from the real values of the distribution, with a weight that depends on each statistic's estimate variance. Then it's just a matter of numerically minimizing the loss function over alpha and beta. The best method would be Bayesian inference, but if we don't want to commit to any particular prior, the Maximum Likelihood Estimator is the next best thing. For any given alpha and beta, calculate the logarithm of the pdf at each datapoint, and add. Maximize this function with respect to alpha and beta, again with whatever numerical optimization function you have available. PS if you can give me the complete list of values of round length divided by difficulty, I can try to run an MLE. I'm not that much interested in these politics
Politics or consumer advocacy? I haven't mined since October so I don't have a vested interest anymore. But dishonesty is bad for bitcoin  even if it was originally done with good intentions. If it involves pointing fingers, it's politics in the wide sense of the word, it being a noble pursuit notwithstanding.




organofcorti
Donator
Legendary
Offline
Activity: 1960
Poor impulse control.


February 21, 2012, 01:33:52 AM 

Frightening! Let me put that into US dollars and attempt to restate what you said for my own edification. Because of the measures that prevent pool hopping, faithful miners have gained $8,640.00 in earnings. Is that fair to say?
All of the miners have been underpaid for short rounds. I'm not sure if fulltime miners have come out ahead or behind because what stats are available are either obfuscated or simply made up.




Starlightbreaker
Legendary
Offline
Activity: 1274


February 21, 2012, 01:51:41 AM 

Frightening! Let me put that into US dollars and attempt to restate what you said for my own edification. Because of the measures that prevent pool hopping, faithful miners have gained $8,640.00 in earnings. Is that fair to say?
All of the miners have been underpaid for short rounds. I'm not sure if fulltime miners have come out ahead or behind because what stats are available are either obfuscated or simply made up. no. huh, it really reminds me why my overall full day mining without hopping always comes short when compared to bclc. Checked my stats when my hopper machine was offline, they're normally off by .2  .7 btc per day. some of it probably variance...but .7 btc?

120%   〈  50%   ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████  .DUCK.   .DICE.  ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████   〉   〉  



organofcorti
Donator
Legendary
Offline
Activity: 1960
Poor impulse control.


February 21, 2012, 12:02:33 PM 

It's a geometric to loglogistic transform: round length > geometric cdf > loglogistic quantile function > loglogistic 'round length'
How do you know this? That the reported lengths follows a loglogistic distribution doesn't mean they're just doing a simple transformation. This is a really important point that I didn't follow until you mentioned that E[X/f(X)] = 1 for a system like this to pay the same as the original. All the time I worked on this I assumed: 1. The number of shares submitted to Bitclockers would be respected. 2. The block boundaries did not have to be respected. But as you point out, just having a loglogistic distribution of round lengths doesn't guarantee that there has been a mapping block boundaries onto loglogistic round lengths. So I've listed the implementations below. 1. Block boundaries respected: each share X is mapped to f(X), which can be a number larger or smaller than X. I also measured the expectation E[X/f(X)] using mean(X/qllogis(X,4,scale=0.95))= 0.7606445, so I'm getting a similar result to you: 24% of the expected share value is unavailable using the transform. Advantages: pool pays out only part of bitcoin reward. May be hopping resistant. Disadvantages: May be noticeable since changing the number of shares retrospectively means altering all pool stats, which might be noticeable. 2. Block boundaries ignored: each share maintains 1:1 value (what I'd assumed was happening) Type i: The number of shares in a the transformed round is generated using the number of shares in the original round. In this case payouts are equivalent to a process that generated blocks from submitted shares in a loglogistic distribution. Expected share value = 1. Type ii: The number of shares in a round is generated entirely randomly in a loglogistic distribution. I like this option best. It takes less calculation, and if you're going to ignore block boundaries, then you can make up any kind of payout system you want without using any of the information from the original rounds. Advantages: Don't have to worry about changing pool stats except for the round length. Definitely hopping resistant. Disadvantages: Have to obfuscate block solve times which means not claiming any blocks at all. Which gives me a great idea for a pool  a randomly generated payout method each round. You only get told which at the end of the round! :tongueincheek: So were there other ways you thought a loglogistic distribution could be obtained that I should include in the list?




deepceleron


February 21, 2012, 12:57:00 PM 

So were there other ways you thought a loglogistic distribution could be obtained that I should include in the list?
Yes, that blocks were a complete fabrication from a random number generator, and they were proxying and hopping with miner's hashes. Note that there are no real Bitcoin blocks linked or mentioned on their stats page. Making their fake blocks unprofitable to hop would be first priority in such a scheme, hence why the minimum solve time is >1/2 difficulty. Plus they can fake "unlucky" which they couldn't do if they were PPS. The pool better publish their entire list of found Bitcoin block numbers and real finding times and submitted shares...or get tarred and feathered. The graph shows three distinct stages, blocks <100 are more spread out, with just the expected short rounds missing (stolen?). Then after that, nothing that looks like pool rounds.




organofcorti
Donator
Legendary
Offline
Activity: 1960
Poor impulse control.


February 21, 2012, 08:33:14 PM 

So were there other ways you thought a loglogistic distribution could be obtained that I should include in the list?
Yes, that blocks were a complete fabrication from a random number generator, and they were proxying and hopping with miner's hashes. That would be 2 type ii, totally ignoring reality and making up your own game. Note that there are no real Bitcoin blocks linked or mentioned on their stats page. Making their fake blocks unprofitable to hop would be first priority in such a scheme, hence why the minimum solve time is >1/2 difficulty. Plus they can fake "unlucky" which they couldn't do if they were PPS. The pool better publish their entire list of found Bitcoin block numbers and real finding times and submitted shares...or get tarred and feathered. You think so, wouldn't you? So far I see a distinct lack of care. I wonder if some less scrupulous pools may head down that path since it's easy?




