If a (light) SPV client asks a full node for the Merkle branch containing a specific transaction (or the value of an address), how does the full node find this transaction (or the UTXOs) in the blockchain?
Does the full node scan linearly through the entire blockchain or is there a faster way to link transactions and blocks?