10

I'm attempting to do some research surrounding stale blocks within the Bitcoin network. From my understanding the best and really only way to obtain data for blocks that no longer exist in the main chain/branch (including stale blocks) is to execute the getchaintips RPC command. This command appears to be dependent on how long the specific node has been running (as blocks that are not in the main chain have no reason to be downloaded to newer nodes).

Unfortunately, I no longer have access to the node or data I had setup in 2013 and therefore I have a limited set of stale blocks to deal with (my current node is only several months old).

Alternatively, I've ran this command on an online RPC query here but the earliest recorded block height is 283,421. Luckily, this also allows me to query getblock and actually view the information from the discarded blocks, but does not list any blocks before 283,421 (Mined in January of 2014).

The online block explorer Blockchain.info keeps track of stale blocks but sadly they only go back to block #291,122.

While doing a bit of googling, I was able to find more of an "extensive" list on PasteBin which dates back to block height 179,641. However, I cannot use getblock on any of these hashes from my node as it was not in existence when these blocks were originally mined.


My question: Are there any ways to query for stale blocks that have been discarded without requiring a node old enough to witness them?

1
  • 3
    Keep in mind that there may have been orphaned blocks that propagated so poorly that they were never even seen by any node that did such archiving. So the records will always be slightly incomplete. Another thing is that it's trivial to create backdated fake "orphaned" blocks. I don't think there's an incentive other than to screw with your studies, but it's cheap to do the POW for sufficiently old blocks.
    – Jannes
    Commented Nov 19, 2018 at 6:10

1 Answer 1

2

I don't see how you'd get data about old reorganized blocks except by having access to an old node that saw them happen.

Simply put, a node that was only synchronized after the reorganization occurred will never even see the reorganized block.

Not the answer you're looking for? Browse other questions tagged or ask your own question.