Why there is 'consensus hash' in a name preorder tx but not in a name registration tx?


#1

What is consensus hash used for?


#2

It identifies which fork-set the Blockstack Core node belongs to (note that the database log Blockstack embeds within the Bitcoin blockchain is fork*-consistent). Please see the virtualchain paper for details.

A consensus hash isn’t present in the NAME_REGISTRATION transaction simply because we didn’t have space to include it :wink: . However, it doesn’t affect the fork*-consistency property of the Blockstack name database, since the pair of NAME_PREORDER/NAME_REGISTRATION transactions constitutes a single operation on the database.


#3

Thanks very much! You are so kind!!

So what will consensus hash be compared with? It is used when a Blockstack node scans the Bitcoin transactions and compares the current consensus hash from network with the consensus hash in the transaction? If it is same then the transaction is valid?