6
I've been reading through the Bitcoin P2P protocol documentation as well as experimenting with Bitcore library but confused about one thing.
So getblocks seems to return inventory objects, which are just pointers, so you have to make another getdata request using those inventories to get the actual block.
And getheaders seems to return headers from starts to stop.
They act similar, except that getheaders returns more than just the pointers. I'm confused here because I feel like getheaders should be the "light mode" which only downloads small amount of data compared to getblocks. This is also shown by the fact that getheaders download up to 2000 headers by default while getblocks downloads up to only 500 inventories.
So am i misunderstanding any of this? Why does getheaders return more information than getblocks AND also return more results that getblocks (2000 vs 500)?
Thank you for the answer! – Vlad – 2019-06-01T14:02:31.040