0

I want data on as many stale blocks as possible. Is there a way to ask peer nodes to run "getchaintips" and get their results?

Previously, I used Blockchain.info's API call for this, but it seems like they deleted their data on stale blocks (even when I directly search for a known stale block's hash, no results are found).

I've also heard of using merged mining data to find extra stale blocks, per Stifter et al 2019. This method was used to find many stale blocks that weren't propagated to nodes run by certain websites; the paper looks at stale blocks from Decker and Wattenhoffer 2013, Blockchain.info, Bitcoin.com, and ChainQuery.com. However, this method misses many stale blocks that those websites picked up.

My current best idea is to ask as many peers as possible for their "getchaintips", but I don't know how to do this. Can someone help, suggest an alternative method, and/or provide some of their own data?

1 Answer 1

1

You can’t. Nodes don’t respond to messages about stale blocks because this would be a fingerprinting vector.

7
  • Forgive my ignorance, but in what ways could this fingerprint be abused? Mapping the connectivity of other nodes in the network? Mapping the network's distribution of competing chain tips? I can understand this for tor-only nodes, but for nodes with public IPs its not as obvious to me what the attack vector would be.
    – chytrik
    Commented Apr 3, 2020 at 21:41
  • Giving nodes a persistent identity is clearly a bad idea for privacy. Being able to specifically link them to transmission broadcasts would be possible for example.
    – Claris
    Commented Apr 3, 2020 at 21:42
  • Right, I was sort of on the right track then. That makes sense, thanks.
    – chytrik
    Commented Apr 3, 2020 at 21:45
  • @Anonymous I understand that. However, the Stifter et al 2018 paper states that "a limit of thirty days is imposed on how far back stale blocks will be served to peers." They reference the Bitcoin source code on GitHub, but I haven't found the exact line yet. So there must be a way to ask for stale blocks less than 30 days old, right?
    – fillup07
    Commented Apr 4, 2020 at 14:34
  • github.com/bitcoin/bitcoin/blob/…
    – Claris
    Commented Apr 4, 2020 at 15:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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