Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Ensure that GetBlockTemplate functions as intended #1424
We have made various changes to the block header and the proof-of-work, but we haven't checked that
added this to the 1.0.0-beta2 - audit mitigations and critical bug fixes milestone
Sep 20, 2016
The first one failed on submitblock with "inconclusive" answer.
Furthermore, trying to change the "inconclusive" block keeps the "inconclusive" word in the answer along with whatever error gets induced, like wrong previous block or too high hash. i.e. "inconclusive-not-best-prevblk"
Trying to change the TX part of the block does not change the "inconclusive" answer, so the problem is likely before the merkle root is checked.
The problem is notoriously hard to debug, since it requires mining a block to check any guesses, so i only have one data point at the moment.
That extranonce field DOES mean something.
Ok, with some more instrumentation and logging added, it might be that the problem is merely one of error reporting.
Specifically, the "inconclusive" error happens when the block with the same height was already mined while the one being submitted was mining - by the time the block is done, the blockchain already advanced, and the daemon doesn't explicitly recognize what is wrong, only that something is wrong, giving the "inconclusive" answer.
According to a discussion from 2014, that was a known bad language - it says inconclusive in cases like the block being too late and/or on the shorter chain - http://bitcoinstats.com/irc/bitcoin-dev/logs/2014/10/20
So, ideally you should print out a more elaborated error if the problem is just a stale block.