Bitcoin & Cryptocurrency Mining Pools Explained Best ...

Something is rotten in the state of DOGE mining

Shibes, something stinks in doge land. A problem in the design of dogecoin means that dishonest (or perhaps we should call them "creative") miners can take a disproportionate share of rewards, leaving everyone else to earn less than they deserve. Many of you have probably noticed that calculators estimate payouts larger than what you earn in practice (for example, dustcoin estimates ~1500DOGE/day @ 200KH/s while Non Stop Mine pays about a quarter of that rate), and most have written it off as bad luck: the blocks your pool found happened to be small, or your pool happened to be unlucky, and such is life. At least another friendly Shibe is having a better day, and it'll come around in tips anyway! Unfortunately, the truth is much darker.
The "random" DOGE rewards per block are not random. In fact, the value of each block is predetermined by a simple equation applied to the hash of the previous block. A creative miner can take advantage of this fact to mine dogecoin when the potential reward is high, and switch to litecoin when the potential reward is low. During some rounds, the reward is so small it isn't worth the electricity spent finding it; during more rounds, the reward is less than can be earned mining LTC; in a few rounds, the reward is spectacular. Honest miners mine with the expectation of earning an average of 500,000 DOGE per block, but when people are selectively mining the high-profit DOGE rounds, the average reward falls for honest miners.
So the question is: is this problem theoretical, or are honest miners really losing value to cheaters? I spent some time digging, and it appears that cheating is rampant! There are a few ways cheating can be detected.
If there is outside competition for high-value blocks, then pools should on average be finding blocks worth less than 500,000 DOGE (because some of the valuable blocks, but none of the low-value blocks, will be found by cheaters). The largest pool, Dogehouse, reports some useful averages: over all time, the pool has found 11,241 valid blocks worth 5365077071.0746 DOGE, for an average of 477,277 DOGE (including fees, which should actually raise the average above 500,000!). That's 4.5% below the expected average block value. Is it simply bad luck? No. With so many blocks found, there's about a 7% chance that the average will be above 505,000 or below 495,000; there's a <<1% chance their average will be above 510,000 or below 490,000, and effectively NO chance of seeing an average below 485,000. 477,000 is simply preposterous. Dogepool is either mind-bogglingly unlucky, or something is fishy.
Maybe Dogehouse is doing something fishy...but we can look at other pools. Dogechain's pool's all-time average block value is similar: 478847 DOGE. They're a smaller pool so the odds of this being bad luck aren't astronomical, but it's not very likely. Fast-pool's average is 477892. They're big enough that the odds are again astronomical.
And this only accounts for people cheating outside of the pools. Cheaters can operate inside our pools (more on this later)!
Maybe there's something wrong with the pools. They mostly run similar software. All their owners could be lying to us. We can check for signs of cheating independent of the pools: if more people are mining high-value blocks than low-value blocks, the hash-rate will be higher when the next block is high-value, so high-value blocks will be found faster than low-value blocks. Here's what you find if you look at 5000 recent blocks (blocks 80,001 to 85,000) and measure the average time to find a block, broken out by the block value:
I had to drop about 50 blocks which were missing good timestamps, but they're evenly distributed and shouldn't skew the averages.
The pattern is clear: the network is finding high-value blocks significantly faster than low-value blocks. Low-value rounds take as much as 10% longer than intended, and high-value rounds take around 5% less time than intended. Significant hashrate belongs to miners that cheat.
I mentioned cheaters can operate inside our pools. The payment algorithms used by most pools were carefully designed for bitcoin's (effectively) fixed block reward. They reliably protect against cheaters trying to hop in and out of pools based on short-term profitability, by making payouts solely dependent on the unknowable future (the straightforward pool payment schemes allow cheaters to look at a pool's recent history and use that to take an unfair share of its earnings; read this awesome paper for details). Since the future reward for a bitcoin pool is completely unknowable, PPLNS does not protect against a hopper who knows the future. In the case of Dogecoin, the future reward IS knowable, and PPLNS offers no protection.
Dogehouse is so big we can reasonably assume they'll find any particular block. Dogehouse is using a PPLNS target similar to an ordinary round's length. Someone who mines only during high-value rounds will, with high confidence, earn significantly more DOGE per share submitted than someone who mines Dogecoin 24/7. They also experience much lower variance in earnings.
The random block reward size needs to be removed. It's fun, but it rewards cheaters. Developing a more secure random block value selection technique is possible, but based on observations of GitHub, I do not trust the Dogecoin creator to get it right. Even subtle errors re-open the opportunity for cheating.
While I believe cheating is already unacceptably common, many will disagree until it worsens. To force the issue, I've included everything you need to join the cheaters.
Patch dogecoin/src/main.cpp:
diff --git a/src/main.cpp b/src/main.cpp index 2af23af..8c32dad 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1794,6 +1794,8 @@ bool CBlock::ConnectBlock(CValidationState &state, CBlockIndex* pindex, CCoinsVi prevHash = pindex->pprev->GetBlockHash(); } +fprintf(stdout, "Next block value: %lld\n", GetBlockValue(pindex->nHeight, 0, GetHash())); +fflush(stdout); if (vtx[0].GetValueOut() > GetBlockValue(pindex->nHeight, nFees, prevHash)) return state.DoS(100, error("ConnectBlock() : coinbase pays too much (actual=%"PRI64d" vs limit=%"PRI64d")", vtx[0].GetValueOut(), GetBlockValue(pindex->nHeight, nFees, prevHash))); 
Perl script to control cgminer:
#!/usbin/perl use strict; use warnings; my $ltcMiner = " 4029"; my $dogeMiner = " 4028"; open (INSTREAM, "dogecoind|") or die; my $lastPool = 0; # LTC while (my $line = ) { if ($line =~ /Next block value: ([\d].*)/) { my $val = $1; if ($val >= 70000000000000) { # High-value DOGE round if ($lastPool == 0) { # Switch from LTC to DOGE $lastPool = 1; &onoff($dogeMiner, "en"); &onoff($ltcMiner, "dis"); } else { # Already mining DOGE } } elsif ($lastPool == 1) { # Low-value DOGE round and currently mining DOGE $lastPool = 0; print " Switching to LTC\n"; &onoff($ltcMiner, "en"); &onoff($dogeMiner, "dis"); } else { # Low-value DOGE round; already mining LTC anyway } } } close (INSTREAM); exit; sub onoff { my $miner = shift; my $enDis = shift; open (OUT1, "|nc $miner") or die $!; print OUT1 "gpu${enDis}able|0"; close (OUT1); } 
Then, simply run two instances of cgminer with separate API ports, one configured for LTC and the other configured for DOGE.
submitted by DisappointedShibe to dogemining [link] [comments]

Bitcoin & Cryptocurrency Mining Pools Explained  Best ... Free Bitcoin Faucet 2018 - Claim 1 Minutes - Earn Up 25000 Satoshi  Bitcoin 2018 Bitcoin to PayPal 2018 BettorsNet com® Pay per Head introduces BitCoin as a Payment Method Bitcoin Broke My Heart Today  Billionaire Wants 25% Of All BTC  Cryptocurrency News In 4k!

If you are new to bitcoin mining, the terminology about how you can get paid can be a little confusing. In this article, we explain what the Pay Per Last N Shares (PPLNS) reward system is, and how you can calculate your earnings. Pay Per Last N Shares refers to a reward system used by some bitcoin mining pools. Here, you are paid for your last ... PPS vs PPLNS; Pay Per Share (PPS) PPS or PPLNS Which One is Better; About CoinSwitch; In this article, we will explore more in detail about these payment methods and will also learn about the differences between them. PPS vs PPLNS . Pay Per Last N Shares (PPLNS) is a popular payment method. It involves calculating payments on the basis of a ... Pay-Per-Share (PPS) Pay Per Share or commonly known as PPS offers an instant flat payout for each share that is solved. Bringing this back to the lottery example, imagine that a miner submits 1 ... FPPS Payment Method over Time Pay Per Share Plus (PPS+) PPS+ was first introduced in the end of 2016 and can be thought of as a combination of the PPS and PPLNS payments. PPS - Pay Per Share. Each submitted share is worth a certain amount of coins. It is risky for pool operators. RBPPS - Round-Based Pay Per Share. Like PPS, but payouts are delayed till a block is found and confirmed by the network. If a found block gets orphaned, earnings relative to it are not paid. Prop. - When a block is found, the reward is distributed among all workers proportionally to ...

[index] [31368] [25673] [49099] [47598] [19513] [34611] [31627] [16967] [10886] [28470]

Bitcoin & Cryptocurrency Mining Pools Explained Best ...

mining pools - bitcoin & cryptocurrency mining pools explained best mining pools pps vs pplns. - mining pool hub. Bitcoin Mining Pools Explained and Review... ! Remember to subscribe and hit the bell "" icon, so you don't miss your daily cryptocurrency news! -~-~~-~~~-~~-~- , , . ' : ⭐ Please Support The Channel On ... Earn Free bitcoin From Faucet 2018 and claim per 1 minutes pay via Faucethub Link : SITE: *****TAG***** bitcoin to paypal bitcoin to paypal reddit bitcoin to paypal coinbase bitcoin to paypal account bitcoin to paypal 2018 bitcoin to paypal app ... Welcome to Team Underground, I (Thomas) do weekly BTC price analysis on YouTube. I've been full time trading bitcoins for over a year now and I've decided to share some of my analysis on YouTube ...