user323: According to the Protocol Specification, the txn_count field of a Block Header is always set to 0, why is that? What are the intended future uses of this field?

user403: Because no transactions are included in the message. I don't think there is any intended future use.

user734: The headers message is sent in response to a getheaders message.
The txn_count is always 0 simply to make the parsing of this packet compatible with the parsing of the block message.
getheaders is designed to be used by a simplified client, however since there is no way to get partial merkle branches using the standard protocol this cannot actually be done.

323: <p>According to the <a href="https://en.bitcoin.it/wiki/Protocol_specification#Block_Headers" rel="noreferrer">Protocol Specification</a>, the txn_count field of a Block Header is always set to 0, why is that? What are the intended future uses of this field?</p>
 403: <p>Because no transactions are included in the message. I don't think there is any intended future use.</p>
 734: <p>The headers message is sent in response to a getheaders message.</p>

<p>The txn_count is always 0 simply to make the parsing of this packet compatible with the parsing of the block message.</p>

<p>getheaders is designed to be used by a simplified client, however since there is no way to get partial merkle branches using the standard protocol this cannot actually be done.</p>
