Can anyone explain to me what the difference is between a hash chain, transaction chain and a blockchain?
A hash chain is a sequence of hashes of blocks. Each block consists of the hash of the previous block, and (optionally) some data. These can be seen a special case of a Merkle Tree, that is one with only a single branch.
A transaction chain is a hash chain with the data being lists of transactions, instead of arbitrary data.
A blockchain is a Merkle Tree with a consensus algorithm to determine which branch is the "correct" one. Typically other branches get discarded, but not always. E.G.
git uses a Merkle Tree internally to verify the directed acyclic graph of commits, with a specially named branch (usually
main) maintained by some user as the cannonical chain.
Cryptographically they're all identical, unless the consensus algorithm of a blockchain involves cryptography. Not all of them do, eg permissioned blockchains simply require authorization by the chain administrator to add a block.
Difference = none.
A block chain is a linear series of data inter connected by cryptographic relationships. In your case it would be sha256.
What constitutes data is entirely irrelevant and totally data agnostic. Do not confuse a generic block chain with Bitcoin. The data does not have to be transactional or singular. It could well be photos of my pet tortoise eating goldfish.
The block is just a thing. The data within could also be individual SQL transactions, multiple transactions, or if you have a proper database the recovery logs. You can shove whatever you want into the chain. This is a cutting edge of IT research/marketing.
The important thing is that the chain 's integrity can be maintained and verified by cryptographic hashing, with all of the usual security proofs.