bitcoin invalid shares

_ Here's how it works: Anybody can ask a question Anybody can answer The best answers are voted up and rise to the top up vote 3 down vote favorite Does the size of a pool affect the number of invalid shares?If so why does it?mining-pools mining-profitability shares up vote 3 down vote There's no reason pool size should affect the number of invalid shares.If you're seeing different amounts of invalid shares on different GPUs, the most likely explanation is that the GPU is too hot, improperly overclocked, or failing.up vote 3 down vote An invalid share might be a share you submitted with an error in calculations, or possibly a stale share, depending on the pool implementation.A possible reason for a rejection of a share might be that the pool doesn't use difficulty 1 as the target, while some miners might try submitting those shares There is also a possibility that your miner makes some mistakes while calculating hashes, but that is less likely The pool might be poorly implemented and make some mistakes A reason for a stale share might be that: The pool does not use long polling, thus it doesn't inform the miners when to update their getwork All in all, you should ask other people whether they have the same problem for the given pool, and try mining using a different miner and a different computer and see if the problem persists.

up vote 3 down vote Many things can affect your stale/reject rate.
1 bitcoin to ltlAn overclocked or faulty GPU could be making miscalculations.
bitcoin qt locationThe pool's long polling might not be working properly.
bitcoin ambassadorEven network instability could cause rejects due to duplicate shares (the share was received by the server, but your miner got an error so it tries again).
bitcoin hash vs litecoin hashThe way pool size would affect rejects is that a large number of miners slow down long polling on the server side.
bitcoin forbes listEverything else being equal it takes longer for the server to notify 10 000 workers of a block change than it would 500 workers.
bitcoin federal reserve paper

So in general you can expect lower stale rate on a small pool, unless the small pool effect is negated by really slow server hardware or some other factor.
ethereum pool 2017Browse other questions tagged mining-pools mining-profitability shares or ask your own question.
bitcoin value widget404 Page Not Found.
bitcoin and nfcOoops, the page you're looking for does not exist._ Here's how it works: Anybody can ask a question Anybody can answer The best answers are voted up and rise to the top up vote 0 down vote favorite I am mining litecoin with give-me-coins and I have the following info on website's stats section Valid Paid: 118 Invalid (Not Paid): 113 (95.76%) As far as I know this is not very good.How can I make it better ?

I use cgminer 3.7.2 (used 3.6.6 also) with following command :3333 -u user.pass -p x -I 11 litecoin miner-configuration cgminer shares up vote 1 down vote You can try decreasing your intensity.Other parameters can also lower speed and decrease/remove failures.It's like running too eagerly, it might make you trip a lot.It could also be your Internet connection or even give-me-coins itself (although I doubt it's give-me-coins itself).Browse other questions tagged litecoin miner-configuration cgminer shares or ask your own question.Bitcoin/Altcoin Stratum Pool Mass Duplicate Shares Bitcoin/Altcoin Stratum Pool Mass Duplicate Shares Posted Apr 5, 2016 This particular vulnerability makes it possible to force a Stratum Mining Pool to accept "invalid" shares by the thousands for each mining pool round.It is possible to make pure money from this vulnerability.The exploit is real but affects only a fraction of Stratum Mining Pools.| 22d3e5bf0714b0b8e037783686e00b6c Bitcoin/Altcoin Stratum Pool Mass Duplicate Shares Change Mirror Download ## Bitcoin/Altcoin Stratum Pool Mass Duplicate Shares Exploit ##This particular vulnerability makes it possible to force a Stratum MiningPool to accept "invalid" shares by the thousands for each mining poolround.

Theexploit is real but affects only a fraction of Stratum Mining Pools.Let'sdig into the technical side of this vulnerability.##### What is stratum mining #####Most of the known mining pools allow to use the so called stratum miningpool protocol.The bitcoin and altcoin miner is configured to use the hostaddress and port of the stratum miner protocol server.For example the eligius (http://eligius.st) mining pool offers a stratumconnection for mining.This mining pool is *not* affected by thisvulnerability.Once connected to the stratum server the miner will "do work" and solve amathematical, crypto task.Once it has solved one of this tasks it will*submit* a so called *share* to the stratum server.The more shares theminers generate the more they are rewarded after a successful mining roundhas completed.The actual reward given to the miner much depends on thestyle of reward system used by the mining pool.Miners submit shares using the method "mining.submit" when operating withstratum.NonceThe server will respond with a successful accepted share response or willreject the share submit request.Share submits can be sent at any time to the stratum server.

The stratumserver will accept only valid shares and in the case of this particularvulnerability stratum will accept *one* valid initial share and *thousands*of shares that follow the initial valid share but are "invalid" becausethey do not solve the mathematical task in any way.The vulnerable miningpool will accept the shares as pure payment of coins if left unnoticed.##### node stratum pool #####I will show you one mining pool written in javascript and making use ofnode.js to illustrate the bug.Blow is a screenshot of the vulnerablesource code, can you spot the bug?===== Listing Number 1.======/zone117x/node-stratum-pool/blob/02e78da1ab53a2409bbb8721f9771346c373482b/lib/jobManager.js this.processShare = function(jobId, previousDifficulty, difficulty,extraNonce1, extraNonce2, nTime, nonce, ipAddress, port, workerName){ var shareError = function(error){ _this.emit('share', { job: jobId, ip: ipAddress, worker: workerName, difficulty: difficulty, error: error[1] }); return {error: error, result: null}; }; var submitTime = Date.now() / 1000 | 0; if (extraNonce2.length / 2 !== _this.extraNonce2Size) return shareError([20, 'incorrect size of extranonce2']); var job = this.validJobs[jobId]; if (typeof job === 'undefined' || job.jobId != jobId ) { return shareError([21, 'job not found']); } if (nTime.length !== 8) { return shareError([20, 'incorrect size of ntime']); } var nTimeInt = parseInt(nTime, 16); if (nTimeInt < job.rpcData.curtime || nTimeInt > submitTime + 7200){ return shareError([20, 'ntime out of range']); } if (nonce.length !== 8) { return shareError([20, 'incorrect size of nonce']); } if (!job.registerSubmit(extraNonce1, extraNonce2, nTime, nonce)) { return shareError([22, 'duplicate share']); }===== Listing Number 1.

======/zone117x/node-stratum-pool/blob/02e78da1ab53a2409bbb8721f9771346c373482b/lib/blockTemplate.js this.registerSubmit = function(extraNonce1, extraNonce2, nTime, nonce){ var submission = extraNonce1 + extraNonce2 + nTime + nonce; if (submits.indexOf(submission) === -1){ submits.push(submission); return true; } return false; };At listing number 1. you can see the function that processes a submittedshare.It will check for a valid shape of the mining.submit parameters.at line 211 with this parameters tocheck if it handles a duplicate share.It *should* discard a duplicateshare with a shareError and return from this javascript function.When welook into the registerSubmit function we see the lines:*115.* var submission = extraNonce1 + extraNonce2 + nTime + nonce; *116.* if (submits.indexOf(submission) === -1){ *117.* submits.push(submission); *118.* return true; <----- share is accepted *119.* } *120.* return false; <----- share isn't handled, duplicateshare.So how can you submit the duplicate shares?

It is rather easy.extraNonce1,extraNonce2, Nonce, nTime are HEX values.And everybody knows that HEXvalues can contain ASCII characters.Let's take an example of extraNonce1 being 0xDEADBEEF.What willregisterSubmit function do with the share if we submit 0xdEADBEEF and then0xdeADBEEF and then 0xdeaDBEEF and so on and so on.Well: the program willblindly accept the shares!/landing$blog Follow us on Twitter Follow us on Facebook Subscribe to an RSS Feed File Archive:June 2017