I’ve been trying to wrap my head around the IOTA Tangle protocol, and there is one thing I don’t understand. When a new transaction is added, it needs to connect to two preferrably unvalidated transaction (tips) and validate them. For the validation of a transaction, all paths from this transaction to the genesis transaction should be followed to determine sufficiency of funds for the sender of the transaction in the tip. If there are sufficient funds, the transaction is validated.
But this algorithm does not seem take into account transactions that have taken place on the senders account which are not in the tree under the selected tip, but rather connected somewhere else in the tangle. Hence the sender may be allowed to send funds s/he does not have. I am sure I am missing something, but just not sure what. I’ve tried to consult the literature but could not find anything on this. Can anybody enlighten me and explain how transactions that are not under the selected transaction for verification are taken into account as part of the verification process?