user124461: In Bitcoin, many forks occur when multiple miners mine blocks at the same time. Then there will be multiple blocks at the same block height.
I was looking at the Bitcoin P2P developer guide at https://developer.bitcoin.org/devguide/p2p_network.html
For propagating blocks, a relay sends an "inv" message to its peers. The peers request header info with "getheaders" and relay responds with "headers" message. Then the peers request block info with "getdata" and relay responds with "block" message.
In this case, how can peers be assured of getting multiple blocks at the same block height? A relay could deliberately propagate "inv" and "headers" messages for only one of the blocks at the same block height.
How can peers even know that a fork happened? Is getting the information about the fork the responsibility of the relay or the peer?

user208: A security assumption is that nodes are connected to at least one honest peer. If all of their peers are malicious, is is perfectly feasible for them to withhold information about certain blocks or transactions from a victim. Look up eclipse attacks, if you want to know more about this style of attacks, or the mitigations that exist against them.

124461: <p>In Bitcoin, many forks occur when multiple miners mine blocks at the same time. Then there will be multiple blocks at the same block height.
I was looking at the Bitcoin P2P developer guide at <a href="https://developer.bitcoin.org/devguide/p2p_network.html" rel="nofollow noreferrer">https://developer.bitcoin.org/devguide/p2p_network.html</a></p>
<p>For propagating blocks, a relay sends an &quot;inv&quot; message to its peers. The peers request header info with &quot;getheaders&quot; and relay responds with &quot;headers&quot; message. Then the peers request block info with &quot;getdata&quot; and relay responds with &quot;block&quot; message.</p>
<p>In this case, how can peers be assured of getting multiple blocks at the same block height? A relay could deliberately propagate &quot;inv&quot; and &quot;headers&quot; messages for only one of the blocks at the same block height.</p>
<p>How can peers even know that a fork happened? Is getting the information about the fork the responsibility of the relay or the peer?</p>
 208: <p>A security assumption is that nodes are connected to at least one honest peer. If all of their peers are malicious, is is perfectly feasible for them to withhold information about certain blocks or transactions from a victim. Look up eclipse attacks, if you want to know more about this style of attacks, or the mitigations that exist against them.</p>
