Can anyone explain to me what the difference is between a hash chain, transaction chain and a blockchain?
-
1$\begingroup$ Welcome to Cryptography. These words did not come from heaven to your mind! Could you add where did you see them and what confuses you? $\endgroup$– kelalakaDec 3, 2019 at 11:59
-
$\begingroup$ @kelalaka lol, that's right! I'm currently developing a small API that lets developers verify the integrity of their data(base). After creating a SHA256 of the data, I'm pushing it to a database where it will be stored along with some other info, like timestamp, api key and the hash of the previous record in the database. So I guess I'm a little confused how to call such a system because it feels like a blockchain but it doesn't have multiple transactions inside the block, only 1 per block.. $\endgroup$– user10198470Dec 3, 2019 at 12:57
2 Answers
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 master
or 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.