EIP-2124 fork identifier section in the specification currently has the following statement:
Starting with
TRANSITION_POS_BLOCKthat has block numberN, nodes MUST updateFORK_HASHby appendinguint64(N)to the sequence of hashes used to calculateFORK_HASHas per EIP-2124.
FORK_NEXTcan remain0after the transition.
Suppose the local node is syncing and haven’t reached the TRANSITION_POS_BLOCK yet while the transition has already happened in the network and the TRANSITION_POS_BLOCK is known to the remote peer the node tries to connect to. The remote peer has updated its FORK_HASH with TRANSITION_POS_BLOCK according to the aforementioned statement, and, thus, local node will disconnect the peer because of incompatible FORK_HASH values.
A straightforward way to prevent the network from falling apart because of uncertainty around TRANSITION_POS_BLOCK is to keep FORK_HASH unaffected by the Merge. The question is: can and should we do better?