1
A largely abstract question (set) I've tried to answer for awhile is the nature of a TxID (32 byte hex Transaction ID hash).
First and foremost, I certainly understand the main function if this value(?) is to uniquely identify a Transaction (primarily to tracks unspent outputs, AKA UTXOs).
But let's take a random TxID, say e151de4f5a339ed545e24ecfc8f811f9143fefc10574af40721a156ff2d3a389.
- How is a TxID assigned to a Transaction?
- Are 2 identical Txs that: double spend, have identical k PRNG-signed (so not a RNG!) sigs, identical inputs/outputs (a lot of assumptions here) given identical hashes?
- Tangentially: are the Big/Little Endian expressions of TxIDs (by BCI and bitcoincore respectively) suggesting two different usages (ie TxIDs are values in one sense but akin to URIs in another: is this normal?)
I know the questions seem somewhat disparate but I think the best summation is what exactly are TxIDs?
To clarify: a Tx formed from identical components except the signature will have different hashes, correct? How does one calculate the Tx hash from a raw Tx exactly? (ie is it a double SHA256 of the raw Tx with(out) appended SIGHASH?) – Wizard Of Ozzie – 2015-03-16T07:39:11.237
1
Yes, different signatures means a different transaction. It's not quite as simple as hashing the raw transaction. See this link.
– David Schwartz – 2015-03-16T09:24:16.540