3
Bitcoin 0.10 uses getheaders to synchronize. How long has this message been supported by other clients? How many existing nodes support it?
3
Bitcoin 0.10 uses getheaders to synchronize. How long has this message been supported by other clients? How many existing nodes support it?
4
How long has this message been supported by other clients?
It was added by Satoshi in Bitcoin v0.3.18 (released on december 8th, 2010)
How many existing nodes support it?
All of them. It has been used by SPV clients for a long time to do fast synchronization without downloading all historical blocks.
Was the
headersmessage also there along with thegetheaders, or did thegetheadersuse to respond with blocks? – scravy – 2018-09-24T15:57:04.980The
headersmessage was also there. – Pieter Wuille – 2018-09-24T17:53:20.617The
headersmessage includes a transaction count which is always zero, bitcoin-core even skips it with a comment "assume it is 0". It looks like this was supposed to ease writing software that could just apply its block parsing logic on that message. But technically that number of transactions is superfluous, right? So I believe it is just a historical artefact that does not serve any future purpose? – scravy – 2018-09-25T09:25:56.3801That's right. At the time, there was no separate CBlockHeader and CBlock; a header was just a CBlock with no transactions. – Pieter Wuille – 2018-09-25T11:01:54.177