How does the receiver of a transaction check the whole chain of ownership?
There would have to be a public hash-to-transaction mapping somewhere.


Yes. There is a database of utxo - unspent transaction outputs. To be correct - it is an index of blockchain file.