Commonly used Bitcoin addresses have the security of 2160 (due to the RIPEMD-160 hash). This means that Bitcoin is based on the fact that 160-bit security is good enough. If someone breaks 160-bit security, the very most bitcoins are in trouble.
TXID is used to determine previous inputs. For each input, you need to specify the TXID and the output number you want to spend. But TXID is 256-bit. If 160 bits is good enough, why do we need to enter 256 bits for each input? Why doesn’t TXID have only 160 bits as well? This would save 12 bytes for each transaction input, reduce blocks, etc.
If this is for historical reasons, why do some other unrelated cryptocurrencies (e.g. Ethereum) use the same scheme (160-bit address, 256-bit TXID)?