Imagine we have 2 nodes that perform money transfer. Node A initiate a money transfer from one account to another and node B is responsible for completing this transaction. So to complete this transaction node A has to send some TRANSFER request to node B, and on success node B has to respond with confirmation of TRANSFER request. The possible problem that I see is following: upon reception of TRANSFER request node B executed the transaction but fails to send a response. So node A thinks that request was failed and report a problem, but transaction actually was completed.
Even if considering 2-phase commit protocol(where node B upon reception of TRANSFER request doesn't commit transaction, but only execute it and wait for some commit confirmation from node A) there may be similar problem: when node A send TRANSFER commit request it can't be sure that node B received that request and transaction was actually completed(even if this request was delivered to destination host we can't be sure that it was commited by some process).
How to tackle this problem or is it really a problem?