I have Electrum open, with the "Coins" tab visible. I see a lengthy list of unspent transaction outputs (UTXOs) which I am referring to as coins. These are coins that I have received. I can very easily craft a transaction with specific coins. I can select the coins that my friend Bob sent me last year and send those specific coins to my friend Dylan.
https://bitcoinelectrum.com/how-to-spend-specific-utxos-in-e...Admittedly that link was a terrible example. Block Explorer only shows the address associated with the transaction input but if you want to see the origin of specific coins regardless of whether an address is being reused, you can get the information from the "list of inputs" field in the raw transaction.
In this overly contrived example with single input transactions, if Dylan wants to recurse up tx inputs to the tx between Bob and me in order to verify that he received some of the same coins, he can do the following:
uptx(){
curl -sS "https://api.blockcypher.com/v1/btc/main/txs/$1" | jq -r .inputs[0].prev_hash
}
uptx "$(uptx f57cd4acc4b67d819f78d6cd7f17d1dded436735a6c7765afe40269581d2098a)"
> 32c8f56bbee2b79f71b285697f3b41990091ddc37b667aeb4cb83c1d7be2a847