Let's say a simple Ethereum blockchain consists of ten blocks which is distributed across 10 network nodes. Now, for whatever reason, an error has occurred which has enabled all nodes to agree that the blockchain is correct, even though block five is missing from each node's version of the blockchain.
My question is, how does the blockchain resolve this hypothetical situation? I know that node consensus would resolve the issues due to the existence of multiple versions of the blockchain, but this situation is different. In this scenario, we know that block five is missing from all versions of the blockchain, and therefore, we cannot trust that the transactional information in blocks six to ten is valid.
Perhaps if we consider a blockchain that operates purely within digital domains, then the blockchain could revert to its transactional status at block four. This hopefully returns digital currency back to the appropriate wallets — seems logical — yet it still has the potential for users to relinquished of digital currency that they have rightfully exchanged. Futhermore, if we use a blockchain as a mechanism to transfer physical assets, for example an asset management system, then reverting to a previous state is less practical — physically returning all assets to the original owner outlined in blocks one to four may be extremely resource consuming, not financially viable, and how can we trust that it will actually happen?
Will some transactions just be lost? Will the blockchain only be valid from block six? Will it require the creation of an entirely new blockchain? If this situation occurred, I cannot see how it can be fully rectified and trust in the system maintained?
I ask this question programming perspective: I'm currently using C++ to model a blockchain. However, please note, I'm not questioning how could a blockchain accidentally distribute an invalid blockchain to all network nodes — hashing and mining principles wouldn't allow this situation. I'm asking what would be the resolution should that scenario hypothetically occur.